a 3d printed electromechanical clock

Similar projects worth following
The torlo was born out of the idea of using a simple oscillating motor as a power source. The Voice coil of a scarp laptop HDD fit the bill nicely. The Voice coil with its powerful magnets has enough brunt to push a bunch of 3d printed gears .The basic idea of the torlo was adapted from the previous holo clock and taken further. The gears of the clock hang to one side and the rings to the other side of the frame. The voice coil is located in the center of the drive train and is driven by an attiny pulsing it every 2 seconds. The balance wheel when pulsed pushes a cam and a ratchet to turn the clock 2 seconds further. Rest of the clock is a simple drive train driving the minute and hour rings which display the time..

I started with the idea of not using any kind of electronics and just have a contact breaker to make the coil oscillate. My first experiment with that setup worked well but the contacts just kept wearing out and the coil stopped oscillating within a few minutes. Also the timing was not very regular. Eventually i gave up and decided to use a hall sensor and a attiny to oscillate it precisely. But then I hit another snag. The frequency of oscillation was largely dependent on the balance wheels mass and the spring constant of the hairspring ( which was impossible to calculate for a printed part ). After experimenting with a lot of different spring thicknesses and balance wheel masses i could only get the wheel to oscillate at a frequency of 3.5hz without increase the size of the balance wheel substantially.

Ultimately i ended up just pulsing the coil at every 2 second with a on time of 40 milliseconds just to give the balance wheel enough force to push the ratchet with one teeth forward. This also kept the coil running cool and consuming less power. It also sounds less crazy lying on the desk. The attiny can be easily replaced now with a 2 hz oscillating circuit but it is much easier with a msc to set the time and have very low part count.

files at:


  • 1 × hdd voice coil
  • 1 × attiny 2313
  • 1 × 78m05 Semiconductors and Integrated Circuits / Misc. Semiconductors and Integrated Circuits
  • 1 × mosfet

  • prototype 2

    ekaggrat singh kalsi06/07/2017 at 03:02 0 comments

    I felt the clock seamed a little flimsy and added the second leg to give it more stability.

  • prototype 1

    ekaggrat singh kalsi06/07/2017 at 02:57 0 comments

    The first prototype used the final motor and a attiny2313 with a clobbered together pcb. The base is just supporting the clock on one side giving it a sense of floating mid air.

    One snag i ran into was that the base was too light and the clock would topple. So i added 75x5 mm studs in the base to give it some mass

  • final motor

    ekaggrat singh kalsi06/07/2017 at 02:50 0 comments

    after a lot of playing around with cams and ratchets i settled on using a simple ratchet and pawn mechanism to push the clock forward every 2 seconds. The balance wheel rebounded and tended to osculate , so i had to give it some time to settle down and thats why the 2 second period..

    On hind sight if i have to do it again i would use a heavier balance wheel made out of steel or lead to get the wheel to oscillate slowly.

  • motor 4

    ekaggrat singh kalsi06/07/2017 at 02:45 0 comments

    So ultimately i gave up on the motor oscialating on its self and just used a arduino to pulse the motor every 1 second .

  • motor 3

    ekaggrat singh kalsi06/07/2017 at 02:44 0 comments

    For the this i again used a voice coil but this time the motor is timed using a hall sensor and a arduino. This gave a consistent timing but I could not control the frequency as that was determined by the spring constant and the moment of inertia of the balance wheel. It was very hard to get that right with 3d printed parts..

  • motor 2

    ekaggrat singh kalsi06/07/2017 at 02:22 0 comments

    Next i tried a motor using a hand wound coil ( very clumsy) coil on a steel rod . Again i used a contact breaker.. This motor ran well but was a kind of a over kill for the clock and was very clunky.

  • motor 1

    ekaggrat singh kalsi06/07/2017 at 02:17 0 comments

    the first motor I made was using a hdd voice coil. the motor osculated using a contact breaker using a copper strip and a screw. It was very hard to maintain a constant timing as the contact breaker timing varied. I had no idea of how to calculate the frequency of the balance wheel ( still have a very vague idea ) while making this.. I just fixed the size of the balance wheel on the magnet and the voice coil size.

View all 7 project logs

Enjoy this project?



Marc91 wrote 01/26/2018 at 20:28 point

Hi, Where are the precise instructions for building the motor ? Thank you. Marc91

  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