Ordered me a new GPS

Hi all,

I have ordered myself a new GPS…

It is a bit expensive but should do PPS and 5Hz via USB. I hope, else I need to solder again :slight_smile:

Let’s see how it works.

I already have the normal Garmin in place, doing PPS via RS-232, this one should better.

Fingers crossed.


I’ve heard USB isn’t ideal for PPS? Or is the difference negligible?

The important thing is getting the PPS signal to the computer.
If PPS is delivers this: PPS → serial/USB converter → Computer (with USB),
The jitter depends on the serial/USB converter. I saw ~1 msec jitter with an old converter (e.g., USB 1). With a USB 3 converter the jitter was only a few microseconds.

Question: The GPS 18 LVC provides a PPS signal. I can’t find any documentation indicating that the GPS 18x 5Hz provides PPS.


If it’s not too late, you might want to cancel that GPS 18x 5Hz order and reconsider, or at least order the GPS 18x LVC.

I have used a GPS 18x LVC since 2009, and the Garmin site indicates security updates through 2017, so you can be sure it’s an ancient receiver and newer ones are going to be much better, if for no other reason than supporting more than 12 channels (simultaneous satellites used).

The reason I suggest the LVC over the 5 Hz is the latter is going to emit NMEA sentences five times per second. Most software is going to be easier to use with once-per-second NMEA.

Also note the 5 Hz model is not USB-connected, but RS-232 (ish). That’s OK, because the USB version would have an ancient internal USB UART converter that will likely give you 1ms jitter. You will need to be comfortable with doing some soldering. You can get its 5V DC power supply from a USB A port, and wire its ground, RX, TX, and CD lines to a DB-9 serial connector. If you’re using a desktop, get a PCI serial card. If you’re using a laptop, definitely look for a USB 3 serial port to get the jitter down to a useful figure.

Sadly, no one seems to offer recent GPS receivers at an affordable price with PPS that’s not a bare board. I’d love to find out I’m wrong about that.


Very good point. In fact, it offers 5PPS! That’s not going to work for any software I’m aware of.

4.4 Measurement Pulse Output (GPS 18x LVC & 18x-5Hz only) … 21
4.4.1 One-Pulse-Per-Second (PPS) Output (GPS 18x LVC Only) …21
4.4.2 Five-Pulse-Per-Second Output (GPS 18x-5Hz Only) …22

Source: https://static.garmin.com/pumac/GPS_18x_Tech_Specs.pdf

1 Like

About 4 years ago as part of a throwaway test I tried three different USB-Serial converters: No-name (USB 1.x), Sabrent (USB 2.0) and FTDI (USB 3). The FTDI had lower offset & jitter than the others. My notes from this time are poor. If there is strong interest I could rerun the tests.


I do have the Garmin 18LV already and it works well.

But I wanted to try the 5Hz PPS, so I ordered the other one too.
Soldering is no issue, I soldered the other one too and my severs have native RS-232 connectors.
I couldn’t find if it’s also USB or not, not that it matters.

As for the software, 5PPS is supported by Chrony.

The way to set it is:

poll poll

Timestamps produced by refclock drivers are not used immediately, but they are stored and processed by a median filter in the polling interval specified by this option. This is defined as a power of 2 and can be negative to specify a sub-second interval. The default is 4 (16 seconds). A shorter interval allows chronyd to react faster to changes in the frequency of the system clock, but it might have a negative effect on its accuracy if the samples have a lot of jitter.

dpoll dpoll

Some drivers do not listen for external events and try to produce samples in their own polling interval. This is defined as a power of 2 and can be negative to specify a sub-second interval. The default is 0 (1 second).

rate rate

This option sets the rate of the pulses in the PPS signal (in Hz). This option controls how the pulses will be completed with real time. To actually receive more than one pulse per second, a negative dpoll has to be specified (-3 for a 5Hz signal). The default is 1.

So it should be something like ‘poll 2 dpoll -3 rate 5’, have to work it out, but Chrony is able to read it at 5Hz.

As such I want to see if it’s any better then the 1Hz version :slight_smile:

Well I have tested all day long…5Hz PPS sucks,

No other word for it.

GPSD doesn’t know what to do with it. And doesn’t create an SHM for it.

PPS and other not work either.

Do not buy the Garmn 18x 5Hz…get the normal one that works fine.


1 Like

Have you tried using it directly with Chrony, rather than via gpsd? From what you said earlier, it sounds like someone got Chrony working with 5Hz PPS, and Garmin does claim the GPS 18x 5Hz has 5PPS.

You said the PPS doesn’t work. Have you tried plugging it into a RS-232 gadget with LEDs to watch for the flashes, or connected a LED yourself across the PPS and ground line?

Something doesn’t add up, don’t give up yet!

Dave Hart

Thank you for your pushing me…I gave it another day of testing and I found it.

I needed to use pps2 as some others used pps0 and pps1.

ppsfind --help was indeed a big help to find it.

then I needed ldattach 18 /dev/ttyS0 so it would keep the RS-232 port open.

This page helped me a lot!!!


But then change service before change to chrony :slight_smile:

And the config to get it working…

refclock SHM 0 refid GPS precision 1e-3 poll 2 offset 0.160 delay 0.02
refclock PPS /dev/pps2 lock GPS refid PPS poll 1 dpoll -3 rate 5 precision 1e-7 prefer

The wheather is bad today, but I have seen it offset to 0ns, but it goes up and down a bit +/-6ns mostly between that.

I’m watching it now for the rest of the day to see how it works out.

I have a monitor-page at the University of Leuven to see if it’s ticking ok:

UPDATE: SHM works now too, after changing /etc/default/gpsd and wrote for devices /dev/ttyS0 /dev/pps2 and restarted gpsd the SHM module started working too.

As such I use the following config:

refclock SHM 0 refid GPS precision 1e-3 poll 4 offset 0.168 delay 0.02
refclock SHM 2 refid PPS poll 2 dpoll -3 rate 5 offset -0.8 precision 1e-7 filter 4 prefer

The SHM driver is more stable is my humble opinion :slight_smile:



I have used an USB GPS + PPS, it’s fine.

It’s an U-blox 7 made by Navisys Model GR-701W…here is a link:

It’s not terribly expensive and has a good PPS signal over USB.
Most USB devices do not have PPS.
It’s pretty accurate when using the SHM drivers.

The Garmin 18x 1HZ (non USB) is better, but not that much better, it mostly depends how good the horizon-view is.
As the Garmin receiver is a lot more sensitive then an U-blox, as such it locks far easier.

The Garmin 18x 5Hz (almost gave up on it!!) is far beter then any of the 1PPS devices, but costs a lot more, twice as much.

If you want to have a faily cheap and accurate device, the GR-701 is the one to buy, you can’t beat the price for the accuracy it offers.

Do not run a GPS without PPS, it walks all over the place and will be marked a lot as false-ticker.



Unfortunately that’s not a purchase link. I found only one seller so far, TaiwanTrade, who wants USD 50 plus USD 60 for shipping. I’m holding out hope I can find another seller closer to home.

I’ve have some time and an solder iron you can try some breakout boards :slight_smile:

Maybe cheaper in other stores - just as an oveview from Sparkfun.

I have access to a soldering iron, but my software skills far exceed my hardware skills. I feel like my time is better spent improving software, and my money better spent on cheap PCs to test software on bare metal (vs. VMs).

I’m more than happy to pay someone who is willing to turn parts into a working PPS solution that’s not several hundreds of dollars, and can be deployed in places where I help out with software without people thinking it’s a fire hazard (no bare circuit boards). Even my GPS 18x LVC was acquired from someone who took care of soldering the USB and DB9 connectors for me, and I’m not really interested in more of those because the receiver is so old–I have to believe a newer uBlox-based solution is going to have a much tighter PPS.

They are typical even more expensive, 70 USD or so.

I posted some GR701W notes to time-nuts. See [time-nuts] Raspberry Pi NTP server and especially the offset diagram: https://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20200711/2ed29c5c/attachment.png

My 2020 notes indicate: Three models are listed:
GR-701T PPS/Serial interface, TTL signal level
GR-701R PPS/Serial interface, RS232 signal level

The poor performance in this test was largely due to the USB interface.

1 Like

Just my $2 on this topic, if you want a good GPS with PPS support for time keeping, you are better off getting a u-blox LEA chipset as they are made for timing.

I have purchased a couple of these myself and as far as I can tell, they are genuine u-blox chipsets, as these modules are more then likely pulls from dedicated NTP servers upgrading to a LEA-9T (or 10T?) chipset. All you need is a GPS antenna and you are good to go. Being a 8 series chipset, you can change the report rate, but for timing purposes, you only need a steady 1Hz rate on the PPS, as that is what the PPS signal is designed for.

1 Like

Thanks, I had seen your GR-701W graph from a link in an older thread here, where @Bas had claimed much better performance. I saw specs for the GR-701W somewhere mentioning a USB/232 converter I recognize as the same one used by the GPS 18x LVC, so I know it’s not USB 3. I’d love to see recommendations for a low-jitter USB 3 232 converter part or complete device I could cobble with a newer GPS PPS receiver.

Thanks for the pointer. These seem to be some sort of standard form factor board produced by u-blox. There’s a 9T equivalent available for $249 MSRP. [1]

I could probably manage the bit of hardware hackery to get this working with a DB-9 serial port and USB power supply, except it seems they want both 5V and 3.3V supply. I realize in theory it would need a RS-232 driver but my experience has been PC serial ports can handle low voltage operation.

It seems like there’s an opportunity for someone to package these into a simple box with a power supply solution and DB9 cord or port with an antenna as an all-in-one NTP refclock solution. With a low-jitter USB 3 converter integrated there’d be a much larger potential audience.

[1] https://content.u-blox.com/sites/default/files/RCB-F9T_ProductSummary_UBX-18069985.pdf

The PPS rate on ublox receivers is configurable. For example, this command sets it to 16 Hz:

ubxtool -p CFG-TP5,0,20,0,1,16,0,2147483648,0,111

More data to filter makes the synchronization more stable (at the same update interval).

1 Like