Hybrid Clock - Mechanical Fusion of Digital and Analog Clocks
by shiura in Circuits > Clocks
417 Views, 7 Favorites, 0 Comments
Hybrid Clock - Mechanical Fusion of Digital and Analog Clocks



A 3D-printed clock featuring both digital and analog displays with the following characteristics:
- Both the digital and analog displays are driven by a single motor.
- The current time is automatically acquired and adjusted via WiFi.
- A sensorless origin-finding mechanism.
- Designed for wall mounting with a slim depth of just 50mm.
- A clean appearance achieved through multi-material 3D printing.
Limitation: The minute hand moves once every 10 minutes. In other words, the time resolution of the analog clock is 10 minutes.
Supplies

Material
- Motor : 28BYJ-48 geared stepper motor and driver board comes with (around 3USD per unit) . You can find at Amazon, AliExpress
- Microcontroller : Seeed Studio XIAO ESP32C6 without pin headers
- You could use any other ESP32-based microcontrollers
- Screws : Assortment of 2mm flat head tapping screws. You can find at Amazon, AliExpress
- Lubricant (silicone oil spray)
Tool
- Screw driver
- Soldering iron
- Drill bits (1.5mm and 2mm)
- Knife, scraper and/or file to remove debris, smoothen surfaces and chamfer corners of printed matter
- PC with Arduino IDE
Print Colored Parts




Printing tips:
- Print all parts with supplied posture.
- Only "1min-rotor.stl" needs support structure (at the hook part only).
For multi-material 3D printers:
- Arrange paired models as assembly
- Give different colors for "-letters", "-hand" and "-colored" files
For usual single-material FDM printers:
- Change filament during print using "pause at height" function of your slicer.
- Only rotors can give multiple colors in this case. "front-frame" and "10min-axis" are in single color.
Print Single-colored Parts

Printing tips:
- Print all parts with supplied posture.
- Support structures are not necessary.
Assemble







- Before assembly, clean surfaces touching to the other parts by files or scrapers. It may affect to the smoothness of the motion.
- Clean holes with drill bits.
- For screw through-holes, use 2mm drill.
- For screw tightening holes, use 1.5 - 1.6mm drill.
- You do not need glues.
- Please be aware of the rotational alignments of the parts (hour rotor and 10min-hand axis).
Electronics and Codes




Hardware
- Remove ULN2003 IC in prior to make more space for soldering.
- It is recommended to trim (cut) the four pins of pin header of ULN2003 driver board for the ease of soldering.
- please solder the Seeed Studio XIAO ESP32C6 microcontroller upside down.
- Solder pins (D1-D4 of Seeed Studio XIAO ESP32C6) to the input of driver board directly.
- Solder wires from 5V and GND to the driver board.
- The other type of ESP32-based board could be used also, but the port mapping in the source code should be changed.
- The case model is only for XIAO ESP32C6. The excess motor cable can be stored in the case also.
Software
- Install "WiFiManager" library by tzapu to your Arduino IDE using library manager. It is necessary for configuring WiFi connection using your smartphones.
- Just search with keyword "wifimanager" in library manager, and click "install".
- Compile and flash the demo-xiao.ino (below) to your microcontroller using Arduino IDE, and confirm that the digit shows time from 12:00 to 11:59 sequentially.
- Then compile and Flash the clock-xiao.ino (below), the clock code with WiFi sync.
- Before compile, set your timezone at line #9 of the source code. The code of your timezone can be found at https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv
WiFi Configuration

The WiFi configuration can be performed by your smartphone.
- Connect to the WiFi station named "Hybrid Clock"
- Configuration window may open. If not, please access to "http://192.168.4.1" by your web browser.
- Select your WiFi access point (2.4GHz only) and enter password.
- Tap "Save" and all set!