Planetary gear clock - Self adjusting

Planetary gear clock. Nema 14, TMC2208, Wemos D1 mini. Self adjusting.
33h 10m
22× print file
0.20 mm
0.40 mm
313.00 g
219
435
4
5848
updated August 24, 2024

Description

PDF

This is my version of a 3D printed clock. 

I designed it entirely in Fusion 360 and it has now been running for a couple of months. Time keeping is very accurate.

It uses a Nema14 stepper motor, a TMC2208 driver as well as a Wemos D1 mini to drive it all.

I wrote a sketch that will fetch the time from a time server, and set the clock to the actual time starting with both hands at 12 o'clock.

It will actually set the exact time + 2 minutes, move the clock, wait for the real time to catch up and start keeping time from then. You can see it here: https://youtube.com/shorts/3SRxJCChAyA?feature=share

I had to do so to give the clock some time to move the hands to the correct position. It will move the hands clockwise or anti-clockwise according to the time. Whichever is the quickest to get to.

Once everything is printed, it is recommended to pass a tap through the various threads to help. Tap sizes M3, M4 and M5. Make sure not to tighten the screws too much or you risk cracking the parts.

 

A bit about the code:

On power up, the clock will do nothing. It will create a Wifi network that you need to connect to. 

Once connected, it will prompt you to enter your WiFi SSID and password and also ask you for your UTC time offset. If the portal does not open automatically, you can reach it by typing 192.168.4.1 in a web browser.

After this is done, the clock will reset and start operating normally.

The code also has a double reset detection. If pressed twice in the lapse of 2 seconds, it will reset the settings and allow you to access the settings page again.

 

Building the clock:

You can refer to all the attached fusion 360 photos to help with assembly of the clock. I have named them in chronological order to help with the process.

 I have also included a list of all screws and nuts used for it.

I used the Arduino ide to program the Wemos D1 board. Code included in the files. Save all 3 .ino files in the same folder and open the file called Planetary_gear_clock.

You will also need to check if you have the following libraries installed.

  1. ESP8266WiFi.h
  2. TimeLib.h (version 1.5.0)
  3. WiFiUdp.h
  4. AccelStepper.h
  5. DoubleResetDetector.h
  6. ArduinoJson.h

 

This is still a work in progress. I am happy to help and to add to this list to improve building this clock. 

 

Edit 15.09.2022: Added a second motor mount (part 6.2bis) that includes a hole for wall mounting. (Untested)

Edit 06.10.2022: Uploaded new Arduino sketch to fix an issue where the clock did not react when changing the timezone on the Web page.

Tags



Model origin

The author marked this model as their own original creation.

License