My favorite projects combine multiple disciplines, and this clock is probably my best example.
I started by finding three old-fashioned 500uA analog ammeters on eBay and then designing new faces for them to display Hours, Minutes, and Seconds.
To build the body, I milled and glued purpleheart lumber into a 14″ square and then cut it into a circle using a bandsaw jig. I drilled 3″ holes to push the ammeters through and then cut a thin sheet of aluminum into a triangle to add a slightly steampunk look.
I designed and etched a circuit board and wrote software to set and drive the clock using an ATmega328p microcontroller optimized to use very little power. The four D batteries will power the clock continuously for many months at a time.
For anyone curious about the technical details, it does this by sleeping as much as possible. About four times per second, the microcontroller wakes up, powers up a DS1307 serial real-time-clock from Adafruit that I had assembled a year earlier, gets the current time via i2c, powers down the RTC, updates the PWM current being sent to each ammeter, and then goes back to sleep.
A rotary encoder is used to set the clock (necessary for time zone changes, daylight savings time, etc.)
I chose about four times per second because that’s the effective resolution of the ammeters – at that frequency of updates, the second hand appears to sweep smoothly like a Rolex.