PIC16F88 Delorme Tripmate GPS Logger

This project focused on creating a simple serial data logger for the Delorme Tripmate (also known as the GPSTripmate). The Tripmate is an older GPS receiver that can be purchased on eBay for <$20. I happen to have one that my family used a couple of years ago and it is still in great shape. It has been sitting in the back of my car for the past four years, so I finally decided to put it to good use. The plan was to create a GPS data logger that would record the position of the unit and allow me to read back the latitude and longitude after acquiring the data. My ultimate goal will be to use a small backpack to record my runs (once the weather warms up). This was a fun experiment because not only did I need to interface the PIC16F88to the Tripmate, but I also needed to parse the output and implement an efficient storage solution. Read on to find out more information about the project, see the schematic and soure code I wrote, and find out how the data was visualized.

PIC16F88 GPS Logger

Delorme Tripmate
The Tripmate was a GPS receiver manufactured by Delorme that was originally intended for use with their Street Atlas USA computer program. The Tripmate uses an RS-232 serial connection to send and receive data using the NMEA 0183 standard (i.e. 4800 baud, 8 data bits, 1 stop bit, no parity). The one interesting quirk about the Tripmate is that it needed to receive the string “ASTRAL” before it would output any information. I modified my Tripmate to self-start using a loopback modification. Now the Tripmate will output the NMEA strings whenever it is powered. More information about the self-start modification can be found on these websites:

Once the Tripmate is modified to self-start, it will automatically output position and satellite information when power is applied. The sentences that the Tripmate outputs are GPRMC (Recommended minimum specific GPS/Transit data), GPGSA (GPS DOP and active satellites) GPGGA (GPS Fix Data), and GPGSV (GPS Satellites in view). We are specifically interested in the GPRMC sentence for this project.

$GPRMC sentence information
An example $GPRMC sentence sent by the Tripmate would be:
$GPRMC,123456,A,4234.4594,N,11233.2892,W,010.0,022.7,220107,015.5,W*77

This sentence contains the following information:

123456 UTC Time of fix 12:34:56
A Navigation receiver warning (A = Valid, V = Invalid)
4234.4594,N Latitude 42 degrees, 34.4594 minutes North
11233.2892,W Longitude 112 degrees, 33.2892 minutes West
010.0 Speed (Knots)
022.7 Course Made Good (Degrees)
220107 UTC Date of fix January 22, 2007
015.5,W Magnetic variation, 20.3 deg. East
*77 Checksum

The job of the microchip will now be to parse this data, discard any irrelevant information, and store the variables of interest (Latitude and Longitude).

 

For more detail: PIC16F88 Delorme Tripmate GPS Logger

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter