Ring Clock

Greg Abbas

I made an unusual-looking clock. It has a minute hand (on the smaller disk on bottom), but instead of an hour hand it has an "hour ring" that hangs from a pinion in mid-air and rotates. The number near the fleur-de-lis on top tells you what hour it is. (It was 6:18 when I took this photo.)

Aside from the atypical physical design, it has another useful property: it syncs its time from the Internet, so it adjusts itself for daylight savings time and never runs fast or slow. This is an article about how I built it. It's not quite a set of instructions that you can follow to build your own, but hopefully you'll find some interesting ideas here. And if you want to know more, please feel free to ask.

The Hour Ring

First, the top part. Credit goes to my daughter for much of the visual design of the ring, I think it came out looking very elegant. It has internal gear teeth, so that the pinion can move it. It's just hanging on the pinion, so you can lift it off if you like. Here's what that looks like:

The ring is about 16 inches in diameter, so I had to separate it into six pieces that were small enough to fit on my 3D printer (a Prusa MK3S). I gave them little tabs and sockets so they fit together like jigsaw puzzle pieces, sized so they fit together very tightly. I banged them together with a rubber mallet, and they hold together with friction... no glue required.

The ring is held aloft by a pinion that has little rails to keep it from falling off. That's driven by another gear, which is driven (via a helical bevel gear) by a stepper motor. Here's what that part looks like:

Spin this 3D view around by dragging on it with your mouse/trackpad! Also, if you want to see it in more detail, click on it to make it fill the window. In full-window mode, you can also use your scroll wheel (or two-finger drag up/down on your trackpad) to zoom in and out. You can do the same thing with any of the 3D models on this page.

I modeled everything in Fusion 360, and my first design was even more complicated because I made it using DC motors (not steppers). That approach had a big problem though: the motors weren't quiet, and I couldn't figure out any way to make them quiet. So instead, I went back to the proverbial drawing-board and created this stepper-based design. But the gears that I needed for the DC motor approach were so fun that I decided to keep some of them, even though steppers don't really need to be geared down.

In the process of making all those gears, I got very interested in how they work: the geometry of involute spur gear teeth, helical gears to reduce noise, and herringbone gears to eliminate lateral force. It's a very fun rabbit-hole.

The other gears are there just to fulfill some of what a second hand does... show some motion so you can tell that the clock is doing something. They have a stepper motor too, with another helical bevel gear that drives a short gear chain. There are gear chains on both sides actually, but I only modelled one side because they're the same gears. Again, two views of the same thing:

The hour gears and these "decorative" gears were designed to fit together very compactly:

To hold it all together, I made a frame that has a back half and a front half, held together with heat-set inserts (I love heat-set inserts, they're so satisfying!) and M3 bolts. The gears sandwiched in between, spinning on 3mm brass axle rods.

Here's what it looks like all put together, with the microcontroller mounted on top:

Not beautiful, but it's designed so the ring pretty-much covers it all up except for the bottom gears.

Electronics

Speaking of the microcontroller, let's look more closely at that. It has a ESP32 chip, two BigTreeTech TMC2209 stepper motor drivers, and a few other small bits. I've never ventured into the world of surface-mount components, so I constructed this by making a custom through-hole PCB (the green one) that accomodates a SparkFun Thing Plus - ESP32 WROOM (USB-C) on top, and the stepper motor driver boards on bottom.

There's also screw terminals for power, male headers on each end to connect to the stepper motors, and a jumper to disconnect power from the ESP32 board for when I want to connect its USB-C port to a Mac for programming.

Also, note the little black 3-pin AH1815 hall sensor. That's to solve the problem that when the microcontroller boots up, initially it has no idea what position the big hour ring is in. I glued a rare-earth disc magnet to the back of the hour ring, and when it passes by the hall sensor, the microcontroller gets a signal. So one of the first things the firmware does is spin the ring until it detects the magnet, so it knows how to rotate the ring into the correct orientation. When the hall sensor registers the magnet again during normal operation (like, every 12 hours) it updates its Bayesian state variables. Unless the event occurs at a surprising position, in which case it assumes that a person manually repositioned the ring so it invalidates its state and repeats the initial calibration procedure.

I chose TMC2209 for stepper control because it has some clever micro-stepping algorithms that make the motors way quieter than other controllers can. I didn't want my clock to sound like a 3D printer.

The logic for the decorative ("deco") gears is a bit different. It doesn't matter what absolute position they're in, only how fast they're turning. I wanted to make them run about 6 RPM, but for some reason they emit an audible noise at that speed. I wasn't able to figure out how to reduce it, so I just slowed them down. I did add some code to modulate the speed with a 1Hz triangle wave though, which means that if the noise is audible (only in a very quiet environment) then at least it sounds a bit like a second hand.

Minute Face

Underneath the hour ring, the minute face has a more conventional design (using a hand to point to ticks on a fixed disk).

You can see better how it works if we hide the face:

There's a stepper motor, but no gears this time; the motor is connected directly to the hand. There's also another microcontroller, with a single TMC2209. Like the hour controller, it has its own hall sensor, so it can sense (through the minute face disk) when the minute hand passes by because there's a disc magnet in the tip of the hand. The magnetic field is just strong enough to be picked up on the other side of the face.

That whole hourglass-shaped "neck" and the curly sculpture on the back are there to allow the minute face to hang on the wall, but hold it away from the wall at the same distance as the hour ring.

The circuit diagram is basically the same as for the hour ring.

Because each part (the hour ring and the minute face) each have their own controller, this is actually not one clock, but two clocks that don't talk to each other. One only tells you what hour it is, and the other only tells you what minute it is.

Questions or comments? Email me at .

2026 May 20