Raspberry Pi NTP Server Clock and Statistics LCD Display
This is a simple Python program for displaying time and statistics on an Adafruit CharPlate LCD for Raspberry Pi on a Raspberry Pi NTP Server.
A lot o people (aka. Time-nuts) are using Raspberry Pi's for setting up an very accurate NTP server. You can use the Raspberry Pi GPIO pins and feed it a PPS time pulse and optimise the kernel so both the kernel and the NTP server uses the PPS signal to discipline it to an accurate (depending on the PPS source) NTP server. Sources for the signals are usually a GPSDO (or any GPS that outputs a PPS signal) or a Rubidium clock.
I wanted to have a display to see the accuracy, how many connected users and naturally the time, so this is the result. Future plans include changing the background color if something is out of spec.
The clock displays several views. They rotate round according to a list with a time value for how long to display each view. It's easy to rearrange or remove views you don't need.
First and formost, if you have a server that is synced to atomic clocks, you want to see the time. The "Big Clock" code was written by Adrian Allan and adapted for my use.
Offset and OS Jitter
Precision and Stability
Connected users and the highest connection count by a user
As described above. It shows how many computers that is currently connected to your NTP server. The second line shows the highest number of connections from a single user.
More views and switching the RGB backlight color if out of spec are planned...
Either clone or download the zip and unpack it in a suitable directory. Do a
chmod +x display_ntp_stats.py
to make it executable. If you want to have it to autostart, just do a
and add the line
@reboot /<install directory/display_ntp_stats.py &
to crontab, save and it will start the clock display on every boot.