GPS Altimeter

It seems that most commercial GPS units these days do not show altitude. While driving around, I often wonder the elevation. I know that GPS units are only accurate to around +/- 50 feet, but that’s plenty good for me.

So, I’m thinking about building one combining a SF GPS unit, microcontroller and LCD. I’m thinking about including a USB port to provide a serial stream to a computer, should one want to connect it to a computer. Maybe run off LiPo batteries internally with a charger. The LCD would show altitude in large type, plus lat/long for reference. Maybe speed, since that’s useful, and cardinal direction if possible.

Any comments or things I should be aware of? How hard would this be?

Building that sort of thing yourself isn’t too difficult. The GPS modules just spit out a bunch of lines of text that give you everything you want to know – lat/long, altitude, heading, speed, date and time. LCDs can be pretty easy to use also.

If you’re not dead set on doing it yourself, you can get a refurb eTrex Summit on ebay for $100. It even has a barometric altimeter and magnetic compass. Unless you want to put a lot of work into making your own, it’ll be cheaper, smaller, and easier to use than whatever you’d build.

Or you might use directly an altitude sensor like

http://www.aerialrobotics.eu/altigps/altigps-en.pdf

You can contact me for details:

kbosak@box43.pl

That should be really simple. There is already code freely available to parse NMEA sentences on Parallax using BS2 and Javelin.

Assuming you’re using WGS84 Datum (default for any respectable gps unit) then the GGA sentence will have all the information you need. Also you can get the VDOP from the GSA sentence.

Just be carful when reporting the altitude as you’ll need to take into account the geoid height.

http://www.gpsinformation.org/dale/nmea.htm#GGA

GGA - essential fix data which provide 3D location and accuracy data.

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,*47

Where:

GGA Global Positioning System Fix Data

123519 Fix taken at 12:35:19 UTC

4807.038,N Latitude 48 deg 07.038’ N

01131.000,E Longitude 11 deg 31.000’ E

1 Fix quality: 0 = invalid

1 = GPS fix (SPS)

2 = DGPS fix

3 = PPS fix

4 = Real Time Kinematic

5 = Float RTK

6 = estimated (dead reckoning) (2.3 feature)

7 = Manual input mode

8 = Simulation mode

08 Number of satellites being tracked

0.9 Horizontal dilution of position

545.4,M Altitude, Meters, above mean sea level

46.9,M Height of geoid (mean sea level) above WGS84

ellipsoid

(empty field) time in seconds since last DGPS update

(empty field) DGPS station ID number

*47 the checksum data, always begins with *

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39

Where:

GSA Satellite status

A Auto selection of 2D or 3D fix (M = manual)

3 3D fix - values include: 1 = no fix

2 = 2D fix

3 = 3D fix

04,05… PRNs of satellites used for fix (space for 12)

2.5 PDOP (dilution of precision)

1.3 Horizontal dilution of precision (HDOP)

2.1 Vertical dilution of precision (VDOP)

*39 the checksum data, always begins with *