This is a propeller clock. It is a blade with LEDs which rotates at high speed in order to produce the image of a clock. Its function is based on the principle of persistence of vision (POV) and it’s really one of those gimmicky things that every engineer should build once.
Since there are a lot of people out there building propeller clocks there are a lot of great idea’s about them as well. To make a clock special it could be brushlessly powered from the base by using induction, it could have a display in multiple colors by using RGB LEDs, or it could support programmable pictures/animations, etc.. There are so many places to start from. Which is why I chose to start out by just getting a feel for propeller clock design by first making the most basic model I could imagine.
- Build around an AVR ATTiny2313. My favorite AVR to start a design with, switch to something bigger when needed.
- Build around a battery for easy power on the blade. The battery is at the center of where the blade is mounted on the base.
- Has a 20Mhz crystal on board. Just in case. It turned out that I didn’t need it.
- ICSP connector on board.
- Buttons for setting the hours/minutes. They are debounced by capacitors instead of software because I like that analog feel 🙂
- On/off switch.
- Screw attached for extra balance when rotating the board.
On the backside of the board is the secret to the function of the propeller clock. The photo-transistor ! The photo-transistor reacts to IR light and an IR LED should trigger it every revolution to synchronize the blinking of the LED’s on the display. There is an IR LED next to the photo transistor which was part of an idea I had to keep the base even simpler. I would create a reflective surface on a part of the base so I would not need to wire an IR LED to the base. The light from the IR led on the blade would reflect from the reflective surface on every revolution of the blade and trigger the photo-transistor.
But I could not get this idea to work reliably enough so I did eventually wire another IR LED on the base of the clock.
The base of the clock was constructed out of a PC PSU fan and a part of a CD case. To keep the base stable while it rotated the poorly balanced blade it was mounted onto one of the greatest works of the 20th century.
I never did make a schematic for the base of the blade so for now it remains an exercise for the reader to reverse engineer it from the code.
The code is written entirely in C and is pretty straight forward. I used the character set from the Commodore 64 by writing a quick program to rip it from the ROM in an emulator. I included a binary clock just to show off 🙂