USB GPS with PPS and pretty cheap too

Hi all,

I have been looking for a PPS GPS for quite some time.
Most of them are expensive and on AliExpress none of them have PPS.

However, after a long search I found one that is really cheap, about 50~60 Euro/USD depending on shipping.
But beware, when they ship to Europe you will probably charged extra import taxes, for me in Belgium that was 41 euro extra.
Anyway, it’s still very cheap.

You can find the device here:

https://www.etsy.com/nl/transaction/1790998820

You only need to tell GPSD that the box registers as /dev/ttyUSBx (USB0 in my case).

I use Chrony and configured it like this:

refclock SHM 0 refid NMEA poll 4 precision 1e-3 offset 0.1256 delay 0.2
refclock SHM 1 refid PPS poll 4 precision 1e-9 lock NMEA prefer

When you run it, you can expect this:

MS Name/IP address Stratum Poll Reach LastRx Last sample
#- NMEA 0 4 377 24 +1000us[+1024us] +/- 101ms
#* PPS 0 4 377 22 +264us[ +287us] +/- 22us

Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
NMEA 6 3 80 +16.270 108.450 +2372us 752us
PPS 64 56 1008 +0.006 0.263 +55ns 193us

chronyc tracking
Reference ID : 50505300 (PPS)
Stratum : 1
Ref time (UTC) : Thu Feb 13 14:33:01 2020
System time : 0.000005683 seconds fast of NTP time
Last offset : -0.000005592 seconds
RMS offset : 0.000012070 seconds
Frequency : 28.518 ppm fast
Residual freq : +0.001 ppm
Skew : 0.323 ppm
Root delay : 0.000000 seconds
Root dispersion : 0.000054 seconds
Update interval : 16.0 seconds
Leap status : Normal

The USB bus is a bit slower then RS232, but hey, it works and works well.

I have been searching for more then a year to find something on USB that is not that expensive.
I believe this is the one.

Also, Steve bought one too, he can give far better details with his programs and charts.

Your link points to a transaction page behind a login, not to a product page.

Sorry, my bad, try this one:

According to the datasheet the PPS signal is only wired to an external PS/2 connector. The USB doesn’t have a PPS functionality. I guess the PPS signal is software emulated over USB? That would cause the large standard deviation chronyc shows for the PPS signal.

Hi Lammert,

The USB chip is actual a prolific RS232<->USB converter and seen as a “real” RS-232 port.
As such it provides the Carrier-Detect signal.

root@server:~# ppscheck /dev/ttyUSB0
Seconds nanoSecs Signals
1581890648 000235020
1581890648 100208790 TIOCM_CD
1581890649 000190026
1581890649 100181260 TIOCM_CD
1581890650 000163117
1581890650 100188096 TIOCM_CD

The deviation is less then 1ms, however Chrony is able to work out the actual precision:

NMEA 14 7 208 -0.960 22.678 +9303us 1172us
PPS 64 56 1006 -0.000 0.290 -2ns 196us

The offset is -2ns, that is a real PPS-signal.

https://www.ntppool.org/scores/77.109.90.72

root@server:~# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 040: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

I’m happy with it and Chrony seems to be spot on time.
I have never been this stable or more precise.

Also Steven has bought one too, he’s testing and found the same values.

Bas.