Sync PC Clock from the FT5D
Using a programming cable and an NTP utility, I can easily sync the time (off grid) on my Ultra Portable PC by simply plugging the Yaesu FT5D into the PC.
Although this article references the FT5D and is based on using an FT5D as a GPS source for syncing a PC clock, the same can be done with any NMEA based GPS source such as the QLG2 GPS kit from QRP labs for example. Or, if you’ve built the QRP Labs WSPR beacon and included the GPS kit, you can use this as your GPS source. You can also use any commercially available GPS module, such as a USB GPS dongle.
Synced PC Clocks for Digital Modes
Many digital modes such as FT8 and JS8Call depend on the transmitting and receiving stations to have their clocks synchronized, usually to within approximately 1 second. There are many services and utilities which use time servers over an internet connection to sync your clock to a reference, usually one or more NTP servers.
When syncing your PC clock, there are two factors to consider and understand. The first is the time source and accuracy of that source, and delays introduced from how that source information is delivered to your PC. This includes latency in networks or serial data streams.
The second factor to consider is how to adjust the clock when a delta is discovered between your PC clock and the time source. The simplest method is to change the time instantly, or all at once. Another method would be to gradually adjust the clock, or, if possible speed up or slow down the clock slightly to sync the time in a non abrupt manner. This is most needed for example when needing to set the clock back, which is sometimes more problematic than setting the clock forward.
NTP Sources
Many operating systems use NTP services to sync the PC clock. NTP is reasonably accurate, however, the method in which the NTP client updates the clock could be problematic for digital modes. NTP is a good source for accurate time, but network latency and the NTP client clock update method might not be ideal.
Utilities such as Meinberg NTP client can, for example, provide the necessary methods for adjusting the clock, gradually rather than suddenly. Sudden changes forward or backwards are problematic with digital modes. Using Meinberg NTP is an improvement over the older NTP clients built into Windows for example. There are newer clever methods for which time information latency can be compensated for.
In fact, Meinberg NTP client is recommended in the WSJT-X installation guide over the built in Windows 10 time sync capability.
GPS Instead of NTP
GPS is one of the most accurate sources for time, since it is delivered directly to a GPS receiver, eliminating potential network latency from NTP sources. However, there is latency between the GPS receiver and the PC, as the GPS data is provided in the form of a serial data stream, at a low baud rate (4800 or 9600 bps). Further, there could be buffering either at the GPS device and/or at the USB virtual serial port if connected to the PC via USB.
Many GPS sources can also provide a 1 pps signal which can further improve the accuracy of the clock sync between the GPS source and the PC. However, this 1 pps signal would need to be processed by the time sync utility on the PC. This signal is sometimes presented over the serial port from the GPS, but few PCs have native serial ports to connect the GPS source to. Using a USB serial adapter may provide access to this control line, but may also introduce latency because USB ports are high speed serial ports.
NTP and GPS (without using the 1 pps signal) appear to be similar in terms of accuracy, assuming the NTP time source is the same as the GPS time source.
Syncing the Clock Off-Grid
Awhile back I wrote an article about Ultra Portable PCs for emergency or portable operations. Depending on the PC or device you’re using, you may not have a built in GPS receiver nor an NTP source to set the PC clock from.
In my case, using a GPD Pocket device, I do not have a built in GPS receiver. Further, I purposely never connected the GPD Pocket PC to the internet. My intention for this PC is to be able to use it completely off the grid which excludes internet access. This means I do not want to rely on an internet connection to sync the clock.
USB GPS Dongles
There are inexpensive GPS dongles which can be connected to a PC, Mac, or Pi which can be used to sync the clock from. These usually connect via USB. These can be found from Amazon and similar sources.
The FT5D as a GPS Device
I recently wrote an article about using the Yaesu FT5D as a GPS source for the Yaesu FT-991A. Since the FT5D can output it’s GPS Data stream over the serial port, that stream can be consumed by a utility on a PC to extract the time and sync the clock.
There are two methods to connect the FT5D to a PC. There is a cable which connects the FT5D data port to a DB9 RS-232 port (CT-169). If your PC does not have an RS-232 port (how many PCs these days have one?), you can use a USB to RS-232 adapter.
Alternatively, if you’ve purchased a programming cable such as from RT-Systems or the SCU-19 from Yaesu, you can connect the data port on the FT5D to the PC via USB.
Meinberg NTP and NMEA
Meinberg NTP can use a serial NMEA data stream as a source for time. An article has been written which explains the setup in detail. Note that I did not need to perform many of the steps in the article since I already had the most recent version installed.
I connected my FT5D to my desktop windows PC and configured the FT5D COM port to 4800 baud and to output GPS:
Since I already had Meinberg NTP installed, all I needed to do was add the line to the NTP configuration file to include and prefer NMEA on COM9 (when I plugged in the FT5D to the PC, it was assigned to COM9) as a source:
server 127.127.20.9 minpoll 4 prefer # NMEA serial port
The IP address specified is in the format 127.127.20.x where x is the COM port number for where the NMEA data stream is coming from.
Within a few seconds, I was able to verify the NMEA source was working:
Note the first line is the NMEA source in the image above.
Updating the configuration file and verifying operation is covered in the linked article above. I was unable to reduce the types of NMEA sentences the FT5D was sending, as described in the article. The goal is to reduce the amount of data being streamed from the GPS as much as possible, and ideally only having the date and time sentences transmitted.
Ultra Portable PC Configuration
Now that I was able to verify Meinberg NTP can use an NMEA serial data stream as a source, I installed Meinberg NTP on the GPD Pocket PC. I then added the same configuration line for the NMEA data source, using 127.127.20.5 since the FT5D was assigned to COM5 on the GPD Pocket.
I purposely set the PC clock to an incorrect time and within a few seconds, it had been corrected.
Minor Issues
I ran into a minor issue on the GPD Pocket. Once the FT5D was plugged in, my mouse pointer became erratic. Apparently Windows 10 thought the GPS data on the serial port was a mouse. Luckily I still had the device manager open. I was able to tab over, select the incorrectly detected Microsoft Mouse device and disable it.
Another issue you might run into is Meinberg will keep the serial port handle, so if you attempt to use programming software to program the FT5D, a port error will occur. Simply stop the Meinberg NTP service in windows, which will release the COM port, and start the service after programming is completed.
Final Thoughts
Using any NMEA GPS data stream to sync a PC clock for digital modes is easily done with Meinberg NTP. As for the GPS source, you can use the FT5D or similar HT which outputs GPS data, or any other device which outputs an NMEA GPS data stream.
Using the FT5D allows me to easily sync the time on the GPD Pocket off grid. Since I had already purchased a USB programming cable for the HT, I avoided having to purchase a GPS dongle. All I need to do is plug the FT5D into the GPS Pocket and Meinberg NTP will keep the clock synced.
Although this method does not provide the most accurate clock sync possible, it’s close enough for digital modes. I could use the WSPR beacon’s GPS and the 1 pps signal to improve this method. If I do try this method, I’ll update this post.