Accurate Time On Your Pi, The Extreme Way

The Raspberry Pi is an extremely versatile little computer, but even its most ardent fans would acknowledge that there are some areas in which its hardware is slightly lacking. One of these is in the field of timing, the little board has no real-time clock. Users must rely on the on-board crystal oscillator, which is good enough as a microprocessor clock but subject to the vagaries of temperature as it is, not so much as a long-term timepiece.

[Tobias Mädel] has tackled this problem in a rather unusual way, by dispensing entirely with the crystal oscillator on an older Pi model  and instead using a clock derived from a GPS source. The source he’s used is a Leo Bodnar mini precision GPS reference clock, which includes a low-jitter synthesiser that can be set to the Pi’s 19.2 MHz required clock. Unexpectedly he also required a simple LC low-pass filter which he’s made on a sheet of PCB material, because the Pi at first appeared to be picking up a harmonic frequency. The Pi now has a clock that’s sufficiently stable for tasks such as WSPR transmission without constant referral to NTP or other timing sources to keep it on-track.

It’s a short write-up, but it brings with it a further link to a discussion of different time synchronisation techniques on a Pi including using a kernel module to synchronise with the more common GPS-derived 1PPS signal. We’ve not seen anyone else do this particular mod to a Pi before, but conversely we’ve seen a Pi provide an RF time reference to something else.

What’s More Accurate Than A GPS Clock? The OpenPPS GPS Clock

Making a GPS clock is a relatively straightforward process on the face of it. Buy a GPS module for a few dollars, hook it up to a microcontroller board of your choice, pick the appropriate library and write a bit of code, et voila! A clock with time-wonk bragging rights!

Of course, your GPS clock will always tell the right time, but it won’t be really right. Your microcontroller will introduce all sorts of timing errors and jitter, so at best it’ll only be nearly right. [Rick MacDonald] has been striving to quantify and minimise these errors in his OpenPPS project, which aims to be as accurate a GPS time and frequency reference as possible.

In a very comprehensive multi-page write-up, he details his progression, through the GPS modules he used, his experience with timing jitter when he used an ESP32 alone to process their output, and then his experiments with an FPGA and then temperature-compensated oscillators. It moves from being a mere description of a GPS clock into a fascinating run-down of both GPS timing itself and the development pitfalls he encountered along the way. At the end of it all he has a GPS clock in a smart 3D-printed enclosure which he admits as yet doesn’t do anything more than tell the time, but as he points out it’s a clock with minimised jitter, delay, and drift, and it remains an ongoing project that will evolve into a full-blown time and frequency standard.

If your taste in GPS clocks is far more simple, there are plenty of projects showing how a more basic one can be produced.

A Talking Clock For The 21st Century

The Talking Clock service is disappearing, and it’s quite possible that few of you will be aware of its passing. One of the staples of twentieth-century technology, the Talking Clock service was the only universally consumer-available source of accurate time information away from hourly radio time signals in the days before cheap radio-controlled clocks, or GPS. You’d dial (on a real dial, naturally!) a telephone number, to be greeted with a recorded voice telling you what the time would be at the following beep. Clocks were set, phone companies made a packet, and everybody was happy with their high-tech audio horology.

[Nick Sayer] used the USNO Master Clock telephone feed to see in the New Year, but had to make do with a voice from another time zone. It seems that there are no services remaining that provide one in Pacific time. His solution to the problem for a future year? Make his own Talking Clock, one that derives its time reference from GPS.

At its heart is a SkyTraq Venus838LPx miniature GPS module coupled to an ATMega32E5 microcontroller. The speech comes in the form of pre-recorded samples stored on an SD card. There is a small on-board amplifier to drive a single speaker. For extreme authenticity perhaps it could be attached to a GSM mobile phone module to provide a dial-up service, but he’s got everything he needs for a New Years Eve.

Want to hear what that that bit of nostalgia sounded like? Check out the quick clip below. As for modern replacements, we’ve had at least one talking clock here in the past, but not one using GPS.

Continue reading “A Talking Clock For The 21st Century”