Introduction: Building a Retro-Futuristic Tri-Belt Clock - the Ultimate Guide
Ever wished your home décor could be both a functional timepiece and a piece of art with retro-futuristic flair? Meet this Tri-Belt Clock—a design inspired by the material-handling equipment I work with daily, reimagined into something far more fun than a conveyor line.
The idea—and most of the build—came to life right at my workplace, mainly because I was miles away from my fully stocked tool bench at home. That limitation turned into a creative challenge: I designed the entire clock in Fusion 360 so it could be cut from foam board, making my “workshop” essentially a craft knife and determination. The gears were 3D-printed at a nearby shop, and the only tools I actually had on hand were a rotary tool and a soldering iron. My total shopping list? Supplies for the build and a cutting mat.
I share these tiny hurdles for a reason: if this project could come to life with limited tools and plenty of passion, there’s no reason you can’t bring your own ideas to reality too.
How this clock works: This TRI-belt clock uses an ESP32 microcontroller to display time by moving three belts—hours, tens of minutes, and ones of minutes. Each belt is driven by a 28BYJ-48 stepper motor through a ULN2003 driver. A TCRT5000 (KY-033) infrared sensor is placed on each belt to detect its home position, ensuring accurate alignment. The ESP32 connects to WIFI and retrieves the current time using NTP (Network Time Protocol). Based on this time, the motors rotate the belts to the correct positions, using calculated step counts for precise movement. The system also performs periodic auto-homing to maintain long-term accuracy and prevent drift.
The Youtube video included is a simple timelapse—no narration—just the build in action. If you’d like a voiceover version, just drop a comment. Meanwhile, every step is explained here in detail.
Hope you enjoy this retro-futuristic creation as much as I enjoyed the challenge of making it. Now, let’s get building!
Supplies
Materials/Components:
- 3mm - Foam Board
- Water Balloon
- 1 x ESP-32 S
- 3 x 28BYJ 48 stepper motor
- 3 x ULN2003
- 3 x KY-033 IR Sensor
- 2 x 3.7V to 5V Booster module
- 2 x 2600mAH 18650 Li-ion
- 1 x Mini Rocker Switch
- 1 x TP4056 Charging Module
- 1 x 2 inch Masking Tape
- 3mm steel Rods
- 18 x 623zz bearings
- Sewing thread reel(12mm outer-diameter)
- Air-dry clay
- Double sided / Tacky Tape
- Superglue
- PVC / any Black Tape
- 5mm Outer diameter Spring( Click Pen Spring)
- M3 Nut, Bolt & Washers
- Gears - 3D printed
Tools:
- Craft knife
- Rotary tool
- Soldering items
Miscellaneous items: Wires, Sand/Emery Paper, Tweezers, Vernier caliper/Scale, Wire stripper, Glue stick, Pliers...
Step 1: Making the Pulleys/Rollers
To make the pulleys, I repurposed used thread spools — the kind you’d normally see tossed in a corner of a tailor shop. I simply asked a local tailor if they had any empty spools to spare, and they handed me an entire bundle (as you can see in the image). These spools became the foundation for my pulleys/rollers.
To create the crowned profile, I wrapped each spool with a thick strip of air-dry clay. Then, using a makeshift shaping tool — a concave cutout carved from a plastic container lid — I gently formed the clay into the crown shape. The crowning is crucial, as it naturally guides the belt to stay centered during operation. Fair warning: crafting these crowned pulleys is the most time-consuming part of the build. The pulleys aren’t quite finished yet; the bearings will be making their grand entrance in Step 6.
Of course, if you have a 3D printer, you can skip the clay-sculpting marathon altogether and simply print the pulleys. You may need to make slight adjustments to the pulley design from the CAD model provided.
Attachments
Step 2: Cutting the Templates
This step is as straightforward as it gets. Start by taking an A3 printout of the PDF templates provided. Before you hit “Print,” double-check that the scale is set to 100% (1:1). Printers love sneaking in an auto “Fit to Page,” which shrinks everything—and that’s the last thing we want when working with precise templates.
Once your templates are printed, cut them out and stick them onto a 3 mm foam board using glue stick. A sharp craft knife will handle the cutting duties just fine.
Now, a small adjustment I had to make: on the right side panel—where the gear assembly sits—I removed about 1 to 1.5 mm of material using a rotary tool. This tiny recess ensures that the gears have just enough breathing room to rotate freely.
Why the extra effort? Even though I bought “3 mm” foam board, the actual thickness was slightly under. Since my gears were already printed (in PLA), reducing their thickness wasn’t an option—nor a smart one, considering PLA isn’t famous for structural strength. When I assembled everything, the gears began to bind, so shaving off a little foam board solved the issue perfectly.
Step 3: Making the Belt Tensioner
For smooth belt movement—and to ensure the drive pulley gets a firm grip—you’ll need a belt tensioner. I used a small spring with a 5 mm outer diameter, which you can easily salvage from almost any click pen. Just make sure the spring has enough stiffness to hold up under continuous use.
To support the spring, I used a 3 mm rod and glued a matching 3 mm washer into the slot base to act as a stable platform. The setup is simple and effective, as shown in the images.
Step 4: Making the Partition Panels
Next, we’ll assemble the middle partition panels that support the stepper motors. Each partition is made of two pieces—one main panel and a shorter piece that gets glued to it, as shown in the images. Before gluing, position the shorter piece so that its base sits exactly 35 mm above the base of the larger panel. This spacing is important for proper alignment, so take a moment to measure before committing with glue.
For mounting the motors, I used M3 nuts and bolts. I had to grind down the heads of the bolts; otherwise, they’d bump into the moving gear and disrupt its rotation. Once trimmed, I glued the bolt heads onto the foam board panel. These embedded bolts will later serve as the mounting studs for the stepper motors.
I also created the necessary holes for the 3 mm rods in this step. For precise placement and dimensions, refer to the attached CAD model and templates.
Step 5: Fixing the Rods
Now we’ll glue the 3 mm rods to the foam board cutouts, as shown in the images. To ensure the rods stayed perfectly perpendicular to the surface, I made a small alignment tool out of foam board—essentially a mini saddle square. It helped keep everything at a perfect 90° angle while the glue set.
Is this tool absolutely necessary? Technically, no. Foam board has a bit of flex, so you can get away without it. But small misalignments can snowball into major headaches later on. So why risk it? A quick, simple jig now saves you a lot of frustration down the line.
Step 6: Attaching the Bearings to Pulleys/Rollers
This step continues our pulley work from step 1: we’ll be attaching the bearings to the pulleys we made earlier and gluing the pinion gears onto the drive pulleys, as shown in the images. The bearings are simply press-fitted into the pulley/roller for a snug and secure fit.
Step 7: Attaching the Partition Panels
Now we’ll position the partition panels using the spacing specified in the CAD model/templates(31 mm for the minute sections and 34 mm for the hour section) as shown in the images. After that, glue the spacing cutouts in place; these will later serve as the mounting points for the KY-033 sensors which we attach them with a glue gun.
While gluing the spacing cutouts, I intentionally secured only one side of each cutout to the partition and left the other side free. This simple trick makes disassembly far easier if you ever need to troubleshoot or tweak something later.
Once the partitions are aligned and fixed, I attached the side panel. Any excess rod protruding beyond the panel was then trimmed off using the rotary tool.
Step 8: Modifications and Circuitry
By “modifications,” I’m referring to the small adjustments made to accommodate the electronics inside the foam-board body.
Since the TP4056 charging module has built-in charging and charged indicator LEDs, the light wouldn’t be visible through the 3 mm foam board. To fix that, I shaved a thin section of the foam board above the LED area using a rotary tool so the light can pass through.
Next, following the provided templates and CAD model, I made the necessary cutouts and holes for mounting the mini rocker switch and the ESP32-S. The 3.7 V-to-5 V booster module is secured to the panel using double-sided tape, as shown in the images.
All components were soldered according to the circuit diagram included in the supplies section.
Step 9: The Code
When you open the code file, you’ll see two files:
- TRI-Belt-Clock-Code.ino
- credentials.h
In the credentials.h file, enter your Wi-Fi credentials. This allows the Tri-Belt Clock to connect to your network and fetch the current time using the ESP32’s NTP protocol.
Make sure you update credentials.hbefore uploading the code to the ESP32-S.
I’ve included comments throughout the code to help you understand how everything works and to show which sections you can modify if you want to tweak the behavior or customize the project.
That’s it—download the code, update your credentials, upload it to the ESP32-S, and you’re ready to build!
Attachments
Step 10: Making the Belt
I’ve created two styles of numbers for the belt: a cryptic version and a standard version. Why two? When I first showed the clock to friends, the cryptic digits were a bit puzzling—it took a moment to decode the pattern. To make the build more beginner-friendly, I included a normal-number version in the same template.
The choice is yours: cryptic for a futuristic, mysterious aesthetic, or normal for easy readability. Personally, I prefer the cryptic style—it just has that sci-fi vibe.
Once you’ve chosen your style, print the template on A3 paper and carefully cut out the belt pieces with a craft knife. To strengthen them, reinforce the back of each piece with masking tape, as shown in the images.
To set up the home position, the IR module needs a high-contrast mark—a black strip on the white belt. I used a piece of black PVC insulation tape for this.
My clock’s home position is 1:00, aligned as follows:
- Place a small piece of PVC tape just before the “1” on the hour belt.
- Arrange the minute belt pieces so the display reads 1 0 0 when viewed through the front plate.
- Once aligned, mark the corresponding position on the minute belts with a pencil, then stick the tape.
This ensures the black reference marks on both the hour and minute belts line up perfectly at 1:00, allowing the IR sensors to detect the home position accurately (as shown in the GIF).
Attachments
Step 11: Water Balloon Rubber Lagging
When I first tested the clock, the belt occasionally slipped. I needed a simple, cost-effective way to increase friction between the drive pulley and the belt. Sure, I could have 3D-printed rollers with surface contours to boost grip, but that would have been expensive and tedious—I’d already invested a lot of effort in crafting the pulleys, so I wanted a solution that didn’t involve starting over.
That’s when inspiration struck: conveyor pulleys often use rubber lagging to increase friction and reduce slippage. Could I replicate that in a cheap, clever way? The answer: a balloon. Specifically, a water-balloon-type balloon, which I initially doubted—too thin, too fragile, surely it would tear.
Still, I gave it a shot and wrapped the balloon around the drive pulley. To my surprise, it worked perfectly. The friction was just right, and after running the clock continuously for days, the balloon lagging is still holding strong. Problem solved, simply and effectively.
Step 12: Final Assembly
Now, the final step: place the belts into their respective slots and assemble everything, as shown in the GIFs above. And just like that—our build is complete!
Power on your clock and get ready to be mesmerized by your creation.
I had a blast making this, and I hope you enjoyed following along just as much. Stay tuned—I’ll be back soon with another crazy, fun build. Until then, keep making, keep tinkering!
Thank you,
Misfit Maker











