A clock with 5 hands to show Time and Date

Similar projects worth following
I am lousy on mechanics, and certainly not a clockmaker. This project works around my non-skills, by using 3D printed parts, and just 1 gear per hand, plus two servo motors. The rest of the action is in the software, where I do have some competencies.

This has been worked on for 6 months now (on-off, like all hobby projects).

The 3D design is in OpenSCAD, all parts are printed, except for a few 10x10mm profiles for the sliding servo carriage. Well, the clockface is printed on paper, too. 

The mechnism should be obvious from the picture - one servo slides the other servo up/down to the right gear for a given clockhand. The servo then moves the hands' gear a tooth or two.

Servos can only move 180 degrees, so the turning servo is lowered below the lowest gear when it needs to "rewind" before moving back to a handgear to advance it further.

Software/electronics is a simple small Arduino, and a standard clockchip. The software uses the VarSpeedServo library to move the servos slowly to avoid breaking plastic.

The clock face is supposed to be slightly enigmatic. The letters are calender-items, and makes it language dependent, but with seven and 12 letters in a circle, respectivly, should make it understandable anyhow. The ordering is by how many increments there are, not fastets to slowest. Lastly the hands will point exactly at a value (ie. the hour hands moves once an hour, never positioned between two hours at half past)  The large drawing of the face with hands shows the time end of the close of the Tell Time contest.

The clock has been shown at Makerfaires (with some fudging as the mechanism is unreliable at the moment). As 3 hands only move at midnight and the hour hand only moves (obviously) once an hour it is not an eyecatching exhibit. A set of mirrors will show the innards next time. When the mechanism is reliable a button push with let the clock show some event in the future (like the next exhibition opening), or the current time. It takes it a minute or two to move all hands to an arbitrary date/time or back to current time.

Outstanding :

Design lacks a feature that allows the clock to (re)set at power up, assuming the clock chip is correct. Some sensor to know handposition when passing a mark? Currently all hands have to be manually moved to 12 o'clock before applying power.

There is no way to set the clock chip, this is done by loading a seperate program to the Arduino and then reloading the clock program. A button to advance hands will come "real soon". (It will be tedious, but with the clockchip battery, only needs doing very rarely)


Clock face. (English abbreviations)

svg+xml - 91.36 kB - 12/22/2019 at 23:31


  • 1 × DS1307 board with battery Clock chip, on board battery to keep time
  • 2 × Hobby Servo motor
  • 17 × 3D printed plastic parts
  • 4 × Makerbeam 10x10mm about 100mm in total

View project log

Enjoy this project?



Bret wrote 01/09/2020 at 01:06 point

Will you share your SCAD file?

  Are you sure? yes | no

Michael Möller wrote 7 days ago point

Yes. Now, should it be a messy, fudged, tweaked mess (which is the state now), or should it be an organized, structured version? I have done many versions, so I am not even sure ifthe current file is the current pieces, (tweaks to get fittings "just right")

  Are you sure? yes | no

Bret wrote 7 days ago point

I understand :)... hmm scad files work well in git, I'd recommend that so you can keep track..

  Are you sure? yes | no

Mike Szczys wrote 01/06/2020 at 22:24 point

This is brilliant! I'd love to see a clip of it in action.

The issue of multiple plates moving at once is an interesting one but your solution sounds like it'll work. A springy piece mounted above and below the drive gear would do the trick I think.

  Are you sure? yes | no

Michael Möller wrote 7 days ago point

I've tried a "ratchet/indent" spring mechanism but it was not reliable/strong enough.

Video of early test is being uploaded ... as I type. 

  Are you sure? yes | no

Dan Maloney wrote 12/23/2019 at 16:58 point

 My first question was how this deals with different number of days in a month. Then I saw the stack of gears and the moving servo, and I got the idea. I like it.

Any reason not to go with a continuous-rotation servo rather than having to raise and lower it to deal with the limited rotation range?

  Are you sure? yes | no

Michael Möller wrote 12/23/2019 at 17:28 point

Continuous servos you can only set a rough speed, not position - unless you're thinking of some industrial grade servo with full encoder. And I do not want one servo/hand. This design could be expanded to  more hands and still have only two motors.

  Are you sure? yes | no

Dan Maloney wrote 12/23/2019 at 17:35 point

Gotcha, makes sense. Nice job, BTW - I like it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates