Steam Clock
I picked up an old pressure gauge from my local reclaimed building hardware co-op (RE-store!). I’ve had it for several months with the idea to replace the guts with a stepper motor to allow microcontroller control of the needle. In the end it has turned into a clock!
This is the ‘core’ of the meter. It originally had a pressure tube meter movement thing hanging off it. I remove that part and drilled out the copper body to more easily handle power wires.
Where the meter movement itself went now needed to go a stepper motor. This aluminum plate holds the motor. The plate is made of aluminum salvaged from a CommutaCar charger case. The standoffs are from the voice coil assembly of an old hard drive.
This is the stepper motor itself.
This is the stepper motor mounted and the ‘home’ sensor added.
This then is the whole working clock.
Clock components:
- Meter movement itself. (lower left)
- Arduino. (upper right)
- Darlington motor driver. (middle)
- Home sensor. (under clock face)
- Power supply. (on the left)
- Real time clock. (not pictured)
Many of the parts were ‘rescued’ from old hardware. The stepper motor is from an old HP DLT tape drive (each of these drives have 3 steppers in them! Plus a bunch of bearings and a brushless motor). The Home sensor is an IR beam-break (what are those called anyway?) detector. Both its LED and detector are directly connected to the AVR. They are turned on for calibration and then turned back off. The Darlington driver chip was in my junk box. It just provides more current handling than the AVR can do on its own. The real time clock and power supply will be new parts.
When complete the guts will all fit behind the clock face. The arduino will be replaced with a ‘naked’ ATMEGA168 (probably, or a mega8 if the code will fit). The power supply will be swapped out for another regulator since the one on the breadboard doesn’t work very well (it has an overly sensitive PTC thingy that likes to shut it down for no reason). I don’t have the real time clock yet, but it will be a self-contained clock chip with a backup battery. Probably a DS1307.
The arduino code uses two libraries: Stepper, to run the motor, and DateTime, which is used to keep the time. When the RTC is added it will be used to ‘seed’ the DateTime with the real time every once in a while (hourly?). I’m guessing the clock will keep better time than the arduino, thus the desire to resync every once in a while.
The next post will include code!





November 10th, 2009 at 3:18 pm
Great Clockblog! Chris Raplee referred me, looks good.
November 12th, 2009 at 4:05 pm
Can I be the first to guess the time after calibration? 5:47:56pm