[Kwan]’s Clock Displays Seconds, And Thirds

We have no idea if the background story is true or not, but we’re not going to let something like “truth” get in the way of a good story. The way [Kwan3217] tells it, first there were hours on sundials. Then when these were divided into sixty minute sections, they were called “minutes”. “Seconds” comes from a second division by sixty, into “second minutes”. The “third” division into sixty would give a time unit that lasts a sixtieth of a second.

[Kwan3217] built a clock that displays these third minutes. Weighing in at just a tiny bit over 16.6666 milliseconds each, the thirds’ hand is going to be spinning pretty fast, so he used LEDs. And if you’re going to display thirds, you’ve got to get them right, so he backs the clock up with GPS. There’s a full video playlist about it, and phenomenal detail in the project logs.

We really liked the implementation of the state machine that reads the GPS strings. [Kwan3217] leans heavily on a crash state that waits for the next dollar sign — marking the beginning of a GPS NMEA data block. Almost all of his functions that parse the GPS data stream know what kind of data they’re expecting next, and if they don’t get it, they crash out. So while it probably doesn’t really matter if his wall clock misses a GPS message, at least it’ll get back in line with the exact time soon after. Check the code out if you find yourself parsing GPS strings.

And did we mention the circular traces on the PCB? Or the lightpipes?

We’ve run a lot of posts about clocks, and none of them have displayed the thirds. With a GPS-disciplined microcontroller, getting even single milliseconds spot on is no problem. The issue is displaying them. So it’s no surprise that a lot of folks go the opposite direction, telling the time either approximately like the word clocks, artistically like this Berlin set-theory clock, or inscrutably like all the resistor-color clocks or bizarro binary clocks out there.

14 thoughts on “[Kwan]’s Clock Displays Seconds, And Thirds

  1. From the project:

    I went through a couple of iterations. The first design only used 7400 series logic, and kept time by watching the zero crossings on the 60Hz AC mains frequency. A

    third in this case would simply then be one cycle of AC. This design worried me, as I was taught proper respect for high-voltage in electronics class, and anything higher than about 12V is high for me.

    Probably a good thing too, because the mains frequency can drift quite a bit. Worse if there’s a heavy consumer like a mine operating a drag line for example.

    1. Is it that bad in the US of A? Here in Germany the frequency is very accurate and they compensate errors by making it faster or slower throughout the day so that it averages within a few mHz which makes it perfect for clocks.

      1. Growing up in Sweden my family had an analog AC kitchen wall clock. It never drifted noticably from the quartz clock in the kitchen radio the only adjustments were for DST. It stopped when the power went out and you had to give it a push to start. That happened a handful times per decade. The clock looked like 70-80’s tech and I think it’s still running today.

    2. Mains frequency only drifts over the short time, quite badly too. Over a week it may be 20-30 seconds out. However it is a stable source for time keeping over the long term as companies adjust the frequency output to keep the total phase error to typically less than half a minute.

    3. We discussed this here many times. In the long run, clocks that use the mains frequency as a reference will run on time even though in the short run, frequencies may vary by plus or minus a Hertz or so (probably less).

      It’s really not that hard to extract a 50Hz or 60Hz reference signal from a power supply in a safe way, especially a linear (not switching) PSU. But GPS is more accurate (in the short run) and is more fun if you’re into writing software of course. I made one myself, here:


  2. Kind of a shame that the whole world basically uses tenths or hundredths for the next step down.

    Plus you might have to call them Third Minutes, until people mentally backtrack the contraction of Second Minutes to seconds.

      1. On (Mac) System 6 and 7, a tick was defined as a sixtieth of a second. I remember calling some time function in Pascal and getting the function value in units of tick. Why not call a “third minute” a “tick”? Annoyingly, some other OSes at the time (early 90s) defined a tick as a hundredth of a second.

        1. I pretty much consider a ‘tick’ to be 1 ms. A large number of embedded systems use 1 ms timers for general timekeeping, and they tend to call those ticks. Actually, now that I think about it Windows defines a tick as 1 ms as well (GetTickCount, GetTickCount64, etc).

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.