3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Make a hard drive constantly spin outside a PC case?

 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.

2 answers
Mar 13, 2010. 7:04 AMdafonso says:
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.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!