Update: You can download the Eagle PCB files for the PPS Pulse Width Extender here.
The PCB is made to fit the Hammond 1455C802BK enclosure.
I have two Stratum-1 NTP servers using Raspberry Pi 2’s as servers. But the two setups are entirely different.
It’s a Raspberry Pi 2 I use a Raspberry Pi 3 that I have connected a U-Blox Neo-7 GPS receiver. But I’m not using the 1 PPS signal coming out of the U-Blox. I have a Trimble GPSDO that I bought from eBay. The unit has two 10 MHz lab reference outputs and one 1 PPS output. But after measuring the signal coming out from the GPSDO, I realized that the timing speed for the seconds “Tick” was only 10 µsec which is way to fast for the Raspberry Pi to pick up as an interrupt on one of the GPIO pins.
Image updated with results from the Raspberry Pi 3
As you can see, most of the values stay in the ±1 µs, but there are values, mostly scattered below 0 that shows up.
Here’s a comparison to my second Raspberry Pi 2 Stratum-1 server, this one using a U-Blox Neo-8Q
1PPS square wave extender
I powered the extender unit with a switching DC power supply at first, but could directly see that I would get an improvement using a DC to DC regulator instead. And the numbers got better. But I decided to try making a PCB with SMD components, making the path for the signal as short as possible. I also found a faster version of the main IC. The new IC is faster by a factor of at least x 10. I also added an extremely low-noise DC to DC converter ADP151 3.3V on the PCB. We’re talking 9 µVRMS noise level. I’ve also added over-volt protection on the output to protect the Raspberry Pi if something should go wrong. I’ll put up a post on the performance with the new device.