NTP Serial GPS with PPS signal

pete_c

Guru
Redo and update for PFSense.  Note PFSense needs an RS-232 connection with one pin to PPS for time sync.

[sharedmedia=gallery:images:1500]
 
Hardware (all purchased on Amazon) All of the hardware can be purchased for under $30 USD.
 
1 - Neo ublox GPS module as pictured
2 - TTL - RS-232 module as pictured and modded with PPS signal wire
3 - power only USB cable as pictured
4 - external GPS SMA antenna
 
Software to modify and save firmware on GPS module
 
U-Center
 
GPS ==> TTL-RS232 wiring
 
Ground ==> Ground
TX ==> RX on TTL-RS232
RX ==> TX on TTL-RS232
VCC ==> VCC on TTL232
PPS ==> Pin #1 (DCD) on TTL232

Note that the UBlox U-Center application is a bit overwhelming. Just configure what is in the attached jpg.

[sharedmedia=gallery:images:1501]

Tested concoction using VisualGPSView in Windows and Linux (using PlayOnLinux) to work fine using USB connection to GPS module which is a serial and power connection to the GPS module.

NOTE: for NTP with GPS/PPS you need to utilize the TTL / RS-232 board connection to PFSense.

You may want to print out a 3D case for the GPS Module / TTL-RS-232 device. Here is a picture of what has been in place now for about a year.

[sharedmedia=gallery:images:1502]

One last piece that I noticed with the newer U-Blox GPS modules configuration. Both were configured to provide GN messages or for Multi GNSS (aka multiple GPS systems , GPS, GLONAS , Beidu , Galileo).

Needed to switch the modules to GPS "Only". This is so that you see GPS information Longitude and Latitude and number of satellites seen.

[sharedmedia=gallery:images:1503]

Test this by not using any internet NTP servers or pools. See Picture.
 
THU, January 20,2022 Update
 
Built 3 of these devices.  
 
After a couple of weeks the RS-232 to TTL boards burned up.
 
Found the 5 boards purchased from Amazon are using clone Max chips.  Cheap.

Interesting because the pictures on Amazon show the Max chip just fine. All of the ones that I purchased do not have markings on the Max chips.
 
This past week ordered same type board from another seller which are also clones.

Checked them today and returning them to Amazon today.
 
The original configuration that used the same GPS module and RS-232 to TTL board still works fine after a couple of years.
 
Going to Mouser electronics now to order the boards (a bit more expensive).
 
Found an article about this from 2016.
 
Investigating Fake MAX3232 TTL-to-RS-232 Chips
 
1st of February, 2022
 
Everything worked fine with the new RS-232/TTL device except that I was getting these log entries.
 
Note that every RS-232/TTL board that I purchased twice from Amazon were using clone MAX chips.
 
Purchased a few of these from Mouser Electronics.
 
https://www.mouser.com/ProductDetail/713-103990363
 
Jan 10 09:34:49    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
Jan 10 09:19:05    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
Jan 10 09:03:21    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
Jan 10 09:01:13    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
Jan 10 08:58:17    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
Jan 10 08:53:13    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
Jan 10 08:51:37    ntpd    59827    kernel reports TIME_ERROR: 0x2307: PPS Time Sync wanted but PPS Jitter exceeded
 
Fixed it with one setting:
 
I unchecked this option

Services / NTP / Serial GPS / Flags

Enable kernel PPS clock discipline (default: checked).

Not seeing PPS Jitter Exceeded in the NTP logs.



I have asked the PFSense folks to change the verbiage in PFSense so that the default is marked "unchecked".


Also you can purchase a timing type U-Blox GPS but these are closer to $200 versus the el cheap $10 U-Blox GPS.
 
Back
Top