NMEA Revealed
NMEA Revealed
NMEA 0183 is a proprietary protocol issued by the National Marine Electronics Association for use in boat navigation and control systems. Because early
GPS sensors were designed for compatibility with these systems, GPS reporting protocols are often a small subset of NMEA 0183 or mutated from such as
subset. AIS, the Marine Automatic Identification system, also uses NMEA0183-like packet formats.
This document is a list of NMEA 0183 sentences with field descriptions. It is primarily intended to help people understand GPS reports, but also exists
because the author finds life-critical protocols with only closed/proprietary documentation deeply offensive.
The master of this document is in asciidoc format at the GPSD project website; you are probably seeing it as a web page. You may encounter versions of
it, in plain ASCII, that do not have a revision number and do not list an editor. These are older and should be considered obsolescent.
Talker IDs
NMEA sentences do not identify the individual device that issued them; the format was originally designed for shipboard multidrop networks on which it’s
possible only to broadcast to all devices, not address a specific one.
NMEA sentences do, however, include a "talker ID" a two-character prefix that identifies the type of the transmitting unit. By far the most common talker ID
is "GP", identifying a generic GPS, but all of the following are well known:
Table 2. Common talker IDs
$AI Alarm Indicator, (AIS?)
$AP Auto Pilot (pypilot?)
$BD BeiDou (China)
$CD Digital Selective Calling (DSC)
$EC Electronic Chart Display & Information System (ECDIS)
$GA Galileo Positioning System
$GB BeiDou (China)
$GI NavIC, IRNSS (India)
$GL GLONASS, according to IEIC 61162-1
$GN Combination of multiple satellite systems (NMEA 1083)
$GP Global Positioning System receiver
$GQ QZSS regional GPS augmentation system (Japan)
$HC Heading/Compass
$HE Gyro, north seeking
$II Integrated Instrumentation
$IN Integrated Navigation
$LC Loran-C receiver (obsolete)
$Pxxx Proprietary (Vendor specific)
$PQ QZSS (Quectel Quirk)
$QZ QZSS regional GPS augmentation system (Japan)
$SD Depth Sounder
$ST Skytraq
$TI Turn Indicator
$YX Transducer
$WI Weather Instrument
EC — ECDIS is a specialized geographical information system intended to support professional maritime navigation. NMEA talker units meeting the
ECDIS standard use this prefix. Some of these emit GLL.
II — II is emitted by the NMEA interfaces of several widely-used lines of marine-navigation electronics. One is the AutoHelm system by Raymarine; see
also [SEATALK] for the native protocol of these devices.
IN — Some Garmin GPS units use an IN talker ID.
CD — Modern marine VHF radios use conventions collectively known as Digital Selective Calling (DSC). These radios typically take data from a local
position indicating device. This data is used in conjunction with a unique (FCC assigned) ID to cause your radio to broadcast your position data to others.
Conversely, these radios are capable of receiving position data of other stations and emitting sentences indicating other station positions. This lets you plot the
position of other vessels on a chart, for instance. There has been at least one instance of a DSC enabled radio overloading (misusing) the LC talker prefix for
this purpose. Otherwise they use the CD prefix. A vessel’s nav system is likely to have both CD and some other position indicating talker on its bus(es).
LC — Loran-C is a marine navigation system formerly run by many governments (USA, Canada, Russia, etc.). It was shut down in most countries by the
end of 2010. Norway and France shutdown their’s in 2015. Some non-Loran devices emit GLL but use this talker ID for backward-compatibility reasons, so it
outlasted the actual Loran-C system.
Until the U.S. Coast Guard terminated the Omega Navigation System in 1997, another common talker prefix was "OM" for an Omega Navigation System
receiver.
Here is a more complete list of talker ID prefixes. Most are not relevant to GPS systems.
Note that talker IDs made obsolete by newer revisions of the standards may still be emitted by older devices. Support for them may be present in the
GPSD project.
Table 3. Big list of talker IDs
AB Independent AIS Base Station
AD Dependent AIS Base Station
AG Autopilot - General
AI Mobile AIS Station
AN AIS Aid to Navigation
AP Autopilot - Magnetic
AR AIS Receiving Station
AT AIS Transmitting Station
AX AIS Simplex Repeater
BD BeiDou (China)
BI Bilge System
BN Bridge navigational watch alarm system
CA Central Alarm
CC Computer - Programmed Calculator (obsolete)
CD Communications - Digital Selective Calling (DSC)
CM Computer - Memory Data (obsolete)
CR Data Receiver
CS Communications - Satellite
CT Communications - Radio-Telephone (MF/HF)
CV Communications - Radio-Telephone (VHF)
CX Communications - Scanning Receiver
DE DECCA Navigation (obsolete)
DF Direction Finder
DM Velocity Sensor, Speed Log, Water, Magnetic
DP Dynamiv Position
DU Duplex repeater station
EC Electronic Chart Display & Information System (ECDIS)
EP Emergency Position Indicating Beacon (EPIRB)
ER Engine Room Monitoring Systems
FD Fire Door
FS Fire Sprinkler
GA Galileo Positioning System
GB BeiDou (China)
GI NavIC, IRNSS (India)
GL GLONASS, according to IEIC 61162-1
GN Combination of multiple satellite systems (NMEA 1083)
GP Global Positioning System receiver
GQ QZSS regional GPS augmentation system (Japan)
HC Heading - Magnetic Compass
HD Hull Door
HE Heading - North Seeking Gyro
HF Heading - Fluxgate
HN Heading - Non North Seeking Gyro
HS Hull Stress
II Integrated Instrumentation
IN Integrated Navigation
JA Alarm and Monitoring
JB Water Monitoring
JC Power Management
JD Propulsion Control
JE Engine Control
JF Propulsion Boiler
JG Aux Boiler
JH Engine Governor
LA Loran A (obsolete)
LC Loran C (obsolete)
MP Microwave Positioning System (obsolete)
MX Multiplexer
NL Navigation light controller
OM OMEGA Navigation System (obsolete)
OS Distress Alarm System (obsolete)
P Vendor specific
QZ QZSS regional GPS augmentation system (Japan)
RA RADAR and/or ARPA
RB Record Book
RC Propulsion Machinery
RI Rudder Angle Indicator
SA Physical Shore AUS Station
SD Depth Sounder
SG Steering Gear
SN Electronic Positioning System, other/general
SS Scanning Sounder
ST Skytraq debug output
TC Track Control
TI Turn Rate Indicator
TR TRANSIT Navigation System
U# '#' is a digit 0 …9; User Configured
UP Microprocessor controller
VA VHF Data Exchange System (VDES), ASM
VD Velocity Sensor, Doppler, other/general
VM Velocity Sensor, Speed Log, Water, Magnetic
VR Voyage Data recorder
VS VHF Data Exchange System (VDES), Satellite
VT VHF Data Exchange System (VDES), Terrestrial
VW Velocity Sensor, Speed Log, Water, Mechanical
WD Watertight Door
WI Weather Instruments
WL Water Level
YC Transducer - Temperature (obsolete)
YD Transducer - Displacement, Angular or Linear (obsolete)
YF Transducer - Frequency (obsolete)
YL Transducer - Level (obsolete)
YP Transducer - Pressure (obsolete)
YR Transducer - Flow Rate (obsolete)
YT Transducer - Tachometer (obsolete)
YV Transducer - Volume (obsolete)
YX Transducer
ZA Timekeeper - Atomic Clock
ZC Timekeeper - Chronometer
ZQ Timekeeper - Quartz
ZV Timekeeper - Radio Update, WWV or WWVH
The canonical list of Talkers is available at [TALKERS] .
Satellite IDs
Satellites may be identified by one of two different numbers in sentences such as GSV: a PRN number associated with their radio code, or an NMEA-ID.
For satellites 1-32, the GPS constellation, these numbers are the same. For satellites associated with WAAS (Wide Area Augmentation System), EGNOS
(European Geostationary Navigation Overlay Service), and MSAS (Multi-functional Satellite Augmentation System), they are different.
Here is a table of NMEA-ID allocations above 32 as of March 2010:
System Satellite PRN NMEA-ID
EGNOS AOR-E 120 33
System Satellite PRN NMEA-ID
EGNOS Artemis 124 37
EGNOS IOR-W 126 39
MSAS MTSAT-1 129 42
EGNOS IOR-E 131 44
WAAS AMR 133 46
WAAS PanAm 135 48
MSAS MTSAT-2 137 50
WAAS Anik 138 51
Theoretically, all NMEA emitting devices should emit NMEA-IDs. In practice, some pass through PRNs.
To avoid possible confusion caused by repetition of satellite ID numbers when using multiple satellite systems, the following convention has been
adopted:
1. GPS satellites are identified by their PRN numbers, which range from 1 to 32.
2. The numbers 33-64 are reserved for WAAS satellites. The WAAS system PRN numbers are 120-138. The offset from NMEA WAAS SV ID to WAAS
PRN number is 87. A WAAS PRN number of 120 minus 87 yields the SV ID of 33. The addition of 87 to the SV ID yields the WAAS PRN number.
3. The numbers 65-96 are reserved for GLONASS satellites. GLONASS satellites are identified by 64+satellite slot number. The slot numbers are 1
through 24 for the full constellation of 24 satellites, this gives a range of 65 through 88. The numbers 89 through 96 are available if slot numbers above
24 are allocated to on-orbit spares.
Other sources such as [SATSTAT] confirm that the NMEA standard assigns NMEA IDs 65-96 to GLONASS. The following table is our best guess of
NMEA usage in 2018:
1 - 32 GPS
33 - 54 Various SBAS systems (EGNOS, WAAS, SDCM, GAGAN, MSAS)
55 - 64 not used (might be assigned to further SBAS systems)
65 - 88 GLONASS
89 - 96 GLONASS (future extensions?)
97 - 119 not used
120 - 151 not used (SBAS PRNs occupy this range)
152 - 158 Various SBAS systems (EGNOS, WAAS, SDCM, GAGAN, MSAS)
159 - 172 not used
173 - 182 IMES
193 - 197 QZSS
196 - 200 QZSS (future extensions?)
201 - 235 BeiDou (u-blox, not NMEA)
301 - 336 GALILEO
401 - 437 BeiDou (NMEA)
GLONASS satellite numbers come in two flavors. If a sentence has a GL talker ID, expect the skyviews to be GLONASS-only and in the range 1-32; you
must add 64 to get a globally-unique NMEA ID. If the sentence has a GN talker ID, the device emits a multi-constellation skyview with GLONASS IDs already
in the 65-96 range.
QZSS is a geosynchronous (not geostationary) system of three (possibly four) satellites in highly elliptical, inclined, orbits. It is designed to provide
coverage in Japan’s urban canyons.
BeiDou-1 consists of 4 geostationary satellites operated by China, operational since 2004. Coverage area is the Chinese mainland. gpsd does not
support this, as this requires special hardware, and prior arrangements with the operator, who calculates and returns the position fix.
BeiDou-2 (earlier known as COMPASS) is a system of 35 satellites, including 5 geostationary for compatibility with BeiDou-1. As of late 2015, coverage is
complete over most of Asia and the West Pacific. It is expected to be fully operational by 2020, by when coverage area is expected to be worldwide.
Note that the PRN system is becoming increasingly fragmented and unworkable. New GPS denote each satellite, and their signals, by their constellation
(gnssID), satellite id in that constellation (svId), and signal type (sigId). NMEA, as of version 4, has not adapted.
Note: Jackson Labs, Quectel and Telit sometimes use non-standard PRN numbering.
Obsolete sentences
Note that sentences made obsolete by newer revisions of the standards may still be emitted by devices. Support for them may be present in the GPSD
project.
The following NMEA sentences have been designated "obsolete" in a publicly available NMEA document dated 2009.
APA Autopilot Sentence "A"
BER Bearing & Distance to Waypoint, Dead Reckoning, Rhumb Line
BPI Bearing & Distance to Point of Interest
DBK Depth Below Keel
DBS Depth Below Surface
DCN DECCA Position
DRU Dual Doppler Auxiliary Data
GDa Dead Reckoning Positions
GLa Loran-C Positions
GOa OMEGA Positions
GTD Geographical Position, Loran-C TDs
GXA TRANSIT Position
GXa TRANSIT Positions
HCC Compass Heading
HCD Heading and Deviation
HDM Heading, Magnetic
HDT Heading, True
HVD Magnetic Variation, Automatic
HVM Magnetic Variation, Manually Set
IMA Vessel Identification
MDA Meteorological Composite
MHU Humidity
MMB Barometer
MTA Air Temperature
MWH Wave Height
MWS Wind & Sea State
OLN Omega Lane Numbers
OLW Omega Lane Width
OMP Omega Position
OZN Omega Zone Number
Rnn Routes
SBK Loran-C Blink Status
SCD Loran-C ECDs
SCY Loran-C Cycle Lock Status
SDB Loran-C Signal Strength
SGD Position Accuracy Estimate
SGR Loran-C Chain Identifier
SIU Loran-C Stations in Use
SLC Loran-C Status
SNC Navigation Calculation Basis
SNU Loran-C SNR Status
SPS Loran-C Predicted Signal Strength
SSF Position Correction Offset
STC Time Constant
STR Tracking Reference
SYS Hybrid System Configuration
TEC TRANSIT Satellite Error Code & Doppler Count
TEP TRANSIT Satellite Predicted Elevation
TGA TRANSIT Satellite Antenna & Geoidal Heights
TIF TRANSIT Satellite Initial Flag
TRF TRANSIT Fix Data
TRP TRANSIT Satellite Predicted Direction of Rise
TRS TRANSIT Satellite Operating Status
VCD Current at Selected Depth
VPE Speed, Dead Reckoned Parallel to True Wind
VTA Actual Track
VTI Intended Track
VWE Wind Track Efficiency
VWR Relative (Apparent) Wind Speed and Angle
VWT True Wind Speed and Angle
WDC Distance to Waypoint
WDR Waypoint Distance, Rhumb Line
WFM Route Following Mode
WNR Waypoint-to-Waypoint Distance, Rhumb Line
YWP Water Propagation Speed
YWS Water Profile
ZAA Time, Elapsed/Estimated
ZCD Timer
ZEV Event Timer
ZLZ Time of Day
ZZU Time, UTC
This sentence is generated by some units to indicate the status of arrival (entering the arrival circle, or passing the perpendicular of the course line) at the
destination waypoint.
1 2 3 4 5 6
| | | | | |
$--AAM,A,A,x.x,N,c--c*hh<CR><LF>
Field Number:
Example: GPAAM,A,A,0.10,N,WPTNME*43
WPTNME is the waypoint name.
Field Number:
Field Number:
1. Status V = Loran-C Blink or SNR warning V = general warning flag or other navigation systems when a reliable fix is not available
2. Status V = Loran-C Cycle Lock warning flag A = OK or not used
3. Cross Track Error Magnitude
4. Direction to steer, L or R
5. Cross Track Units (Nautical miles or kilometers)
6. Status A = Arrival Circle Entered
7. Status A = Perpendicular passed at waypoint
8. Bearing origin to destination
9. M = Magnetic, T = True
10. Destination Waypoint ID
11. checksum
Example: $GPAPA,A,A,0.10,R,N,V,V,011,M,DEST,011,M*82
This is a fixed form of the APA sentence with some ambiguities removed.
Note: Some autopilots, Robertson in particular, misinterpret "bearing from origin to destination" as "bearing from present position to destination". This is
likely due to the difference between the APB sentence and the APA sentence. for the APA sentence this would be the correct thing to do for the data in the
same field. APA only differs from APB in this one field and APA leaves off the last two fields where this distinction is clearly spelled out. This will result in poor
performance if the boat is sufficiently off-course that the two bearings are different. 13 15
1 2 3 4 5 6 7 8 9 10 11 12| 14|
| | | | | | | | | | | | | | |
$--APB,A,A,x.x,a,N,A,A,x.x,a,c--c,x.x,a,x.x,a*hh<CR><LF>
Field Number:
1. Status A = Data valid V = Loran-C Blink or SNR warning V = general warning flag or other navigation systems when a reliable fix is not available
2. Status V = Loran-C Cycle Lock warning flag A = OK or not used
3. Cross Track Error Magnitude
4. Direction to steer, L or R
5. Cross Track Units, N = Nautical Miles
6. Status A = Arrival Circle Entered
7. Status A = Perpendicular passed at waypoint
8. Bearing origin to destination
9. M = Magnetic, T = True
10. Destination Waypoint ID
11. Bearing, present position to Destination
12. M = Magnetic, T = True
13. Heading to steer to destination waypoint
14. M = Magnetic, T = True
15. Checksum
Example: $GPAPB,A,A,0.10,R,N,V,V,011,M,DEST,011,M,011,M*82
Field Number:
Example 1: $GPBOD,099.3,T,105.6,M,POINTB*01
Waypoint ID: "POINTB" Bearing 99.3 True, 105.6 Magnetic This sentence is transmitted in the GOTO mode, without an active route on your GPS.
WARNING: this is the bearing from the moment you press enter in the GOTO page to the destination waypoint and is NOT updated dynamically! To update
the information, (current bearing to waypoint), you will have to press enter in the GOTO page again.
Example 2: $GPBOD,097.0,T,103.2,M,POINTB,POINTA*52
This sentence is transmitted when a route is active. It contains the active leg information: origin waypoint "POINTA" and destination waypoint "POINTB",
bearing between the two points 97.0 True, 103.2 Magnetic. It does NOT display the bearing from current location to destination waypoint! WARNING Again
this information does not change until you are on the next leg of the route. (The bearing from POINTA to POINTB does not change during the time you are on
this leg.)
This sentence has been replaced by BWW in NMEA 4.00 (and possibly earlier versions) [ANON].
Field Number:
Example 1: $GPBWC,081837,,,,,,T,,M,,N*13
Example 2: GPBWC,220516,5130.02,N,00046.34,W,213.8,T,218.0,M,0004.6,N,EGLM*11
Field Number:
Field Number:
Field Number:
1. Depth, feet
2. f = feet
3. Depth, meters
4. M = meters
5. Depth, Fathoms
6. F = Fathoms
7. Checksum
Field Number:
1. Depth, feet
2. f = feet
3. Depth, meters
4. M = meters
5. Depth, Fathoms
6. F = Fathoms
7. Checksum
Field Number:
In real-world sensors, sometimes not all three conversions are reported. So you might see something like $SDDBT,,f,22.5,M,,F*cs
Example: $SDDBT,7.8,f,2.4,M,1.3,F*0D
Field Number:
Field Number:
This sentence was incorrectly titled "Heading - Deviation & Variation" in [BETKE]. It’s documented at http://www.humminbird.com/normal.asp?
id=853
Example: $INDPT,2.3,0.0*46
Field Number:
Field Number:
1. Transmitting Frequency
2. Receiving Frequency
3. Communications Mode (NMEA Syntax 2)
4. Power Level (0 = standby, 1 = lowest, 9 = highest)
5. Checksum
Field Number:
1. UTC time of the GGA or GNS fix associated with this sentence. hh is hours, mm is minutes, ss.ss is seconds
2. Expected 1-sigma error in latitude (meters)
3. Expected 1-sigma error in longitude (meters)
4. Expected 1-sigma error in altitude (meters)
5. ID of most likely failed satellite (1 to 138)
6. Probability of missed detection for most likely failed satellite
7. Estimate of bias in meters on most likely failed satellite
8. Standard deviation of bias estimate
9. Checksum
Note: Source [MX521] describes a proprietary extension of GBS with a 9th data field. The 8-field version is in NMEA 3.0.
Example: $GPGBS,125027,23.43,M,13.91,M,34.01,M*07
Field Number:
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
Example:
$GNGGA,001043.00,4404.14036,N,12118.85961,W,1,12,0.98,1113.0,M,-21.3,M*47
Note: Jackson Labs replaces the Quality indicator with GPSDO status.
This sentence is obsolete over most of its former coverage area. The US/Canadian/Russian Loran-C network was shut down in 2010; it is still as of 2015
in limited use in Europe. Loran-C operations in Norway will cease from 1st Jan 2016. [NORWAY]
12 14
1 2 3 4 5 6 7 8 9 10 11| 13|
| | | | | | | | | | | | | |
$--GLC,xxxx,x.x,a,x.x,a,x.x,a.x,x,a,x.x,a,x.x,a*hh<CR><LF>
Field Number:
1. GRI Microseconds/10
2. Master TOA Microseconds
3. Master TOA Signal Status
4. Time Difference 1 Microseconds
5. Time Difference 1 Signal Status
6. Time Difference 2 Microseconds
7. Time Difference 2 Signal Status
8. Time Difference 3 Microseconds
9. Time Difference 3 Signal Status
10. Time Difference 4 Microseconds
11. Time Difference 4 Signal Status
12. Time Difference 5 Microseconds
13. Time Difference 5 Signal Status
14. Checksum
Field Number:
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
Example: $GNGLL,4404.14012,N,12118.85993,W,001037.00,A,A*67
Field Number:
The Mode indicator is one to four characters, with the first and second defined for GPS and GLONASS. Further characters may be defined. For each
system, the character can have a value (table may be incomplete):
A = Autonomous (non-differential)
D = Differential mode
E = Estimated (dead reckoning) Mode
F = RTK Float
M = Manual Input Mode
N = Constellation not in use, or no valid fix
P = Precise (no degradation, like Selective Availability, and hires)
R = RTK Integer
S = Simulator Mode
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
Example: $GPGNS,112257.00,3844.24011,N,00908.43828,W,AN,03,10.5,,*57
Field Number:
Field Number:
Example: $GPGST,182141.000,15.5,15.3,7.2,21.8,0.9,0.5,0.8*54
Field Number:
xx. Checksum
Example: $GNGSA,A,3,80,71,73,79,69,,,,,,,,1.83,1.09,1.47*17
Note: NMEA 4.1+ systems (u-blox 9, Quectel LCD79) may emit an extra field, System ID, just before the checksum.
1 = GPS L1C/A, L2CL, L2CM
2 = GLONASS L1 OF, L2 OF
3 = Galileo E1C, E1B, E5 bl, E5 bQ
4 = BeiDou B1I D1, B1I D2, B2I D1, B2I D12
Field Number:
Field Number:
1. time difference
2. time difference
3. time difference
4. time difference
5. time difference n) checksum
Field Number:
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
(The GXA sentence is obsolete as of 3.01.)
Field Number:
Vessel heading in degrees with respect to magnetic north produced by any device or system producing magnetic heading.
1 2 3
| | |
$--HDM,x.x,M*hh<CR><LF>
Field Number:
Actual vessel heading in degrees true produced by any device or system producing true heading.
1 2 3
| | |
$--HDT,x.x,T*hh<CR><LF>
Field Number:
Example: $GPHDT,274.07,T*03
Field Number:
Field Number:
[GLOBALSAT] describes a completely different meaning for this sentence, having to do with water temperature sensors. It is unclear which is correct.
HWBIAS - Unknown
Field Number:
Obsolete.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| | | | | | | | | | | | | |
$--LCD,xxxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx,xxx*hh<CR><LF>
Field Number:
1. GRI Microseconds/10
2. Master Relative SNR
3. Master Relative ECD
4. Time Difference 1 Microseconds
5. Time Difference 1 Signal Status
6. Time Difference 2 Microseconds
7. Time Difference 2 Signal Status
8. Time Difference 3 Microseconds
9. Time Difference 3 Signal Status
10. Time Difference 4 Microseconds
11. Time Difference 4 Signal Status
12. Time Difference 5 Microseconds
13. Time Difference 5 Signal Status
14. Checksum
Field Number:
Field Number:
Field Number:
Example: $GPMSS,0,0,0.000000,200*5A
Field Number:
1. Temperature, degrees
2. Unit of Measurement, Celsius
3. Checksum
Field Number:
Example: $WIMWD,302.4,T,289.6,M,10.5,N,5.4,M*6F
Field Number:
Obsolete.
1 2 3 4
|--------+ |--------+ |--------+ |
$--OLN,aa,xxx,xxx,aa,xxx,xxx,aa,xxx,xxx*hh<CR><LF>
Field Number:
1. Omega Pair 1
2. Omega Pair 1
3. Omega Pair 1
4. Checksum
Field Number:
Field Number:
1. waypoint ID
…
n) checksum
Field Number:
1. Beacon ID
2. Time of Reception, hh is hours, mm is minutes, ss.ss is seconds.
3. Message Code
4. Message Body
5. Checksum
Field Number:
Example: $GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*0B
Field Number:
A status of V means the GPS has a valid fix that is below an internal quality threshold, e.g. because the dilution of precision is too high or an elevation
mask test failed.
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
Example: $GNRMC,001031.00,A,4404.13993,N,12118.86023,W,0.146,,100117,,,A*7B
Field Number:
1. Rate Of Turn, degrees per minute, "-" means bow turns to port
2. Status, A means data is valid
3. Checksum
Example: $HEROT,0.0,A*2B
RPM - Revolutions
1 2 3 4 5 6
| | | | | |
$--RPM,a,x,x.x,x.x,A*hh<CR><LF>
Field Number:
Field Number:
1. Origin 1 range
2. Origin 1 bearing
3. Variable Range Marker 1
4. Bearing Line 1
5. Origin 2 range
6. Origin 2 bearing
7. Variable Range Marker 2
8. Bearing Line 2
9. Cursor Range From Own Ship
10. Cursor Bearing Degrees Clockwise From Zero
11. Range Scale
12. Range Units
13. Display rotation (C = course up, H = heading up, N - North up)
14. Checksum
RTE - Routes
1 2 3 4 5 x n
| | | | | | |
$--RTE,x.x,x.x,a,c--c,c--c, ..... c--c*hh<CR><LF>
Field Number:
Field Number:
This sentence is transmitted before each individual sentence where there is a need for the Listener to determine the exact source of data in the system.
Examples might include dual-frequency depth sounding equipment or equipment that integrates data from a number of sources and produces a single output.
1 2
| |
$--STN,x.x*hh<CR><LF>
Field Number:
1. Talker ID Number
2. Checksum
Field Number:
Field Number:
Field Number:
Message can contain target number + label pairs up to maximum NMEA message length. Target number references to target number in TTM (and/or TLL)
messages.
Field Number:
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
Field Number:
From [GLOBALSAT]. Shown with a "@II" leader rather than "$GP". This entry actually merges their TPC description with another entry labeled
(apparently incorrectly) TPT, which differs from the TPT shown below.
Field Number:
Field Number:
The number of digits past the decimal point for Time, Latitude and Longitude is model dependent.
(The TRF sentence is obsolete as of 2.3.0)
Field Number:
[GLOBALSAT] gives this in a slightly different form, with 14th and 15th fields conveying time of observation and whether target acquisition was automatic
or manual.
Field Number:
Field Number:
[GLOBALSAT] describes a different format in which the first three fields are water-temperature measurements. It’s not clear which is correct.
Field Number:
Field Number:
Field Number:
Note: in some older versions of NMEA 0183, the sentence looks like this:
1 2 3 4 5
| | | | |
$--VTG,x.x,x,x.x,x.x*hh<CR><LF>
Field Number:
Field Number:
Field Number:
1. Velocity, knots
2. N = knots
3. Waypoint ID
4. FAA Mode indicator, not null (NMEA 3 and above)
5. Checksum
Field Number:
Field Number:
1. Latitude
2. N or S (North or South)
3. Longitude
4. E or W (East or West)
5. Waypoint name
6. Checksum
Field Number:
1. Transducer Type
2. Measurement Data
3. Units of measurement A = Amperes B = Bars B = Binary C = Celsius D = Degrees H = Hertz I = liters/second K = Kelvin K = kg/m3 M = Meters M =
cubic Meters N = Newton P = % of full range P = Pascal R = RPM S = Parts per thousand V = Volts
4. Name of transducer
There may be any number of quadruplets like this, each describing a sensor. The last field will be a checksum as usual.
Example:
$HCXDR,A,171,D,PITCH,A,-37,D,ROLL,G,367,,MAGX,G,2420,,MAGY,G,-8984,,MAGZ*41
Field Number:
1. Status
A - Valid
V = Loran-C Blink or SNR warning
V = general warning flag or other navigation systems when a reliable fix is not available
2. Status
V = Loran-C Cycle Lock warning flag
A = Valid
3. Cross Track Error Magnitude
4. Direction to steer, L or R
5. Cross Track Units, N = Nautical Miles
6. FAA mode indicator (NMEA 2.3 and later, optional)
7. Checksum
Example: $GPXTE,V,V,,,N,S*43
Field Number:
ZDA - Time & Date - UTC, day, month, year and local time zone
Field Number:
Example: $GPZDA,160012.71,11,03,2004,-1,00*7D
Field Number:
Field Number:
Other sentences
There is evidence for the existence of the following NMEA sentences on the Web:
ACK - Alarm Acknowledgement
ADS - Automatic Device Status
AKD - Acknowledge Detail Alarm Condition
ALA - Set Detail Alarm Condition
ASD - Autopilot System Data
BEC - Bearing & Distance to Waypoint - Dead Reckoning
CEK - Configure Encryption Key Command
COP - Configure the Operational Period, Command
CUR - Water Current Layer
DCR - Device Capability Report
DDC - Display Dimming Control
DOR - Door Status Detection
DSC - Digital Selective Calling Information
DSE - Extended DSC
DSI - DSC Transponder Initiate
DSR - DSC Transponder Response
ETL - Engine Telegraph Operation Status
EVE - General Event Message
FIR - Fire Detection
WDR - Distance to Waypoint - Rhumb Line
WDC - Distance to Waypoint - Great Circle
ZDL - Time and Distance to Variable Point
$CDDSC is described in [CDDSC].
Vendor extensions
This list is very incomplete.
Field Number:
[PASHR] describes this sentence as NMEA, though other sources say it is Ashtech proprietary and describe a different format.
Example:
$PASHR,085335.000,224.19,T,-01.26,+00.83,+00.00,0.101,0.113,0.267,1,0*06
PGLOR - Quectel
$PGLOR,[],AGC - ??
$PGLOR,[],CPU - CPU Loading
$PGLOR,[],FIN - Request completion status
$PGLOR,[],FIX - Time To Fix
$PGLOR,[],FTS - Factory Test Status
$PGLOR,[],GFC - GeoFence Fix
$PGLOR,[],GLO - ??
$PGLOR,[],HLA - Value of HULA sensors
$PGLOR,[],IMS - IMES messages
$PGLOR,[],LSQ - Least squares GNSS fix
$PGLOR,NET - Report network information
$PGLOR,[],NEW - Indicate new GPS request
$PGLOR,[],PFM - Platform Status
$PGLOR,[],PPS - Indicate PPS time corrections
$PGLOR,[],PWR - Power consumption report
$PGLOR,[],RID - Version Information
$PGLOR,[],SAT - GPS Satellite information
$PGLOR,[],SIO - Serial I/O status report
$PGLOR,[],SPA - Spectrum analyzer results
$PGLOR,[],SPD - ??
$PGLOR,SPL - ??
$PGLOR,[],SPS - ??
$PGLOR,[],STA - GLL status
$PGLOR,[],SVC - ??
$PGLOR,[],SVD - SV Dopplers detected in the false alarm test.
$PGLOR,[],SMx - Report GPS Summary Information
$PGLOR,[],UNC - ??
Field Number:
Field Number:
Example: $PGRMZ,2282,f,3*21
Field Number:
Field Number:
1. X velocity (cm/s)
2. Y velocity (cm/s)
3. Z velocity (cm/s)
4. speed accuracy estimate (cm/s)
5. GPS TOW in seconds
6. GPS week number
7. UTC leap second offset in seconds
Field Number:
Fields consist of 12 pairs of a satellite PRN followed by a signal quality number in the range 0-7 (0 worst, 7 best).
Only emitted by the now-obsolete Zodiac (Rockwell) chipset.
Example:
$PUBX,00,081350.00,4717.113210,N,00833.915187,E,546.589,G3,2.1,2.0,0.007,77.52,0+.007,,0.92,1.19,0.77,9,0,0*5F<CR><LF>
Only emitted by u-blox Antaris chipset.
Example:
$PUBX,01,075142.00,467125.245,E,5236949.763,N,498.235,G3,2.1,1.9,0.005,85.63,0.0+00,,0.78,0.90,0.52,12,0,0*65
Only emitted by u-blox Antaris chipset.
Example:
$PUBX,03,11,23,-,,,45,010,29,-,,,46,013,07,-,,,42,015,08,U,067,31,42,025,10,U,19+5,33,46,026,18,U,326,08,39,026,17,-,,,32,015,26,U,306,66,48,025,27,U,073,10
Only emitted by u-blox Antaris chipset.
(There’s no PUBX 02)
Example:
$PUBX,04,073731.00,091202,113851.00,1196,113851.00,1930035,-2660.664,43*3C<CR><+LF>
Only emitted by u-blox Antaris chipset.
‘TM’ indicates message generated by SML tracking system. ‘VTD’ is name of the message.
Field Number:
References
[BETKE] "The NMEA 0183 protocol" http://www.scribd.com/mcocco/d/6365285-The-NMEA-0183-Protocol Probably the ancestor of this
document. Compiled by Klaus Betke and dated May 2000 with a revision in 2001.
[CANBUS] "Wikipedia: CAN bus" https://en.wikipedia.org/wiki/CAN_bus
[NMEA2000] "Wikipedia: NMEA 2000" https://en.wikipedia.org/wiki/NMEA_2000
[KEVERSOFT] http://www.keversoft.com/downloads/packetlogger_20120305_explain.txt
[DEPRIEST] "NMEA data" http://www.gpsinformation.org/dale/nmea.htm Used for PMGNST and the FAA mode code.
[MX521] "MX521 GPS/DGPS Sensor Installation Manual" http://www.mx-marine.com/downloads/MX521_Install_manual_051804.pdf
Used for GBS, GRS.
[MX535] "MX535 UAIS Ship Borne Class A Transponder Unit Technical & Installation Manual" http://www.mx-
marine.com/downloads/mx535/MX535_Tech_Manual_Rev_E.pdf Used for GNS.
[ZODIAC] "Zodiac Serial Data Interface Specification" http://users.rcn.com/mardor/serial.pdf Used for PRWIZCH.
[GH79L4N] "Specifications for GPS Receiver GH-79L4-N" http://www.tecsys.de/db/gps/gh79l1an_intant.pdf Used for GPDTM.
[GIDS] "GPS - NMEA sentence information" http://aprs.gids.nl/nmea/ Used for BWC, MSK, MSS.
[NMEAFAQ] "The NMEA FAQ" http://vancouver-webpages.com/peter/nmeafaq.txt Used for R00.
[UNMEA] "Understanding NMEA 0183" http://pcptpp030.psychologie.uni-regensburg.de/trafficresearch/NMEA0183/ Source for the claim
that NMEA requires undefined data fields to be empty.
[NTUM] "NemaTalker User Manual" http://www.sailsoft.nl/NemaTalker/UserManual/InstrGPS.htm Source for the claim that Mode Indicator
dominates Status.
[IEC61162-1] "International Standard IEC 61162-1" (preview) http://domino.iec.ch/preview/info_iec61162-1%7Bed2.0%7Den.pdf
[SEATALK] "SeaTalk Technical Reference" http://www.thomasknauf.de/seatalk.htm
[SATSTAT] "NMEA IDs" https://github.com/mvglasow/satstat/wiki/NMEA-IDs
[PASHR] "News - NMEA PASHR Output Format Added" http://www.oxts.com/default.asp?pageRef=76&newsID=69
[WAAS] "WAAS Information" http://gpsinformation.net/exe/waas.html
[PPS] "Pulse per second" https://en.wikipedia.org/wiki/Pulse_per_second
[MALTESE] "Procurement of a Fixed-Wing Maritime Patrol Aircraft" https://secure2.gov.mt/eprocurement/Tenders/file.ashx?
f=9832DB05E65C774258580284031EC72CC315D954A7108B5E.
[NMEA-ADVANCE] "NMEA 0183 Advancements" (describes 'P' value of FAA mode)
http://www.nmea.org/Assets/0183_advancements_nmea_oct_1_2010%20(2).pdf
[CDDSC] "Data Interface in Digital Selective Calling Class-D Radios" http://continuouswave.com/whaler/reference/DSC_Datagrams.html
[ANON] Anonymous commentator(s) are persons who have volunteered information about the NMEA standard(s) but do not wish to be identified.
[NORWAY] "Etterretninger for sjøfarende" Notices to Mariners, see p26 https://kartverket.no/efs-documents/editions/2015/efs01-
2015.pdf
[TALKERS] "Talker Identifier Mnemonics" https://www.nmea.org/Assets/NMEA%200183%20Talker%20Identifier%20Mnemonics.pdf
[GLOBALSAT] "iGlobalSat WorldCom Corporation" https://www.globalsat.com.tw/