Standard NMEA-0183 sentences description

NMEA 0183 is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the U.S.-based National Marine Electronics Association. It replaces the earlier NMEA 0180 and NMEA 0182 standards. In marine applications it is slowly being phased out in favor of the newer NMEA 2000 standard.

NMEA-0180 and 0182 are very limited, and just deal with communcations from a Loran-C (or other navigation receiver, although the standards specifically mention Loran), and an autopilot.

NMEA 0183 versions:
NMEA 2.00 Published January 1992 (NMEA 0183 migrated from RS 232 to RS422)
NMEA 2.01 Published August 1994
NMEA 2.10 Published October 1995
NMEA 2.20 Published January 1997
NMEA 2.30 Published March 1998
NMEA 3.00 Published July 2000
NMEA 3.01 Published January 2002
NMEA 4.00 Puiblished November 2008

NMEA 2000 is a protocol used to create a network of electronic devices—chiefly marine instruments—on a boat. Various instruments that meet the NMEA 2000 standard are connected to one central cable, known as a backbone. The backbone powers each instrument and relays data among all of the instruments on the network. This allows one display unit to show many different types of information. It also allows the instruments to work together, since they share data. NMEA 2000 is meant to be "plug and play" to allow devices made by different manufacturers to talk and listen to each other.

Serial configuration for NMEA-0183

Baud rate4800
ParityNone
Data bits8
Stop bits1
HandshakeNone

NMEA-0183 prefixes (Talker IDs)

NMEA protocol can be sent by different equipment. It can be identified by so called Talker Id. Most known one is, of course $GP___ - GPS.
  • GL - GLONASS Receiver
  • GP - Global Positioning System (GPS)
  • Heading Track Controller (Autopilot): General - AG, Magnetic - AP
  • AI - Automatic Identification System
  • CD - Digital Selective Calling (DSC)
  • CR - Data Receiver
  • CS - Satellite
  • CT - Radio-Telephone (MF/HF)
  • CV - Radio-Telephone (VHF)
  • CX - Scanning Receiver
  • DE - DECCA Navigator
  • DF - Direction Finder
  • EC - Electronic Chart System (ECS)
  • EI - Electronic Chart Display & Information System (ECDIS)
  • EP - Emergency Position Indicating Beacon (EPIRB)
  • ER - Engine room Monitoring Systems
  • GN - Global Navigation Satellite System (GNSS)
  • HC - HEADING SENSORS: Compass, Magnetic
  • HE - Gyro, North Seeking
  • HN - Gyro, Non-North Seeking
  • II - Integrated Instrumentation
  • IN - Integrated Navigation
  • LC - Loran C
  • P - Proprietary Code
  • RA - Radar and/or Radar Plotting
  • SD - Sounder, depth
  • SN - Electronic Positioning System, other/general
  • SS - Sounder, scanning
  • TI - Turn Rate Indicator
  • VD - VELOCITY SENSORS: Doppler, other/general
  • VM - Speed Log, Water, Magnetic
  • VW - Speed Log, Water, Mechanical
  • VR - Voyage Data Recorder
  • YX - Transducer
  • ZA - TIMEKEEPERS, TIME/DATE: Atomic Clock
  • ZC - Chronometer
  • ZQ - Quartz
  • ZV - Radio Update
  • WI - Weather Instruments

Standard NMEA-0183 messages description

There are many sentences in the NMEA standard for all kinds of devices that may be used in a Marine environment. Some of the ones that have applicability to gps receivers are listed below: (all message start with GP.)
  • AAM - Waypoint Arrival Alarm
  • ALM - Almanac data
  • APA - Auto Pilot A sentence
  • APB - Auto Pilot B sentence
  • BOD - Bearing Origin to Destination
  • BWC - Bearing using Great Circle route
  • DTM - Datum being used.
  • GGA - Fix information
  • GLL - Lat/Lon data
  • GRS - GPS Range Residuals
  • GSA - Overall Satellite data
  • GST - GPS Pseudorange Noise Statistics
  • GSV - Detailed Satellite data
  • MSK - send control for a beacon receiver
  • MSS - Beacon receiver status information.
  • RMA - recommended Loran data
  • RMB - recommended navigation data for gps
  • RMC - recommended minimum data for gps
  • RTE - route message
  • TRF - Transit Fix Data
  • STN - Multiple Data ID
  • VBW - dual Ground / Water Spped
  • VTG - Vector track an Speed over the Ground
  • WCV - Waypoint closure velocity (Velocity Made Good)
  • WPL - Waypoint Location information
  • XTC - cross track error
  • XTE - measured cross track error
  • ZTG - Zulu (UTC) time and time to go (to destination)
  • ZDA - Date and Time
Some gps receivers with special capabilities output these special messages.
  • HCHDG - Compass output
  • PSLIB - Remote Control for a DGPS receiver

What information each NMEA v3 sentence contains

Standard NMEA sentences being used by most of GPS receivers.
NMEA MessageUTC date/timePositionCourseSpeed
RMC++++
GGA++
GLL++
ZDA+
GNS++
HDT,HDG,HMR+
VBW,VHW,VTG++
BEC,BWC,BWR+

General Sentence Format

All data is transmitted in the form of sentences. Only printable ASCII characters are allowed, plus CR (carriage return) and LF (line feed). Each sentence starts with a "$" sign and ends with CRLF. There are three basic kinds of sentences: talker sentences, proprietary sentences and query sentences. Talker Sentences. The general format for a talker sentence is:
$ttsss,d1,d2,....CRLF

The first two letters following the „$” are the talker identifier. The next three characters (sss) are the sentence identifier, followed by a number of data fields separated by commas, followed by an optional checksum, and terminated by carriage return/line feed. The data fields are uniquely defined for each sentence type.

Sentence Identifiers and Formats

Global Positioning System Fix Data. Time, Position and fix related data for a GPS receiver
.                                                     11
        1         2      3 4        5 6 7  8   9   10 |  12 13  14   15
        |         |      | |        | | |  |   |   |  |  |  |   |    |
$--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
 1) Time (UTC)
 2) Latitude
 3) N or S (North or South)
 4) Longitude
 5) E or W (East or West)
 6) GPS Quality Indicator,
 0 - fix not available,
 1 - GPS fix,
 2 - Differential GPS fix
 7) Number of satellites in view, 00 - 12
 8) Horizontal Dilution of precision
 9) Antenna Altitude above/below mean-sea-level (geoid)
10) Units of antenna altitude, meters
11) Geoidal separation, the difference between the WGS-84 earth ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid
12) Units of geoidal separation, meters
13) Age of differential GPS data, time in seconds since last SC104 type 1 or 9 update, null field when DGPS is not used
14) Differential reference station ID, 0000-1023
15) Checksum

GLL Geographic Position – Latitude/Longitude
.       1      2 3        4 5         6 7
        |      | |        | |         | |
$--GLL,llll.ll,a,yyyyy.yy,a,hhmmss.ss,A*hh
1) Latitude
2) N or S (North or South)
3) Longitude
4) E or W (East or West)
5) Time (UTC)
6) Status A - Data Valid, V - Data Invalid
7) Checksum

GSA GPS DOP and active satellites
.      1 2 3                          14   15 16 17 18
       | | |                           |   |   | | |
$--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x*hh
 1) Selection mode
 2) Mode
 3) ID of 1st satellite used for fix
 4) ID of 2nd satellite used for fix
 ...
14) ID of 12th satellite used for fix
15) PDOP in meters
16) HDOP in meters
17) VDOP in meters
18) Checksum

GSV Satellites in view
.      1 2 3 4 5 6 7     n
       | | | | | | |     |
$--GSV,x,x,x,x,x,x,x,...*hh
1) total number of messages
2) message number
3) satellites in view
4) satellite number
5) elevation in degrees
6) azimuth in degrees to true
7) SNR in dB
more satellite infos like 4)-7)
n) Checksum

HDT Heading – True
.      1   2 3
       |   | |
$--HDT,x.x,T*hh
1) Heading Degrees, true
2) T = True
3) Checksum

RMC Recommended Minimum Navigation Information
.      1         2 3       4  5       6 7   8   9   10  11 12
       |         | |       |  |       | |   |   |    |   | |
$--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxx,x.x,a*hh
 1) Time (UTC)
 2) Status, V = Navigation receiver warning
 3) Latitude
 4) N or S
 5) Longitude
 6) E or W
 7) Speed over ground, knots
 8) Track made good, degrees true
 9) Date, ddmmyy
10) Magnetic Variation, degrees
11) E or W
12) Checksum