Split-Flap Clock - a free 3D model from Shapekit

A desk clock that shows the time on falling flaps, like the departure boards in old stations. Two drums of flaps, 00 to 23 for the hours and 00 to 59 for the minutes, each turned by its own small stepper motor. The flaps over the top of a drum lean forward on a lip behind the window; at every new minute the motor turns the drum 6°, the front flap slips off the lip and falls with a soft clack, and the next number appears. An ESP32 sets the clock from the internet, so it is always right and changes to summer and winter time by itself. A magnet in each drum and a hall sensor give the drums their zero position when it starts.

Parts (each STL is already placed the right way up for printing)
- split-flap-clock-hood-left.stl: The shell round the hour drum, with the end wall that carries the hour motor on two posts, the ESP32 and a driver board, and a slot at the back for the USB lead. The front panel slides into the grooves at the top and bottom of the opening. Print: Standing on its end wall, as saved. No supports.
- split-flap-clock-hood-right.stl: The same for the minute drum: the minute motor and the second driver board sit on its end wall. Print: Standing on its end wall, as saved. No supports.
- split-flap-clock-front-left.stl: The window for the hours. The lip on its back, just above the window, is what holds the flaps: the front flap leans on it until the drum turns far enough to let it go. Print: Front face on the bed, lip up.
- split-flap-clock-front-right.stl: The window for the minutes, with its lip. Print: Front face on the bed, lip up.
- split-flap-clock-middle-wall.stl: Between the two halves: it holds the axle the drums turn on, and on each face a pocket for a hall sensor with a groove for its legs. The notch at the bottom at the back lets the wires through. Print: Flat.
- split-flap-clock-axle.stl: An 8 mm pin pressed through the middle wall. Both drums turn on its ends. Print: Standing on one end.
- split-flap-clock-spool-motor-hours.stl: One disc with 24 holes for the flap pins and the hub tube; the motor shaft goes into the flat-sided hole in the middle. The notch in the rim marks the hole of flap 00. Print: Disc on the bed, tube up.
- split-flap-clock-spool-centre-hours.stl: The other disc of the hour drum. It fits on the end of the hub tube one way only, held by two M3 × 10 screws, and turns on the axle. The magnet goes in the pocket in its outer face. Print: Outer face on the bed.
- split-flap-clock-spool-motor-minutes.stl: The same for the minutes, with 60 holes. Print: Disc on the bed, tube up.
- split-flap-clock-spool-centre-minutes.stl: The other disc of the minute drum, with the magnet pocket. Print: Outer face on the bed.
- split-flap-clock-minute-flaps-00-09.stl: The minute flaps 00–09, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-minute-flaps-00-09-digits.stl: The digits for the minute flaps 00–09. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-minute-flaps-10-19.stl: The minute flaps 10–19, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-minute-flaps-10-19-digits.stl: The digits for the minute flaps 10–19. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-minute-flaps-20-29.stl: The minute flaps 20–29, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-minute-flaps-20-29-digits.stl: The digits for the minute flaps 20–29. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-minute-flaps-30-39.stl: The minute flaps 30–39, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-minute-flaps-30-39-digits.stl: The digits for the minute flaps 30–39. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-minute-flaps-40-49.stl: The minute flaps 40–49, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-minute-flaps-40-49-digits.stl: The digits for the minute flaps 40–49. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-minute-flaps-50-59.stl: The minute flaps 50–59, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-minute-flaps-50-59-digits.stl: The digits for the minute flaps 50–59. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-hour-flaps-00-07.stl: The hour flaps 00–07, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-hour-flaps-00-07-digits.stl: The digits for the hour flaps 00–07. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-hour-flaps-08-15.stl: The hour flaps 08–15, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-hour-flaps-08-15-digits.stl: The digits for the hour flaps 08–15. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.
- split-flap-clock-hour-flaps-16-23.stl: The hour flaps 16–23, each with the top half of its number on the front and the bottom half of the next number on the back, sunk 0.2 mm into the faces for the digits. Print: Flat, as saved: 0.2 mm layers, 100% infill (the flaps are only 4 layers thick).
- split-flap-clock-hour-flaps-16-23-digits.stl: The digits for the hour flaps 16–23. They fill the recesses exactly: load this file together with the flaps as one object for a two-colour print. Print: Together with the flaps above, in a second colour. Not needed when you print with colour changes.

Also needed (not printed)
- Two 28BYJ-48 stepper motors, 5 V, each with its ULN2003 driver board (they are sold together, often in fives). The drums sit straight on the motor shafts.
- An ESP32 dev board (ESP32-WROOM-32, the 30- or 38-pin DevKit), a USB lead that fits it and a 5 V USB charger of at least 1 A. It needs a 2.4 GHz Wi-Fi network for the time.
- Two A3144 hall sensors and two 6 × 2 mm neodymium disc magnets, one of each per drum.
- 4 pieces of M3 threaded rod, 205 mm long, and 8 M3 cap nuts: the rods hold the two halves and the middle wall together.
- 4 × M3 × 8 screws for the motors and 4 × M3 × 10 screws for the drums.
- Jumper wires (female to female, 20 and 30 cm), double-sided foam tape for the boards, a few cable ties, and a drop of superglue for the sensors and the magnets.

Print settings: 0.4 mm nozzle, 0.20 mm layer height, also for the first layer of the flaps, 3 walls, 15% infill (the flaps come out solid anyway), PLA material; matte filament makes the digits easier to read.

Assembly
1. Print the flaps: With an AMS, MMU or other multi-colour printer, load each flap plate together with its digits file as one object, and give the digits the second colour. With one nozzle, print only the flap plates and change filament twice: to the digit colour at 0.2 mm and back at 0.6 mm. The digits then show through the recesses in both faces.
2. Print the rest: The housing halves stand on their end walls, the front panels lie on their front faces, the spools on their discs. Nothing needs supports.
3. Fill the drums: Glue a magnet into the pocket of each centre spool. Stand a motor spool on its disc, tube up, and hang the flaps in by one pin, starting with 00 in the hole next to the notch and going on round: anticlockwise for the minutes, clockwise for the hours, seen from above. Every flap has the top halves of its digits towards the flap before it. Then put the centre spool on top, catching the upper pins one by one, and screw it to the tube with two M3 × 10.
4. Sensors and axle: Push the axle into the middle wall so it sticks out the same on both sides. Lay a hall sensor in each pocket, printed face out, bend its legs into the groove and fix it with a drop of glue. Solder or crimp a 30 cm jumper wire to each leg.
5. Motors and boards: Screw each motor onto the posts of its end wall with two M3 × 8, shaft towards the middle, and plug it into a driver board. Stick the driver boards and the ESP32 to the end walls with foam tape where the 3D view shows them: the ESP32 in the left half, its USB socket at the slot.
6. Wire it: Hours driver IN1 to IN4 to GPIO 13, 14, 27 and 16; minutes driver IN1 to IN4 to GPIO 26, 25, 33 and 32. Both drivers + to VIN (5 V) and − to GND. Hall sensors: the left leg to VIN, the middle to GND, the right leg to GPIO 18 (hours) or GPIO 19 (minutes). Wires to the right half go through the notch in the middle wall and along the bottom rod at the back.
7. Close it: Slide the front panels into the grooves of their halves, push the drums onto the motor shafts, set the middle wall with the axle between them and push the two halves together. Put the four rods through and tighten the cap nuts evenly.
8. Load the firmware: Install the Arduino IDE with the ESP32 boards. Open split-flap-clock.ino from the ZIP, fill in your Wi-Fi name, password and time zone at the top and upload it. The clock turns both drums to 00, then on to the time. If a flap falls too early or too late, change HOUR_TRIM or MINUTE_TRIM at the top of the sketch.

Safety: Small parts and magnets: keep them away from young children, and never let a child swallow a magnet. Power it from a USB charger only.

License: Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0)
https://creativecommons.org/licenses/by-nc/4.0/
Print it, remix it and share it, as long as you credit Shapekit and don't sell the files or the prints.
