I have four home-built clocks, each using a Raspberry Pi, all with slightly 
different designs, all running gpsd and ntpd (so all are NTP servers on my home 
network). Three are GPS disciplined; one is WWVB disciplined. Two of the GPS 
clocks use the modem-control lines on a serial port for the 1PPS signal, one 
uses the simulated modem-control signals on a USB-connected GPS dongle. One of 
the GPS clocks has a cesium chip-scale atomic clock - specifically, a Jackson 
Labs Technologies dev board with a Microsemi CSAC - for holdover (there’s no 
kill like overkill).

All four clocks use an Adafruit “Pi Plate” LCD board with a two-line display to 
display the date and time.

https://www.adafruit.com/product/1115

The display format could have been anything I chose, but I implemented one that 
looks like this (using a 24-hour time so no AM/PM).

Tue 2021-Dec-07
 06:33:49 MST

They all run the same trivial Python script that I wrote to read the system 
clock (which is disciplined to NTP, and hence to GPS or WWVB time) and drive 
the display. The script runs five times a second. Efficiency is not really an 
issue since this is running on a quad-core processor. An entire core could be 
dedicated to just updating the display. I leave that to the Linux scheduler. 
This approach combines the accuracy of GPS-disciplined time with support for 
time zones and Daylight Saving Time adjustments in the system clock.

The time on the LCD is as accurate as I need it to be, since it’s just a 
human-read display. The NTP time provided by each clock is at least competitive 
with getting the time from NTP servers across the internet. I have another 
Raspberry Pi that uses ntpq to query all of my clocks, along with two 
commercial NTP servers on my network, plus two external servers, and compares 
them. Based on its own measurements, it typically chooses the atomic clock as 
the best reference.

There is undoubtedly a lot of room for improvement in all of this, especially 
in my WWVB clock.

Here is a link of all of my blog articles on clock- and time-related stuff.

https://coverclock.blogspot.com/search/label/Horology

Some of those articles will include links to my GitHub repositories for those 
projects.

Here is an album of photographs of all of my NTP servers, both home-brew and 
commercial.

https://flic.kr/s/aHsmgrizkL

:John

--
J. L. Sloan             Digital Aggregates Corporation
+1.303.489.5178         3440 Youngfield Street
mailto:jsl...@diag.com  #209
http://www.diag.com     Wheat Ridge CO 80033 USA

_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe send an 
email to time-nuts-le...@lists.febo.com
To unsubscribe, go to and follow the instructions there.

Reply via email to