After becoming a full-fledged time-nut (I’m compiling a new Linux kernel on my second NTP server as we speak), I have started to use the statistics that I usually install on a server just to keep a check on it. Sure, when installing something like MRTG, it’s great to see if something is clogging the system, but mostly, it’s unused. But when working with an NTP server a lot of factors start to make a difference. The temperature of the processor (the whole computer actually, mostly due to crystal drift), the load of the CPU’s, etc.
I’m currently using MRTG to do the necessary measurements like network load, CPU temperature, and load. But I’m going to install a Bosch BMP180 sensor tonight so that I can have ambient temperature and barometric pressure. These are other things that can affect the performance of both the crystals on the server and Ethernet card (in this case, it’s a Raspberry Pi, so it’s the same crystal 🙁 ), but also the GPS receiver. Here you can find some great advice here on how to setup your monitoring of the NTP server. There’s also a lot of useful information on how to build and set up a Raspberry Pi Stratum-1 NTP server, although some of the data is a bit outdated.
I’m using a U-blox Neo 7M GPS module that I bought on eBay with a pigtail connector and a better antenna. But I’m only using the GPS module to get the necessary time down to seconds because the GPS unit is a generic navigational type, not a time-precision unit like the NEO-M8T or LEA-M8T. Instead, I’m feeding the 1 PPS signal from a Trimble GPSDO to get better sub-second performance.
But the new server is using a board by HAB Supplies designed especially for the Raspberry Pi using a U-Blox MAX-M8Q, still, a consumer GPS unit, so it’s going to be fun to compare the performance compared to a “real” time GPS. My confidence in the board is not high though. With the board I got the power and PPS LED indicators didn’t work. The power LED is missing (It’s broken off the board) and the transistor driving the PPS led is dead.
I connected my oscilloscope and checked both the serial communication and the 1 PPS signal, and they are both working, but with a broken off power LED and a non-working transistor that is supposed to drive the Timepulse LED, it’s hard to debug. I’ve contacted HAB Supplies two days ago, but still haven’t got a reply for a replacement board, so I’ve decided to desolder the broken components and repair the board myself. That will spare me the hassle of having to send the board to England and then wait for a replacement.
The funny thing is, I’m ordering stuff from China on eBay all the time and have never gotten a broken piece of kit, but when ordering from Europe it doesn’t work. Things are changing.
A Better GPS board
If your thinking of buying the HAB Supplies board, here’s my tip. Buy the Adafruit Ultimate GPS HAT for Raspberry Pi instead or if you have soldering skills, get a generic U-Blox GPS module on eBay for $8 and connect that to a Raspberry Pi. You only have to solder one little wire from a resistor to get the PPS signal out. Then you can attach it to GPIO pin 18 on the Raspberry Pi. You also need to connect 3.3V power, GND, RX and TX signal and your up and running.