Where In the World Is My HP Palmtop?

Chris Lott gives his recipe for connecting a Global Positioning System Receiver to an HP Palmtop. You'll never have to ask for directions again!

by Chris Lott

The Global Positioning System (GPS) that has become so popular nowadays grew out of a long history of radio-navigational aids over the past half-century. Early space-based navigation satellites in the 1960's led the way to the current GPS array of satellites that fly overhead. Originally intended for military and government use, GPS attracted national attention during the Persian Gulf War. These days the low price of GPS receivers has made many wide and varied applications of this technology available to the general public.

My first exposure to GPS technology came when I took on the job of researching advanced navigation techniques for a rocket booster. The project forced me to learn all about GPS, and I wound up connecting a Garmin III GPS receiver to my HP-200LX palmtop computer. As a result I'll never have to stop and ask for directions again.

A Little of This and a Little of That

Even with a knowledge of GPS, it's no small task to hook a little GPS receiver to a tiny computer. I felt like a chef creating a new entree: 50% inspiration and 50% experimentation. It's definitely not something you can buy pre-mixed or half-baked. Putting together a GPS/LX system has to be done mostly from scratch. Here's my recipe for doing this. You may modify the recipe to suit your own tastes-and budget.

Ingredients Needed

1. GPS Receiver

The GPS receiver I chose is the GPS III receiver from Garmin. It has three features of interest to me: (a) it's smaller and lighter than the HP Palmtops (b) it uses a serial interface permitting it to be hooked to other equipment, especially my palmtop, and (c) it has an integrated moving map display that allows for stand-alone use. My Garmin GPS III cost about $360 street price about six months ago. However, there are numerous suitable receivers on the market today of varying capabilities. Some exceptionally inexpensive units don't have a display. This, of course, would require the use of a computer such as a palmtop.

2. An HP 200LX

My unit has been upgraded to double speed with 32Mbytes of RAM. I've also invested in a 160MB flash disk drive. When I started using the GPS receiver I had a 5MB double speed Palmtop with a 30MB PC Card. That worked fine. However, trying to create a GPS/LX system with a 2MB, standard speed Palmtop and no flash card would be impractical if not impossible. The extra speed is desirable, the extra storage space of a flash card is mandatory and the more space on the flash card the better

3. Tracking software for the Palmtop

You can use either the LXGPS program written specifically for the palmtop by Greg Renda1 or GPSCGA by COMACS2. Both of these programs do similar things: track your whereabouts and display your position on a moving map. Each program has slightly different features. You should check them out yourself before deciding which one to use. Both programs are shareware so you can download them from the Internet for evaluation. GPSCGA requires registration to get the map conversion program needed to convert your map files to a format suitable for the palmtop, but it comes with a USA map and a simple grid map for evaluation.

4. A Desktop PC running Windows 95 or Windows NT and suitable mapping software

Unfortunately, there isn't a single inexpensive supply of maps. The least expensive approach is to purchase a digital Atlas program, and convert regions of interest into the right format. I chose the Street Atlas by DeLorme. It seems to be one of the most popular programs and has support from various third-party programs as well. The program requires a desktop computer running Windows 95 or NT. I haven't heard of an Atlas program that runs under DOS so I've resigned myself to using my desktop for this portion of the process. If anyone knows of any alternative methods, I would appreciate hearing from you. Feel free to experiment if you already have an Atlas or want to buy a different one. The principles are pretty much the same.

5. Cable

This is by far the most difficult part to get due to the proprietary serial plugs on both the HP 200LX and the on the Garmin GPS receiver. Fortunately there is a fellow who makes Garmin connectors in his kitchen3. You simply order the connector you want by e-mail. When the connector arrives a few days later, you send a check for what you think it's worth. As for the HP end of the cable I'd recommend a connector from Shier Systems for $19. You'll need to trim the cable to the desired length and terminate the free end with the GPS receiver connector. Before you go to the trouble of soldering wires together you can terminate the GPS cable with a DB-9 or DB-25 connector and hook it to an HP serial cable.

Preparing the Ingredients

With the GPS receiver connected to your palmtop start the DATACOMM application on the Palmtop and set it for 4800 baud N81. Turn on the GPS receiver and make sure that it's in the NMEA interface mode. If everything is working correctly you should see data records resembling the following: If not, then check your baud rate settings on both the palmtop and the receiver.

$GPRMC,135642,A,3442.346,N,08636.515,W,001.5,186.9, 210198,001. 9,W*72

$GPRMC,135646,A,3442.344,N,08636.515,W,001.7,186.6, 210198,001. 9,W*79

$GPRMC,135650,A,3442.340,N,08636.516,W,001.9,186.3, 210198,001. 9,W*72

When you have a valid data stream flowing from the receiver to the Palmtop the question arises what can you do with it?

If you're a programmer, you could design a program to decode the incoming records. This would let you have a real-time display indicating your exact position. This has enormous impact on data acquisition and would be useful for "precision farming". However, to take full advantage of this capability, you'll need the NMEA interface definition. You can get a good overview of the NMEA protocol, at Paul Tarr's website 4.

Rolling Your Own Maps

Once you've installed an Atlas program on your desktop and learned how to use it, you're ready to start making maps. The basic file format common to both LXGPS and GPSCGA is the .PCX graphics file . There are several techniques to use. The one I chose was to copy a map region to the clipboard in Windows NT and then save it as a .JPG file. Then I could use the LXPIC4 program to convert the image to the .PCX format. There are surely other approaches as well.

Using Paper

One can also use printed maps. Just scan the map into a computer and use the image processing software provided with the scanner to save it as a .PCX file. This technique would be suitable for topological maps (which I haven't found in electronic format) and perhaps National and State Park trail maps.

Calibrating The Map

Once you have a .PCX file you must calibrate it for use by either of the two tracking programs mentioned above. This process involves identifying two or three points on the map, and giving their precise location (latitude/longitude). Once calibrated, the programs know where you are (when presented with GPS receiver data) with respect to the map image.

Moving Map Display

Using the calibrated map(s), the GPS program you selected, and your GPS receiver, you can watch your progress on the palmtop screen as you travel around the region defined on the map.

Where Are The Satellites?

Finally, you might want to dabble with satellite orbital prediction. Knowledge of the satellites' position at a given time can show you when you have good or marginal GPS coverage. This is especially true if you have a partially obstructed view of the sky. I found two programs which can track satellites on the palmtop. Both programs are written by David Ransom. The most suitable for running on the HP-200LX is STSORBIT5. This program reads in standard NASA 2-line orbital Keplerian elements, and computes the satellite track, displayed atop of a world map, much like the one you see in Mission Control in Houston. This is an older program, but is still entirely functional (Screen 1).

Screen 1: Demo of STSORBIT on the HP Palmtop.

Another option, which runs "much" more slowly on the 200LX, is the latest version of his program, STSPLUS6. The advantage of the new program is that multiple satellites can be displayed simultaneously - for example, the entire GPS constellation. It looks really neat, but be prepared for some long waits. I recommend that you learn to operate STSPLUS on your desktop before you migrate it over to the palmtop.

So What Now?

First of all, the particular GPS receiver that I purchased (the GPS III by Garmin) is useful by itself without any computer. I took my receiver on my recent family vacation where we used it to help us find our way several times when we were lost.

As for the uses to a palmtopper, let me suggest a few things:

1. small, low power position/time data logging capability

2. moving map display of arbitrary scale and detail

3. upload/download of waypoint and route data from/to the GPS receiver's internal memory.

Admittedly many of these functions could be performed with a larger computer, but the flexibility and size of a palmtop really make it shine in these applications.

NOTES:

A good overview of the technical details of GPS can be found at this site at the University of Texas: www.host.cc.utexas.edu/ftp/pub/ grg/gcraft/notes/gps/gps.html

1 LXGPS can be downloaded from this web site: www.jps.net/renda/ greg/ or from the author, Greg Renda, at greg@ncd.com.

2 GPSCGA can be downloaded from: lake cumberland.com/gps.html or by contacting COMACS Enterprises at 103246.3642@Compuserve.Com.

3 Larry Berg's Purple Open Projects at http://home.cdsnet.net/~purple/ index.html for ordering information.

4 Paul Tarr's website: www.inmet.com/ ~pwt/gps_gen.htm

5, 6 STSORBIT and STSPLUS are both available from http://users. sedona.net/~dran som/stsplus.html

STSORBIT Version 9201 (STS9201. ZIP) is suitable for use with all IBM-compatible computers including 8086 and is compatible with CGA, EGA, and VGA display adapters. Lacks many of the features in STSPLUS and was last updated in January, 1992.

Commercial products mentioned in this article