Another cheap PPS GPS module from Garmin

It wasn’t much more precise then the USB GPS.
The accuracy was about the same.

My USB PPS GPS:

https://community.ntppool.org/t/usb-gps-with-pps-and-pretty-cheap-too/1586

So I combined it with my Garmin RS-232 GPS+PPS as listed above.

I reach a pretty good accuracy now:

210 Number of sources = 8
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
GPS                        17  10   257    +37.458     83.403    -12ms  5924us
GPS2                       19   9   290     +5.619      7.475  -6640us   710us
PPS                         6   6    38     -0.225      3.238    -70ns    11us
PPS                         7   4    48     -8.022      5.128    -61us    25us
210 Number of sources = 8
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
#- GPS                           0   4   377    14    -19ms[  -19ms] +/-   53ms
#- GPS2                          0   4   377    13  -6066us[-6065us] +/-   51ms
#* PPS                           0   3   377     6  +2635ns[+3819ns] +/-   13us
#- PPS                           0   3   377     8   +155us[ +155us] +/-   32us

I fugured that since both receivers don’t have the same reception receiver and antenna, they combined give a far better accuracy then each of them alone.

The config I’m using now it this:

# GPS on RS232 isn't needed for total time.
refclock SHM 0 poll 4 refid GPS offset 0.532 precision 1e-3 maxlockage 32 delay 0.1
refclock SHM 2 poll 4 refid GPS2 offset 0.134 precision 1e-3 maxlockage 32 delay 0.1
refclock SHM 1 poll 3 refid PPS lock GPS offset 0.00075 precision 1e-8 prefer
refclock SHM 3 poll 3 refid PPS lock GPS2 offset 0.1013 precision 1e-8 prefer

It depends on where the sat’s are on the horizon if one or the other is better or not.

At the list of TimeTeamBelgium I’m pretty good listed most of the time, where I used to be almost always the least accurate.

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp-main-1.oma. .EXT.            1 u  143  512  377   10.255   +0.257   1.753
*ntp-main-2.oma. .MRS.            1 u  327  512  377    8.724   -0.208   0.997
-heppen.be       .PPS.            1 u  249  512  377   27.182   +0.018   1.313
+ntp0.nl.uu.net  .GPS.            1 u  128  512  377   21.547   +2.366   1.313
+time1.esa.int   .MRS.            1 u   74  512  377   16.187   -0.089  10.944
+ptbtime1.ptb.de .PTB.            1 u  111  512  377   26.447   +0.060   1.228
+ptbtime2.ptb.de .PTB.            1 u  493  512  377   27.515   +0.308   1.567
+ntp1.rrze.uni-e .DCFp.           1 u  342  512  377   21.880   -1.098   2.282
+ntp2.rrze.uni-e .MBGh.           1 u  467  512  377   22.517   +0.435   1.172

I’m mostly in the upper part of accuracy now and not dead last :slight_smile:

In short, it helps to use multiple GPS+PPS devices and put them about 1 meter apart of eachother.
Different brands have different antenna’s and different receiver-chips, combine them does help, help a lot.

However, if you do want to use just 1 GPS+PPS, I can recommend the Garmin RS-232 version (soldering needed), else the USB version is good second.

I also set Chronyd and GPSD at Nice -20 and Realtime-scheduling in systemd.

nano /lib/systemd/system/chrony.service

then add this under [Service]

Nice=-20
CPUSchedulingPriority=rr

Do the same for GPSD. It will improve accuracy a lot as the CPU gives it maximum CPU-time and priority above everything else.