Introduction: 3D Printed Kinetic Servo Clock

Unusual 3d printed clock controlled by two servo motors.

Step 1: Video of Clock in "action"

This is a clock that is abstracted and designed from Aeropic(nick on Thingiverse), which I made it with minor changes to the hardware and the code. Motion is obtained from two RC servos whose arms are connected in a W shape. At the middle of the W sits a screw able to push the minutes arm via a pad. The minutes arm itself can push the hours arm .

Step 2: Modifications

In the original project are used 2x "GWS pico servo" motors, while I use a cheap "SG 90" servos. As these servo motors turn in the opposite direction, I made a change, so that the face of the clock is turned for 180 degrees. Servos are driven by NodeMCU 1.0 (ESP12E) module. The clock being connected to the internet and it can get the time from an NTP server. I have replaced NTP servers in the original code, because the existing ones did not respond. The clock is then able to automatically set the arms at the right time, move the arms every minute and perfom the adequate maneuvers to keep the arms in the right position. It is then really fun to see it doing its mesmerizing job. First picture is from original project , while second picture present my modified project.

Step 3: Schematic

This is a simple schematic of the device.

You can download code on the link is shown below.

Basically there is nothing to modify in the firmware except few parameters to trim.
The dedicated line are all marked with a "<<<<<<<<<<<<<<<<<<<" pattern. Before inserting the clock arm axis you should calibrate the servos. uncomment the #define CALIBRATION line, complie and upload the binary.The servo arms will move every 5 sec from fully horizontal to fully vertical (down pointing). Adapt the servo left and right null values to get the arms horizontal.