Windmill Software Ltd
Windows Engineering Software

Garmin GPS Receiver
February 2008

Interfacing a Garmin GPS Receiver

Home
Newsletters
Catalogue
Search

Garmin GPSFree software lets you collect data from Garmin GPS Receivers, and other instruments with an RS232 serial port, on a PC running Windows. Our new Windmill COMIML software is very easy to use and you can try before you buy. Alternatively, subscribers to the Monitor newsletter (ISSN 1472-0221) can download an earlier version for free.

This page helps you get started with the free Windmill 4.3 and LabIML software. (Configuration is similar with COMIML, but you use the comDebug program instead of the ConfIML program). There are three basic steps.

  1. Run the Windmill ConfIML program and enter your Garmin's communication settings.
  2. Run the Windmill SetupIML program and choose names and units for your data.
  3. Run the Windmill DDE Panel or Logger program to save and display data from your GPS.

After you have entered your configuration settings with ConfIML and SetupIML, you don't need to use these again and can go straight to the logging and display programs. More details on entering the configuration settings are below.


Run the Windmill ConfIML program

This detects and saves a record of the hardware you want to use. You need to add the LabIML ASCII instrument handler and enter your instrument's communication settings. To do this

  1. Press the Add button.
     
  2. Select LabIML RS232 ASCII Instrument Handler.
     
  3. Type a name for the Garmin and a description. The name and description can be anything you like. Decide how many types of data you want to collect, and enter this as the number of channels. For example, if you were collecting latitude, longitude and depth, you would need 3 channels. Press OK.
     
  4. Enter your instrument's settings then click the Channels button. These should work for Garmin GPS Receivers:
    • Reading Protocol: Continuous Flow
    • Instrument Idle Time: 0
    • Data Persistence: 5000 (assuming you are taking readings more often than once every 5 seconds)
    • Returned Message Length: 100
    • Instrument Initialisation String: Leave blank.
       

    • Garmin
  5. You now need to define how to extract data. To do this press the Channels button. Enter parsing instructions into the Parse String box to tell Windmill which piece of the data string you want to extract. The Garmin can send many types of message. For example
    $GPRMC,hhmmss,A,llll.ll,N,yyyyy.yy,W,kk.k,tt.t,ddmmyy,mm.m,W*CS

    Where:
    hhmmss is the UTC time
    A is the status: data valid (A) or receiver warning (V)
    llll.ll is latitude
    N is North or South
    yyyyy.yy is longitude
    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

    • To extract latitude -
      Parse String: Search for "$GPRMC", Ignore 10 characters, Extract until the next comma. This looks like:
      \S"$GPRMC"\I10\E","
       
    • To extract longitude -
      Parse String: Search for "N,", Extract until the next comma. This looks like:
      \S"N,"\E","
       

    Depth data is contained in a different data string, prefixed by $SDDPT

    $SDDPT,xxx.x,yyy.y*CS

    Where:
    xxx.x is depth in metres
    yyy.y is keel offset in metres
    *CS is the check sum

    • To extract depth -
      Parse String: Search for "$SDDPT," Extract until the next comma. This looks like:
      \S"$SDDPT"\E","
       

    Note: in this example your Latitude channel must come before your Longitude channel. For example, channel 0 is Latitude and channel 1 is Longitude. This is because it is the Latitude channel which pinpoints the correct place in the data string to start (ie at the beginning of the $GPRMC sentence).

    Garmin
  6. Enter your communication settings. These should work but check they are the same as your Garmin is using.
    • Com port: Set this is the port to which you have attached your Garmin
    • Baud rate: Set this to whatever your Garmin is using - 4800 by default
    • Data bits: 8
    • Parity: None
    • Flow control: None
    Garmin
  7. Save your settings and close ConfIML.

Now Run the Windmill SetupIML program

Here you can name your channel, set its units, any alarms and so on.

  1. Choose to create a new setup.
  2. From the Device menu select LabIML.
  3. Your data channels will be shown as numbers like 10000, 10001, 10002. Double click a channel.
  4. Type name for your channel, eg Depth, and make sure Enable for Input is checked. If you want to change the units enter an appropriate scale and offset. For example, if you wanted to convert metres to feet you might enter 0.3048 as the scale and 0 as the offset.
  5. Save your settings in a *.ims file and close SetupIML.

Now open Windmill DDE Panel

  1. From the File menu select Load Hardware Setup and choose the *.ims file you just saved.
  2. Connect your GPS channels. You should see your data updating in DDE Panel.
  3. Proceed similarly for the Logger program.
    DDE Panel

Getting the data into Excel or Mapping Programs

You can use the Windmill Logger program to collect data, and after collection has finished import it into Excel or your mapping program. Alternatively, you can collect data with Excel in real-time by writing an Excel macro to read data from the Windmill DDE Panel. For more details see our Excel page.

mapped data from Windmill
Depth and position data collected by Windmill and mapped using Surfer software.


Success?

Have you successfully used Windmill with your GPS? We'd appreciate it if you would let us know about your project. Did you have any problems getting the system to work? How has the Windmill software helped your project? (To request technical support click here.)

Details of how you are using Windmill:

Name:          
Organisation:  
E-mail:        

Need More Help?

  • If you are having problems receiving data from your Garmin GPS receiver, right-click the LabIML icon on the tool bar and select "Debug Options".
  • If the LabIML Debug window says "Parsing Failed", go back to the ConfIML window and edit your Reply Parse String.
  • If no data is shown in the LabIML Debug window, you may have a communications or a cabling problem. Check your settings in ConfIML - baud rate etc - correspond to those being used by your Garmin GPS. If so make sure your cable is compatible with Garmin. Should your PC not have any RS232 ports you can purchase a USB-Serial cable.
  • If you still have problems and you have followed the above instructions, fill in this from with as many details as possible. Include the steps you have taken so far and any error messages that you have received.
Problems:

Name:          
Organisation:  
E-mail:        

Need More Information?

Try these pages.


Home | Windmill Programs | Monitor | On-Line Shop | Free Literature and Software Demos | Contents | Search

Copyright Windmill Software Ltd 2003
PO Box 58, North District Office, Manchester, M8 8QR, UK.
E-mail: sales@windmill.co.uk, Tel: +44 161 833 2782
http://www.windmill.co.uk/library.html
Data Acquisition News Feed (RSS) Free measurement news feed...
Designed by Studholme.net