After seeing the hard drive clock at Alan Parekhs Electronic Projects I just had to make my own. I have plenty of old hard drives, microcontrollers and a programmer so it was easy to get started.
Special thanks to the PICList guys for suggesting the PICkit 2 as a replacement for my old, unsupported programmer and other technical questions I had. The mailing list is a great resource for anyone wanting to get into the world of microcontrollers.
The clock works by removing the top of the hard drive and cutting a slot into the platter. Then lights are mounted underneath and flashed as it spins. By timing it right you can create the illusion of clock hands, color bars or other designs.
What really decided me on building this was coming across this LED strip from
Super Bright LEDs.
An 18" strip with 30 tri-color LEDs for $20 was just too good for me to pass up.
It runs on 12v which was perfect since the hard drive needs both 5v and a 12v supply, so it hooked up nicely. When I make the next version I will replace the reistors with lower values so I can run it off 5v and reduce the number of wires by a few.
It comes with a self adhesive strip on the back, so putting it on was easy too. I wish I had a whole roll of this stuff, very fun to play with.
This meant I did not have to drill holes in the sides of the case, and could do the wiring
internally.
My second change was using a led strip I came across while browsing. This upped the colors to three, and means I have 7 to work with my mixing them together. I had hoped to have a much brighter image but the LED's focus is straight out, not angled down like it should be. A cone shaped white surface to project them onto would be a big improvement.
The clock works because the human eye does not see frequencies above 60 or so as blinking, but as a solid color. This is how we see a TV picture as a full image and not a series of lines being drawn across it. At 5400 RPM this drive spins just over 90 times a second, plenty fast enough to fool the eye into thinking it sees solid hands and not a spinning bar of light.
And the last change is using a 3.5 inch drive. I simply don't have a bigger one, and I wanted something somewhat quiet as well. Eventually I hope to cover the top with plexiglass and have a quieter clock once it is all sealed up.
The code I wrote myself, as I wanted to be able to add new types of displays and patterns to it. It does not assume the drive spins at a fixed rate, but times each revolution and calculates the delays needed to flash the display correctly. I use a timer interupt to decide when to turn on or off the LEDs. I had used a loop comparing the timer value and it worked, sort of. Every few seconds it would glitch and the hands would quiver annoyingly. I was never sure what caused it, but switching to timer based interupts made it rock solid. It's fun to slow the disk down with a finger and watch it still maintain the image until the disk goes too slow for the 16 bit timer to handle and starts overflowing.
Sadly the drive shown is a replacement for my dirst drive which shorted out due to some metal sneaking in under the drive while it was on. The current drive is not well suited, and I had to raise the hard drive motor and elivate the disk above the spindle to make room. But it works until I can find a new drive.
Below are two shots of the project, one while I was still working on getting it up and running, and the second aftter cleaning up the design. Nothing is worse than dozens of little wires running all over your desk just WAITING to short out, come unclipped or get snagged by your <censored> cat. The third is the 'finished' product. I switched from the 16F88 to the 18F252 for the speed and additional timers the bigger part offers.
So what does it look like? Here is video from my YouTube page of the drive in action.
Click on a thumbnail to view the full sized image...
Alan Parekhs Hard Drive Clock - This is the first POV hard drive clock I know about. It's what got me interested in making one myself.
Clock by Jason Amsel and Konstantin Klitenik - A pair of students made this one using a 3.5" drive and RGB LEDs, and a nice big touchscreen!
A German Clock - This one does not have LEDs but is very well done! You can translate it to english if you can't read german.
I am also building a 2.5" Hard Drive Clock from a laptop drive with good progress so far.