Date: December 30, 2007

 

The National Marine Electronics Association 

 

The National Marine Electronics Association (NMEA) is the unifying force behind the entire marine electronics industry, bringing together all aspects of the industry for the betterment of all in our business. It is a non-profit association composed of manufacturers, distributors, dealers, educational institutions, and others interested in peripheral marine electronics occupations

NMEA 0183 standard is the communication protocol (set of rules) by which GPS units communicate with other devices. It uses a simple ASCII (American Standard Code for Information Interchange), serial communications protocol that defines how data is transmitted in a "sentence" from one "talker" to one "listener" at a time. NMEA-0183 data is sent at 4800-baud rate. Its implementations vary, but can often interoperate with RS-232, RS-423, and RS-422.
The NMEA 0183 data stream consists of a series of "sentences" delimited by a new line character. Each sentence begins with a six character identifier, the first character of which is always "$" followed by a two letter "talker ID", a three letter "sentence ID”, a number of data fields separated by commas, and terminated by an optional checksum, and a carriage return (CR)/line feed (LF). A sentence may contain up to 82 characters including the "$" and CR/LF. 

The NMEA 0183 standard defines dozens of sentences, but only a fraction applies directly to GPS devices.

The most useful sentences include:

$GPAAM - Waypoint Arrival Alarm
$GPBWW - Bearing, Waypoint to Waypoint
$GPGGA - Global Positioning System Fix Data
$GPGLL - Geographic Position, Latitude/Longitude
$GPGSA - GPS DOP and Active Satellites
$GPGSV - GPS Satellites in View
$GPRMB - Recommended Minimum Navigation Information
$GPRMC - Recommended Minimum Specific GPS/TRANSIT Data
$GPRTE - Routes
$GPVTG - Track Made Good and Ground Speed
$GPWNC - Distance, Waypoint to Waypoint
$GPWPL - Waypoint Location
$GPZDA - UTC Date/Time and Local Time Zone Offset

 

 

 

For understanding let’s will take $GPGGA - Global Positioning System Fix Data
Eg1. $GPGGA, 170834,4124.8963,N, 08151.6838,W, 1,05,1.5,280.2,M, -34.0,M, *75 

 

 

Name

Example Data 

Description 

Sentence Identifier

$GPGGA

Global Positioning System Fix Data

Time

170834

17:08:34 UTC

Latitude

4124.8963, N

41d 24.8963' N or 41d 24' 54" N

Longitude

08151.6838, W

81d 51.6838' W or 81d 51' 41" W

Fix Quality:
- 0 = Invalid
- 1 = GPS fix
- 2 = DGPS fix

1

Data is from a GPS fix

Number of Satellites

05

5 Satellites are in view

Horizontal Dilution of Precision (HDOP)

1.5

Relative accuracy of horizontal position

Altitude

280.2, M

280.2 meters above mean sea level

Height of geoid above WGS84 ellipsoid

-34.0, M

-34.0 meters

Time since last DGPS update

Blank

No last update

DGPS reference station id

Blank

No station id

Checksum

*75

Used by program to check for transmission errors

Courtesy of Brian McClure, N8PQI

 

Global Positioning System Fix Data. Time, position and fix related data for a GPS receiver. 
Eg2. $GPGGA, hhmmss.ss, ddmm.mmm, a, dddmm.mmm, b, q, xx, p.p, a.b, M, c.d, M, x.x, nnnn 

Hhmmss.ss = UTC of position 
ddmm.mmm = latitude of position
a = N or S, latitude hemisphere
dddmm.mmm = longitude of position
b = E or W, longitude hemisphere 
q = GPS Quality indicator (0=No fix, 1=Non-differential GPS fix, 2=Differential GPS fix, 6=Estimated fix) 
xx = number of satellites in use 
p.p = horizontal dilution of precision 
a.b = Antenna altitude above mean-sea-level
M = units of antenna altitude, meters 
c.d = Geoidal height
M = units of geoidal height, meters 
x.x = Age of Differential GPS data (seconds since last valid RTCM transmission) 
nnnn = Differential reference station ID, 0000 to 1023 

When reading NMEA 0183 data, it is important that the code be flexible enough to gather similar data from multiple sources.
The new standard, NMEA 2000, accommodates several "talkers" at a higher baud rate, without using a central hub. NMEA 2000 can be considered a successor to the NMEA 0183 standard. It has a significantly higher data rate (250k bits/second vs. 4.8k bits/second for NMEA 0183).

More cab be found on:

 

http://www.nmea.org
http://en.wikipedia.org/wiki/NMEA_0183

http://vancouver-webpages.com/peter/nmeafaq.txt

-Author

TroSys Team

setstats