Arduino Boards Control Cheap Clockworks Via Coil Injection

Here’s a couple of clocks that use Arduino boards to control inexpensive clockworks. The concept is quite simple, and perhaps best outlined by [Matt Mets’] article on the subject. As it turns out, these clockworks are driven by a coil, forming a device that is quite similar to a stepper motor. If you solder a wire onto each end of the electromagnetic coil and hook those to a microcontroller, you can alter the speed at which the clock ticks. Just drive one pin high and the other low, then reverse the polarity for the next tick.

The clock you see on the right (translated) is a store-bought cheapy. The Arduino barely visible at the bottom of the image is sending pulses once every second. But as you can see in the video after the break, holding down a button will fast-forward through time. [Sodanam] posted his code as well as pictures of the hardware hack itself.

To the left is a horse of a different color. It’s a clock modeled after the Weasley household clock from the Harry Potter books. The clockwork trick is the same, but the Arduino uses GPS data and NOAA weather information to set the status.


[Thanks Infernoz and Michael]

23 thoughts on “Arduino Boards Control Cheap Clockworks Via Coil Injection

  1. I love it! The first thing that comes to mind is making any clock into a sidereal clock for astronomy buffs. You could have a clock whose hour hand points toward the current position of the moon. Lotsa possibility here!

    1. Sweet!

      WWVB is out, and not getting any easier to receive and decode properly nowadays on account of the radio noise, especially if you live in a city.

      I’d rather use a GPS: that would make a very, very, very precise clock.

  2. I originally started one as a weather condition meter.. it would pull the current conditions and point to “cloudy”. I needed it because i worked in a basement and kept getting surpised with snow in the winter.

    Tons of possibilities. I was thinking it would be cool for a bug counter.

  3. First idea that came to me after reading this article: make a clock, where each tick has a random jitter but still keeps the time. Now this could be an annoing clock, if you have loud one.

    1. Heh, I did this with a Forebrain microcontroller board. It introduces a random jigger of up to half a second. The result you wouldn’t normally notice during the day, but my god don’t try to sleep with it in your room – it will cause you to sleep uneasily and randomly wake up during the night.

    2. BTW, time was kept by resoldering the original wires that drive the coils to a GPIO pin on the microcontroller, allowing you to re-read in the correct number of ticks, and use that to adjust the tick rate to keep time just as well as the original unmodified clock.

    3. Oh yeah, I should also mention that the clock’s winding is essentially a single pole motor, and you can cause the clock to tick backwards if you adjust the tick timings!

      On second thoughts, I think I will post an instructable

      1. I’m curious to know: What the point would be of introducing random jitter into an analog clock?
        Only thing I can think of is for a practical joke – which would be perfectly legitimate! :-)

      2. It was inspired by Terry Pratchett’s Discworld series books, in which one Lord Vetinari had a clock with a slightly random jitter that was used to great effect unnerving the people meeting him in his office. From Wikipedia: “Lord Vetinari also has a strange clock in his waiting-room. While it does keep completely accurate time overall, it sometimes ticks and tocks out of sync (example: “tick, tock… ticktocktick, tock…”) and occasionally misses a tick or tock altogether, which has the net effect of turning one’s brain “into a sort of porridge”. (Feet of Clay, Going Postal). In Feet of Clay Vimes observes that it must have cost him quite a lot of money.”

  4. Has anyone considered using a cheap watch mechanism as a DIY servo?

    It seems that when they are made the shaped metal core where the rotor sits is polarised in one direction to introduce a directional bias.

    This is how the “reversed clock” trick works, you swap the piece over so it is upside-down.

    The trick here would be to degauss just the metal part then apply a constant low level DC current to the drive coil in either one direction or the other to set the direction of rotation.

    If anyone uses this please let me know, I’d be interested to hear what cool projects you have in mind… mailto testing_h at yahoo dot com

  5. I tried this once. No matter what I did, the clock would gain or lose a few seconds every day or so. My rig had a bi-polar coil driver and was disciplined by a GPS receiver’s PPS output. I tried a lot of different variations on the driver circuitry – but the clock would still drift a little.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.