Author Options:

Make a hard drive constantly spin outside a PC case? Answered

 I'm currently working on a POV hard drive clock. Instead of designing and building a separate circuit to drive the motor in the hard drive, I thought I'd just power the circuit board of the hard drive and let that spin the motor itself. I gave it gnd, 5v and 12v and it spun up, fast and stable too.

~30 seconds later, it stopped spinning and the only way to make it spin again was to turn the power off and turn it on again.

Obviously this isn't good for a hard drive clock as it needs to be spinning constantly

So how can I make the hard drive spin constantly?
Can I pulse a request line on the IDE cable every once in a while or do I need to actually transfer data to and from the hard drive? If it isn't too complicated I could program a PIC chip to talk to the hard drive to keep it spinning but I'm not sure about the structure of the data or how to talk to the hard drive.

Anyone know the simplest way to keep it spinning?

Thanks, Louis.


The forums are retiring in 2021 and are now closed for new topics and comments.

10 years ago

The hard disk firmware is programmed to go into powersave mode on boot up. What you'll need to do is send the ATA commands to not stay in powersave mode, or like you said, give it dummy commands.

There is info over at PJRC on how to interface a PIC with an IDE drive, but it requires about 20 bits of IO to do it: http://www.pjrc.com/tech/8051/ide/wesley.html .

To do this in code, you'll need to (and this is all speculation based on reading the docs):
1] Read the status register until it indicates READY
2] Write 0xE3 to the command register

#1 is probably unnecessary. The write cycle looks like you need to set the following bits (copied from docs):

/CS0=0, /CS1=1, A2..A0=111B, D0..D7=0xEH - set write to command register with "no Idle spindown" command

Then pulse the /WR pin low

The easiest way may just be to hook it up to a computer that allows you to set the idle times in BIOS, and do that. See if it saves it permanently.


Answer 10 years ago

 Thanks for your reply but it seems like the hard drive is rejecting all commands.

Since I have taken the read/write arm out and cut a slot into the platter, the hard drive knows there is a problem and gives up.

I read the specification for ATA/IDE and it says that the device must give a ready signal within 30 seconds. So from that I think the hard drive keeps trying to work for 30 seconds then times out. It also says after it won't accept any commands until it is ready.

I'd copy and paste it here but for some reason it won't let me paste it.
It's here anyway ftp.t10.org/t13/project/d0791r4c-ATA-1.pdf
6.3.13 PDIAG- (Passed diagnostics)

Looks like I'm going to have to reverse engineer the control board =(