Imagine a GPS receiver connected to a field tablet. For the application to display your position, the receiver needs to "talk" to it. And it has plenty to say: time, latitude, longitude, altitude, but also speed, direction of travel (heading), positioning quality, and even the list of satellites being tracked.
For all devices to understand one another, regardless of their manufacturer, they need a common language. This is the role of the NMEA 0183 standard. Originally developed for marine navigation, it is now widely used in positioning, mapping, and embedded systems.
This standard organizes information into short text messages called "NMEA sentences." Each sentence carries a specific type of information, always following the same format. This allows any compatible software to read and interpret them.
NMEA 0183: Standardized Sentences
In practical terms, the NMEA 0183 standard sets the rules: how data is transmitted between devices and how each message must be structured.
Messages are sent as plain text in ASCII format. This means they can be read by humans, even if they may seem cryptic at first glance. Each sentence follows the same structure:
- It generally begins with the
$character, which indicates the start of the message; - This is followed by an identifier indicating the source (for example, GP for GPS) and the type of message (for example, GGA for positioning data);
- Next come the data fields themselves, separated by commas;
- Finally, in most cases, an asterisk
*is followed by a checksum, which helps verify that the message has not been corrupted during transmission.
An Example of the Well-Known GGA Sentence
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47At first glance, it looks like a sequence of letters and numbers. But by reading it field by field, we can identify:
- The GNSS constellation used: GPS in this case;
- UTC time: 12:35:19;
- Latitude and longitude;
- Position fix quality (here, 1 indicates a valid GPS position);
- Number of satellites used: 8;
- A horizontal precision indicator (HDOP): 0.9;
- Altitude: 545.4 meters;
- Geoid undulation: 46.9 metres.
- Checksum: 47.
Watch out for a common mistake: coordinates are not expressed in decimal degrees, but in degrees and minutes. For example, 4807.038,N means "48 degrees and 7.038 minutes North," while 01131.000,E means "11 degrees and 31 minutes East."
To convert these values into decimal degrees, simply divide the minutes by 60 and add the result to the degrees. This gives approximately 48.1173° N and 11.5167° E.
The Most Common NMEA Sentences
A GNSS receiver does not send just one sentence, but several, each serving a specific purpose. Think of them as sections of a newspaper: one provides position information, another reports speed, and another describes satellite status. The receiving software selects the ones it needs.
| Sentence Type | Information Transmitted |
|---|---|
| GGA | Time, position, fix-related data, number of satellites, and altitude. |
| RMC | Position, speed, course over ground, time, and date. |
| GSA | Active satellites and Dilution of Precision (DOP) indicators. |
| GSV | Satellites in view, including their elevation, azimuth, and signal strength. |
| VTG | Course over ground and speed over ground. |
| GLL | Geographic position, time, and position status. |
| ZDA | UTC time, date, and time zone offset. |
Originally, NMEA 0183 was designed around the American GPS system, which explains why the "GP" prefix is still widely used. However, modern receivers can now track multiple constellations simultaneously, and the standard has evolved accordingly.
| Talker ID | Meaning |
|---|---|
| GP | GPS solution. |
| GL | GLONASS solution. |
| GA | Galileo solution. |
| GN | Combined GNSS solution using multiple constellations. |
NMEA Transmits Coordinates, It Does Not Define Them
It is important not to confuse NMEA 0183 with a coordinate reference system. NMEA is an interface standard: it describes how data is structured and transmitted between a GNSS receiver and software, a display, or another device. However, on its own, it does not specify the geodetic reference frame in which the position was calculated.
In practice, an NMEA sentence provides latitude and longitude, but in most cases does not specify the reference frame to which they relate. This must be determined from the context: the receiver being used, its configuration, and any RTK corrections applied.
NMEA transmits geographic coordinates (latitude and longitude), rather than projected coordinates in a national coordinate system such as Lambert-93 in France. Software can then interpret these sentences, display the position, and convert the coordinates into the system appropriate for the project.
GPS Does Not Speak Just One Language
It relies on several complementary elements:
- The GNSS receiver calculates a position using satellite signals;
- This position is generally referenced to WGS 84;
- It is expressed as coordinates, particularly latitude and longitude;
- It is often transmitted in the form of NMEA 0183 sentences;
- Software can then interpret these sentences, display the position, and convert the coordinates into the system appropriate for the project.
In summary, NMEA 0183 is one of the communication standards that allow a GNSS receiver to exchange data with other devices. It standardizes the transmission of positioning data, but does not, on its own, define the geodetic reference frame being used. To interpret GPS coordinates correctly, it is therefore essential to understand both their transmission format and the reference system to which they relate.






