Connecting a GPS Receiver to a Laptop PC
To collect live data from your GPS receiver on your laptop you need:
- An RS232 cable, or a USB-serial converter, to connect the GPS to the PC's com port.
- Software, like Windmill, to read the GPS data.
Our Windmill COMIML software runs under Windows 10, 8, 7, Vista and XP. It is available from our on-line data acquisition shop and is currently just £50.
The GPS receiver sends data in a string or sentence. This might look something like this
First, there is a NMEA code ($GPGLL), then the latitude, North or South, Longitude, East or West, Time (hhmmss), Data Valid (A), Carriage Return and Line Feed.
Out of this data string you might want to record just the latitude and longitude. Windmill will collect this information as 2 "channels" of data, but you have to tell it how to recognise the desired information. In this example, for the latitude channel, you might tell Windmill to search for 'GLL,' and extract up to the next comma. For the longitude channel you might search for 'N,' and extract until ','. Full details of how to do this are in the ComDebug program Help and on our Parsing page.
Another Example of a GPS Data String
hhmmss is the UTC time
A is the status: data valid (A) or receiver warning (V)
llll.ll is latitude (degrees, minutes.m - ddmm.mm)
N is North or South
yyyyy.yy is longitude (degrees, minutes.m - dddmm.mm)
W is West or East
kk.k is speed over ground in knots
tt.t is track made good, degrees true
ddmmyy is the date
mm.m is magnetic variation, degrees
W is West or East
*CS is the check sum
Using Windmill you can extract as much of this data, or as little, as you require. It will be saved and displayed in "real-time".
- Use an RS232 serial cable to plug the GPS into one of the PC's COM ports.
- Use ComDebug to enter your GPS settings, and instructions for extracting information from the string of data.
These settings should get you started. See also the ComDebug program Help.
- Edit COM Port Settings: these suggestions should work, but consult your GPS Manual to make sure. Baud rate: 4800; Bits: 8; Parity: none; Stop bits: 1; Flow control: Xon/Xoff or Hardware (you may have to try both). Press OK.
- Edit the Instrument Timings:
Data Persistence - 5000 milliseconds
Read in the Background
Instrument Idle or Wait Time - 500 milliseconds
- Add a New Message or Edit Message_1:
Prompt string: this is not needed as a GPS continually sends data
Reply Parser window: see the tips given in the previous section. For latitude for example, search for "GLL," then extract data up to the next comma. For longitude you could search for 'N,' and extract until comma.
- In the Message Screen click Run to check that everything is working.
- Save the settings you've entered as an .IMD file and click OK in the main window.
- Choose Edit Windmill Device and add your .IMD file. Repeat for any other instruments you have then select the Make IMS button.
- Run Logger and load the *.IMS file.
For routine data collection on future occasions, just run the Windmill Logger application. If you have any problems see the Windmill program Help, our Technical Support page or Trouble-Shooting below.
Windmill has been used with many makes of GPS receiver, including:
- Orbital Science OBIU (On Board Intelligent Unit) with Motorola GPS
- Ashtec G12 GPS Board
- Garmin GPS
We've an overview of configuring a Garmin here.
Dale DePriest gives information on interfacing a Garmin GPS receiver.
- Magellan GPS 310
The Magellan eXplorist 310 User Manual is available in pdf format.
- Furuno GP-35
If you can see your data in ComDebug, but Logger shows Error 114 (Data not yet ready), it is probably a problem with the timing of readings. It might be that you need to change your selections in ComDebug (points 1 and 2 below), or it might be an issue with your USB-serial converter settings (point 3 below).
For a GPS make sure that you have chosen to "read in background". To check this, in ComDebug's main window select Edit Instrument Timings.
Make sure that the data persistence time is longer than the sampling rate. If you are logging data every second, for example, set the data persistance to 2 seconds. (Otherwise the data will have expired before you have logged it.)
- Now check your USB-serial converter settings.
Make sure that your converter is continually providing data, and not buffering it. Depending on your converter make:
a. Set the lowest latency possible
b. Set the lowest USB Transfer sizes possible
c. Set fast read and writes
To do this you may need to use the converter's utility program, or to go through Windows Control Panel. If the latter, open Control Panel then choose Device Manager - Ports (COM) - your USB-to-serial converter. Right click and select Properties. Choose the Port settings tab then the Advanced button. You'll see a dialogue box like this.
- 4. To gain more details on any problem: whilst Logger or DDE Panel is running, open ComDebug and view the Windmill Debug Screen.
If you're still struggling fill in this form.
How Do You Use Windmill with your GPS Receiver?
Amongst the more popular items in our Monitor newsletter are application stories. We'd love to know about your GPS and GIS projects using Windmill - with the possibility of featuring them in an Issue of Monitor. We would, of course, be happy to credit your company as the source of our story. Monitor is delivered monthly to over 35000 opt-in subscribers.