PPS from NEO-M9N

Hi there,

We have a NEO-M9N (SMA) unit that we’d like to use for a time server accurate to within approx 100ms. I am able to receive GPS gata on my computer via the USB cable, but I am having trouble integrating the PPS signal into our server. I can see the blue LED PPS light blinking, so it appears the fix is good enough that it should be outputting the signal.

Details:

  • Connection via USB-C output

  • OS: tried in Arch Linux as well as Ubuntu 23.04

  • Packages installed: ntpd, gpsd, gpsd-clients, pps-tools

  • When plugged in, the OS creates the devices /dev/gps0 and /dev/pps0

Output of ppstest /dev/pps0:

trying PPS source “/dev/pps0”

found PPS source “/dev/pps0”

ok, found 1 source(s), now start fetching data…

time_pps_fetch() error -1 (Connection timed out)

time_pps_fetch() error -1 (Connection timed out)

time_pps_fetch() error -1 (Connection timed out)

(continues like this)

Do you know what might cause this error? Is it possible for the LED to be blinking but the signal too weak to pulse the PPS line correctly? Can you even get the PPS just from plugging in the USB or do I have to run a separate serial to USB converter for the PPS? Sorry, I am a bit new to all this so I’m not sure where to go from here.

Thanks.

I have no experience using PPS through USB. I have always used a dedicated connection from the GPS PPS output pin to a GPIO pin. I use GPIO18 on my Raspberry Pi. I have a pi time server how-to here: https://robrobinette.com/pi_GPS_PPS_Time_Server.htm