Ask Hackaday: How Would You Build A Clock Clock?

Hotel art often elicits less than a glance from most patrons. But we have to admit if we came across a piece like this we’d be compelled to record a video for later reference. That’s actually where the video came from, this was spotted in a hotel called Ham Yard.

The concept seemed familiar to us and a bit of Google-fu brings up our previous coverage of the concept back in 2010. The display is made up of circular analog clocks and we’d wager this is a version of “a million times” by Human Since 1982, the same artist who brought us the earlier concept.

Since we’re covering this once again we thought it would be fun to ask: how would you go about building your own? There are several challenges that come to mind. First, notice both hands of the analog clocks appear to be exactly the same (there is no short hour hand). Driving the coils of a cheap clock directly (a la Lord Vetinari clock hacking) seems an obvious approach. But look closely and you’ll see the hands sometimes move in opposite directions. There must be a simple way to implement the control, or are we chasing a pipe dream of a low cost version for our workshop clock?

[Thanks Munit]


96 thoughts on “Ask Hackaday: How Would You Build A Clock Clock?

    1. Not all countries have public domain, and not all countries recognize US public domain as such. There are a number of countries, for example, where things in the US public domain are considered “no license” and default to a relatively restrictive set of rules. You need to release under an open license in parallel to the public domain.

      TL;DR: public domain is not universal panacea.

  1. Concentric drive shafts would have to be the way to go. I’m sure you could find some really small rotary servos. So it would be 2 for each “clock face.” Hands could be as simple as strips of painted cardboard, or you could get a hold of some sheet metal. Then the edges of each “face” could be the tops of paper cups.

    Seems like a fairly simple build. Could be fun to do. :P

  2. Depends what you call cheap ?
    You will always need 2 miniature electric motors with some cheap control per clock, the power required for each is minimal. Let’s say 3$ (if you don’t buy them like modules at sparkfun,adafruit or the likes)
    The main part of the cost are the many hours of handicraft working to have a perfect clean look, and the hours of design that you try to get for free

    1. You could do it with one motor if you made it so that it manipulated the hour hand by turning clockwise and the minute hand by turning counterclockwise. A pair of slip clutches or a swiveling gear would allow that to happen.

      1. This is probably the cheapest way of achieving the same effect. You’ll have to watch out for mechanical play, though. Therefore, either add sensors that detect the current position, or do some really accurate current sensing to detect when the motor starts moving a hand. In the second case, the circuit itself could already be considered a work of art. Also, the inrush current has to be taken into account in that case.
        As soon as the sensing is sorted out, it is just a matter of alternating directions fast enough.

        On another note, for an exact copy, you have the directions reversed: In the video, the hour hand is turning counterclockwise and the minute hand clockwise ;)

        1. If current sensing can be done cheaply, why not add some type of resistance feature or detent to the drive mechanism at 12:00 on the dial. Then spin the dial until the current jumps. You found 12:00. Any other moves could be assumed based on the last 12:00 move.

  3. Cheap analog clocks typically(?) have an adjustment wheel on the back to set the time. You could actuate that and add an optical sensor to know how many revolutions have occurred.
    My only concern off the top of my head is how long would cheap analog clocks put up with being adjusted at speed like that.

    1. Again, hands are moving in opposite directions. The hands are already designed to move in circles for the clock’s lifespan. Maybe the answer is to design a replacement jig that interfaces the discreet motors (mentioned above) to the back side of the hand shafts.

    1. Sorry. Just spotted on the video (and article) that the hands sometimes move in different directions too. Obviously not clocks.

      My guess it that it just uses 270 motors and optical encoders so it knows when to stop. It wouldn’t be cheap or low power, but I bet that wasn’t an issue.

        1. You detect where the gear is behind the clock face.

          ‘Minute’ hand is on a hollow tube, has a gear on the back. The ‘hour’ hand is on a solid shaft, that goes thru the minute hand and also has a gear on the back. Typical clock mechanism.

          Positioning is done by sensing something on the gear (optical, magnet etc).

          1. …and of course you can’t tell us because of yada yada yada (where yada yada yada = I don’t know).

            Stuff like this (one-offs) tends to be built simply, mass market is where you need to be clever. Old video players (VHS) were a good example of the designs becoming cleverer over time to drive the price down.

            I’d be unsurprised to find a couple of tiny steppers (like you get in scanners) driven by a little micro, all sitting on a serial bus (like DMX or WS2801 LEDs). Under $10 of electronics per clock.

      1. I was thinking that forward could wind one hand and backward could wind the other hand, to make the design a bit simpler with less points of failure. Anyhow my main point was not maths, it was many moving parts, fast failure rate.

      1. 6x13x2 I didn’t watch the video, but is there a reason to move the outer band of clocks?

        edit: okay, I just watched the video. The “outer” “clocks” also move to make patterns.
        Which in my opinion, makes this even tougher, because it is more than just a clock…

  4. I think these radio controlled clock movements are a way to make the arms move independently. These clocks can move their arms independently when auto setting to radio time. They have two independent movements inside, so controlling them each with an h-bridge could be possible. I once took apart one of these (HD-1688 SHENG BANG DCF 77kHz) and it even had some kind of reference point sensor-thing.

    1. Exactly. the basic clock mechanism can be very simple apart from the need to drive two hands independently. I have no clue why some here are talking about servos. You just need to fix up some disassembled cheap clock mechs. Many have only a single impulse motor, so perhaps mount one behind another to manage the two hands. I have been looking but haven’t seen any with separate drive for the two hands. The driver electronics is trivial – bunches of shift registers for driving and monitoring. Apart from some simple user interface buttons, it can be done with about six I/O lines on a microcontroller.

    2. Are you sure that those radio controlled clocks have 2 drives that can move both directions? Would guess they “just” use 2 lavet motors (for price), which turn only in one direction. Using the mechanics of the with 2 “other” steppers should work..
      2 similar hands is blunt easy: just cut the minute hand.

  5. Cheapest way I can think of would be to use 20mm bipolar micro-steppers, driving the “hands” via a concentric shaft arrangement (a bearing, a piece of tubing, and a shaft would work fine, plus a couple of gears).

    The real money would probably be in controlling all of those steppers; for that I would enlist the simplest microcontroller I could get my hands on, and communicate with them over a serial link.

    A homemade clock of this same size (15 x 9) could probably be made for around $2000.00 in materials, maybe a bit less if you can get a bulk discount on the motors.

  6. I think you want to be looking at concentric stepper motors produced for vehicle instrument clusters. The ones I have seen mount direct to a PCB. They have an end stop, but nearly 360 degrees of sweep, so you would simply arrange the end stop to be at 45 degrees to the display so it does not get in the way of forming the digits.

    They are bipolar steppers, so you drive them direct from a pair of complementary PWM outputs from a microcontroller. There’s no end of travel sensor, these things are too cheap for that. You “feel” for the end stop at power up by stepping relatively slowly in one direction and measuring the magnetic coupling between the two coils with an ADC input to the same microcontroller. You see this on some cars as the needles twitch slightly when you turn the key.

        1. Switec’s X27.168 motors have been featured on hackaday a couple of times (disclaimer – that’s my kit – It was featured here before I joined the staff) Switec’s motors were originally used on GM and Ford cars. The original motors had a tendency to fail, so the updated replacements are cheap ($3 – $4 each in single quantities) on everyone’s favorite auction site.

          Switec also makes the X40, which is a dual concentric shaft stepper motor pair.
          The X40 has a mechanical stop at 315 degrees, like most of switec’s motors. The stop can be removed though, but it requires disassembling the motor and the tiny gears that go with it. I’m betting that Switec would mold the cases without the stops if you ordered enough of the motors.

  7. Seen comments saying you would need two motors per clock. But I wonder if it would not be possible to get away with just one and a brake of some sort, e.g. an electromagnet, which may end up a little cheaper (to purchase, as well as to control).
    I’m picturing a gearing mechanism such that the two hands are always rotating in opposite directions, at the same speed, unless the “brake” is in operation, in which case they move in the same direction at the same speed.
    Maybe using the term “Brake” is incorrect, however, I think the basic idea might work. Having them able to move in opposite directions allows you to adjust the angle between them to whatever you desire, and having them able to move together in the same direction enables you to adjust the overall angle of the combination.

    1. To expand a little more on the “brake”, the gearing mechanism I’m thinking of would be something like a differential. If you hold one wheel of a car’s drive, the other one spins twice as fast, but if you don’t hold it, they both move in the same direction.

  8. There are 135 modules so the cheapest way is to make them as simple as possible. Just 2 DC motors with no feed back or just one DC motor and a solenoid driven pinion gear that reverses the the direction relationship between the hands.

    Then use a camera and a Raspberry Pi in the feedback loop.

    For every dollar you save on the output hardware you have an extra $135 to spend on feedback/control.

    1. I knew a guy in northern Minnesota who tied a string from his cuckoo clock weight to a long arm on his fireplace damper, and it would automatically lower the fire at night after he went to bed. He had built himself a setback mechanism for a wood stove, back about the time setback thermostats were first introduced.

      His house was full of Rube Goldberg inventions like that. He even had a homemade elevator running between floors. And his machine shop — stunning! He had built a screw thread gear change box for his lathe out of a Model T transmission, and dozens of other similarly amazing tools.


    ~$620 in servos not including taxes and shipping for your location. Ebay wizards might do better.

    You could modify them for continuous rotation, or add some some gears. Either option would involve many hours of tedious work. Columns could be selected one at a time to be adjusted, then left unpowered to save in controller complexity.

    For the coaxial rods, I would wander around Lowes and Michael’s (big-box hardware and craft stores respectively) for an hour. There has to be a really cheap and easy way to construct the hands from inexpensive parts. Drinking straw with a pipe cleaner inside?

    For 135 “clocks”, I would certainly make some jigs to help construct the various parts consistently.

    1. Really cheap clock mechanisms use a simple solenoid and ratchet mechanism. One short driver pulse gives 1/60 of a revolution. You’d need two such motors per face if the hands are independent. Such mechanisms also have a simple on/off output (often from a photo transistor) to indicate the zero position.

      Drivers can be simple open-drain shift registers cascaded so they can be loaded up with a bit pattern from a micro and then a simple gating signal sends a pulse of current to all selected solenoids together. The zero sensors can also be monitored very similarly, by loading all of the zero position sensors into a cascaded shift register and then streaming that back to a pin on the micro.

      The rest is software – keeping track of which hand is where, how many pulses to step to the next position – not that hard to do actually once you break it down.

  10. I’ve been thinking about this for a while and the path I’m on is to try cheap micro servos (<$3 each) and connect them to concentric drive shafts via simple gearing to allow a bit more than one full rotation, This would constrain the possible path from one position to another, but I suspect steppers would be more complex and expensive. The servos could be driven by very cheap microcontrollers (around $1 each) and all of them controlled by a master via serial. The concentric shaft steppers sound like they would be the best solution from a performance standpoint, and maybe if they aren't too expensive I'll consider them instead of servos.

  11. Considering the huge amount of costly servos needed for this build, I would consider using a computer and a webcam along with normal motors, and using the webcam (pointed at the clock clock) to figure out which motor needs adjustment until all the hands are pointed at the correct location.

  12. I saw this in person a few months back – the Ham Yard hotel is in (surprise!) Ham Yard in London, a couple of streets behind Piccadilly Circus. The clock is lobby area so you can see if you are passing. Really nice hotel by the way.

    In person the clock is silent and great to stand there and watch.

  13. Wow, lots of comments.
    One thing I noted – readability actually suffers at a distance, if the clock “hands” aren’t thick enough. So I would suggest a black “hand fan” between the hands, capable of stretching up to 270 degrees.
    This would help turn most of the inside of each digit into a high contrast dark area, aiding visibility at longer range.

        1. for adjusting the time it would of course be not a problem at all to do it with one directional drives. But for the pattern in the video it is required to have them turn both directions.
          On idea would be to use counter-clockwise drives on one half and clockwise ones on the other half of the “whole display”.

  14. I don’t really know enough about the costs, etc, of servos with feedback. Assuming that is the gating cost factor, and simple motor controls would be cheap, you could sense the position of the hands by mounting small magnets on them (different radius for minute vs hour). Put Hall effect switches behind the clock face. The magnets and Hall effect switches should be pretty cheap, and there are probably only a limited number of places where you actually need to stop the hands.

  15. How about a really, really old school approach? A single drive shaft behind each row of clock faces, turning at a constant speed, with a take off gear behind each clock. Each clock hand could have a pair of solenoid actuated clutch mechanisms, with two each for the hour hand and the minute hand. Energize one clutch to engage an idler gear to rotate the hand clockwise. Energize the other clutch and a pair of idler gears rotates the hand counterclockwise. Either rotary encoders would let that clock’s clutch know when to deenergize, or you could base motion purely by timing the clutch activations, and just have the controller resync itself every time the hand crosses the 12 o’clock straight up position. So instead of two servos or steppers per clock, you’d have four clutches and a set of gears, plus a sync sensor for each hand; plus a set of long, thin drive shafts, a bunch of bearings, supports, and gears, and one big drive motor. You’d have the advantage of constant speed for all motion everywhere, and all motion would be mechanically synchronized.

    The idea is based on water-wheel powered shops in the 1800s and early 1900s, where one long drive shaft would provide power to all the lathes in the shop by means of individual takeoff belts and pulleys.

    You could even control such a display with something mechanical, like punch cards or cams. While it would probably be even cooler to watch than the clock faces themselves, I think the sheer number of tiny complex mechanisms would make for an extremely fragile display.

  16. Vibration motors for GSM phones + optical index sensor? Small cogs and gears could be salvaged from various measuring devices found at scrapyard. Electromechanical power, gas, water etc.usage meters are replaced usually in large batches. That makes process easy repeatable for each module. There’s plenty of space even to use optical rotary encoders from scrapped inkjet printers if you want accurate positioning.

  17. At least it is useful. Most of the clocks on HaD are unreadable junk built for the owner to touch their nipples in superiority. “Oh you can’t read it? Pfft. You probably use Python.”

  18. Here’s another version, little more “dooable” in scale.

    [vimeo 52798481 w=500 h=281]

    I think you’d have to make each clock an independent module, with a communications bus (with timing) to make it all work. You’d need to develop a command set that direct each module to do what you want independantly, in step with the timing. A design like this could scale easily. Or not.


  19. Okay, I’ll give it a shot: Two shafts (one solid, one tubular, as in almost every analog clock ever). On the back side of each is a magnet, mounted transversely on the shaft so the magnetic field is perpendicular to the shaft axis. Now mount two fixed coils around each of the magnets, as in a moving-magnet analog meter/galvanometer. I.e., the shaft goes through the coils and is free to turn inside them. Mount the coils perpendicular to each other, and drive them with analog (or PWM) current proportional to the sine and cosine of the desired angle. Cheap, no gears, no feedback, 360 degree motion. And you can probably drive these directly from the PWM outputs of an AVR, with the other side of each coil going to a fixed 2.5V supply, which means that one ATmega can drive three “clock” modules. Probably could be done for under $2 per module, including PCB, then add another processor to keep time and play the patterns to the modules over i2c.

    1. Wouldn’t the two magnets interact with each other in that setup? (Otherwise, that’s quite clever). I was thinking standard micro hobby servos, geared up 2:1 or better so the output shaft can hit any point in a 360, controlled by a PWM output.

      Either that, or those super-cheap 5V geared unipolar steppers you can buy for $15 in lots of 10, one per hand. The only hard part with them would be that you’d need to find their starting position, or just assume it was known on startup. Get a human to point all the hands to “noon” before powering up.

      In either case, a single micro could drive a section of the clocks – say 4 or 8 of them, and there’d be comm lines between modules, with some master clock controlling the rest. I like the one StephanLeander posted above – I’m going to try to build that.

      With the original one, I was trying to figure out how they’d draw “hollow” numbers, like 8, 0, 9, and 6. I didn’t see any in the video.

      1. Hi Jason,
        Well, it’s a bit hard to explain, so here is one picture that will help for the 2, 3, 4, 6.
        You can guess the 9 (reverse 6), the 5 (reverse 2) and the 8 (mix of 6 and 9, or maybe doing the same effect as in the 4 with two hands in a 90deg angle to simulate a circle/hole, so that the 0 and the 8 are not the same).
        1 and 7 would be easy by using the “empty” effect of the 4 (bottom left).

        Hope it helps.

        I am still waiting for a DIY tuts or a great way to do this…I contacted the agency, they sell it wayyyyy too pricy for me (from 33 000 to 144 000 euros…)

      2. JasonDorie: You are right, the magnets would definitely try to line up opposite each other if placed too close together. This can be eliminated by making the center shaft long enough that they’ve got some distance between them, or by placing a shield between them or a ring of iron around each to provide them with a return path for the magnetic flux. The latter would also improve the torque and efficiency.


        1. Guess you win the cake here, BBJ :-) … not sure how much current your solution would draw, but st least its simple. I myself thought about going to an electro-static approach … a PCB with little plate capacitors (actually only half of them) … above and below the PCB … concentric shaft would of course still be needed and would end at PCB level, inner axis would go through. On both axis there would be (very) small plates representing the other half of the capacitors … Of course all would have to be ultra-light … really just needles and no idea how to fixate them … very light watch hands too … and I’m not sure how much voltage would be required for a controlled motion. Probably the PCB would need inner layers for screening. All that would not be as strong and controllable as your solution, but probably use less power.

          BTW: Because somebody asked if positional feedback could be had via camera … I’m doing that kind of thing for a living … and at least in theory it is quite possible with subpixel processing of the images, but in the end you wouldn’t pay less because you would need some real processing power … and of course it would require a lot of programming and also assume that nobody gets between you and your camera. So in reality at first glance and gut feeling I would believe that this is not the way to go. Better use a camera to make the thing react on visitor behaviour – show the time when somebody starts looking … then start reacting to his movements (or so) …

    1. Hello,
      I’m not electronician (and not a good english speaker ;) ), but could’nt we use “step by step” motor from broken CD player or computer?
      With 8 steps/turn… with should demultiply the movement with a gear (if the motor is stong enough for that…)
      For example 10t-80t, for one pointer of the clock 15 minutes for each full motor rotation.
      Furthermore, the use of the gears facilitates the two pointers on the same axle (like on an ordinary clock)
      Am I totally wrong?
      Interresting challenge, anyway :)

  20. Quartz watches and clocks generally use a small stepper motor. One could drive several small (or large) steppers to control additional dials for day of week, date, while accommodating leap year. Not that it hasn’t been done before . Oh, moon phase. Or an entire planetary system. Maybe hack one of those inexpensive radio controlled clocks to extract pulses (if available) corresponding to daylight saving, and time corrections. Why not a GPS receiver to provide 1-second pulses? Has anyone measured the variation in interval of the 1-second pulses in a 5 dollar quartz clock movement? Pretty darned accurate over a year, in most cases.

      1. Great job Violan, amazing!!! Wish you could share your experience and now-hows, I think everyone here will be very greatfull if you do. Thanks and wish you good luck!!!!

  21. i m only 100 years late but here are my five cents:
    there are clocks for cheap that have an I2C interfacte to set their time for example for schools that have one central point to set the time everywhere. Also at least in my country (germany) you can get super cheap clocks for less than 3 Euro that get their time via a 75 kHz signal. One could hack into these and replace the antanne with your logic
    german wikipedia:

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.