You can buy an inexpensive hockey puck GPS receiver for about $30. It comes with a short cord and USB plug. It appears to the computer as a COM port and delivers the GPS data as an RS-232 bitstream at 4800 or 9600 baud, depending on the model. At this price point, you don’t get the 1 pulse-per-second output, but you do get reasonably accurate lat/long coordinates and GPS time accurate to a fraction of a second.
I know of two uses for these receivers. One is to pair the GPS receiver with a software program called NMEATime from VisualGPS. NMEATime runs in the background and keeps the PC’s clock synchronized to GPS time. This is very handy for running FT-8, or for operating in a contest where you want contacts to be recorded in the log at the right time. NMEATime version 2 is shareware, with a free trial download and a $20 fee for continued use. An earlier version of the program is free, and works quite well.
The second killer app for a cheap GPS receiver is a feature that is built into Winlink Express. Winlink has a tool that allows you to send a service message to the Common Message Server (CMS) containing your current GPS coordinates and a brief text message. Your position is shown on a map at the Winlink website a few seconds later, and there are various tracking features available for advanced users. Winlink also automatically forwards the message to aprs.fi, so you can use Winlink to drop “bread crumbs” on the APRS map even if your radio isn’t equipped with APRS.
If you have a GPS receiver, you tell Winlink Express which COM port and baud rate to use, and the software takes the lat/long coordinates directly from the GPS. If you don’t have a GPS receiver connected (or can’t “see” the sky from your operating position), you can enter the lat/long into Winlink Express manually to drop a bread crumb. Look for this feature in the Winlink Express menu under Settings .. GPS / Position Reports.
The GPS receiver I have used for several years is GlobalSat Model BU-353-S4. It is widely available, and there are many similar units available on Amazon, eBay, and many other fine retailers. I make no claim that this model is the best or least expensive option out there. I only know that it works with both NMEATime and Winlink Express. It works in my basement as long as I have the receiver near a window or wood wall.
At some point, I purchased a second BU-353 for use with a go-kit laptop. To my surprise, it didn’t work when I initially plugged it in. It turns out that these units need to be configured for optimal use with NMEATime. Even if your unit works right out of the box, it is probably best to run through the procedure to make sure its configuration is optimal. Click here for the details.
Recently, I found another GPS receiver that appears to have better performance than the BU-353. Unlike the GlobalSat unit, it also has the capability to receive data from GPS and GLONASS satellites (among others). I purchased mine from AliExpress for $25. Information on how to configure it is in this document.
Normally, a serial port device can be used with only one PC app at a time. But we want to make the serial stream from the GPS receiver available to both NMEATime and Winlink Express simultaneously. Fortunately, you can download and install a free utility called com0com that splits the incoming serial stream into multiple virtual serial ports. You can then assign one of these virtual serial ports to each app that requires GPS data. I’ll provide instructions on how to set that up at a later date.