A nicer voltmeter clock

A deep dive into building a sophisticated voltmeter clock that combines precision woodworking with clever electronic design, featuring custom scales and software-driven analog movements.
A nicer voltmeter clock
Sometimes, electronic circuit design is mostly about wood
Back in 2019, I built a simple voltmeter clock. As the name implies, these clocks use analog panel voltmeters instead of traditional clock faces to display time. I didn’t come up with the idea, so I never really blogged about the design; I just built one and kept it on my office desk.
The idea endures, but most of the designs I see on the internet are needlessly complicated and not all that pretty, so when I decided to build a revised design, I figured it might be good to document it better.
Custom Decals and Continuous Motion
For this version, I opted to use three generic, 90° panel voltmeters. I disassembled them, took careful measurements of the faces, and then printed replacement decals on adhesive paper.
Note that the new hour gauge has 13 divisions, from 0 to 12, while the minute and second templates have 61 divisions, from 00 to 60. This is because I wanted to implement continuous motion for each hand; this meant that at 11:30, the hour dial couldn’t be just stuck at 11; it needed to be moving toward the twelfth division, even if it was never to reach it.
Woodworking Challenges
The cheap meters I’m using have a rather hideous plastic flange. I decided to hide this flange from view and use a recessed decorative pattern to keep the front panel interesting. This made it more expedient to cut the front and back on a CNC mill. The stock material is maple lumber resawn, squared, and planed in my workshop.
The rounded side wall posed a different challenge. For a seamless appearance, I needed to bend a flat piece of wood using a shaped template. To pull this off without a steam bending jig, I had to cut a series of internal notches on the side wall. This allowed the wood to flex more easily. After moistening, clamping, and drying, I glued the curved side wall to the front and back faces.
Electronics and Software
The circuit is far less interesting and took just an hour or so: I grabbed the AVR128DB28 MCU, powered it off a wall wart, and interfaced it to an 8 MHz crystal. The panels are connected to three digital output pins (PC0, PC1, PC2). Finally, two input pins (PD6, PD7) are interfaced to two small pushbuttons used to set time.
Note that the circuit doesn’t require digital-to-analog converters (DACs) to drive the meters; instead, I’m just using a relatively high-frequency, 1-bit digital pulse train. The inertia of the meter and the inductance of the coil inside the meter do the rest, settling in an intermediate position depending on the software-controlled signal duty cycle.
The basic idea of the code is to advance a 10 Hz counter using a timer interrupt synchronized with the crystal. The main event loop computes the appropriate duty cycle and then manually toggles the output pins.
One final touch: the dramatic drop and bounce when the clock resets (retrograde movement) are intentional. It makes the clock a lot more fun to watch, mimicking high-end mechanical watches with retrograde complications.
Source: Hacker News
















