Understanding GPS NMEA Sentences: GPGGA, GPGLL, GPVTG, and GPRMC
Advertisement
This page describes GPS Sentences or NMEA Sentences with example patterns. These GPS Sentences (i.e. NMEA Sentences) covers GPGGA, GPGLL, GPVTG, GPRMC etc.
Introduction
- A GPS receiver module requires only DC power supply for its operation. It will start outputting data as soon as it has identified GPS satellites within its range.
- GPS module uses plain ASCII protocol known as NMEA developed by National Marine Electronics Association. Hence they are also known as NMEA sentences.
- Each block of data is referred to as a “sentence”. Each of these sentences are parsed independently.
- The default transmission rate of these gps sentences is 4800 bps. Certain GPS modules use a serial rate of 9600 bps also. It uses 8 bits for ASCII character, no parity and 1 stop bit.
- Sentence begins with two letters to represent GPS device. For example, “GP” represents a GPS device and so on.
- The remainder of the sentence consists of letters/numerals in plain ASCII. A sentence cannot have more than 80 characters.
- A sentence carries latitude, longitude, altitude and time of readings obtained from satellites.
- Some sentence data structures are proprietary, developed by device manufacturers, and begin with the letter “P”.
Following is the generic table which mentions functional description of NMEA output messages.
GPS Sentences or NMEA Sentences
NMEA Sentence | Meaning |
---|---|
GPGGA | Global positioning system fix data (time, position, fix type data) |
GPGLL | Geographic position, latitude, longitude |
GPVTG | Course and speed information relative to the ground |
GPRMC | Time, date, position, course and speed data |
GPGSA | GPS receiver operating mode, satellites used in the position solution, and DOP values. |
GPGSV | The number of GPS satellites in view satellite ID numbers, elevation, azimuth and SNR values. |
GPMSS | Signal to noise ratio, signal strength, frequency, and bit rate from a radio beacon receiver. |
GPTRF | Transit fix data |
GPSTN | Multiple data ID |
GPXTE | cross track error, measured |
GPZDA | Date and time (PPS timing message, synchronized to PPS). 150 OK to send message. |
GPS sentence | GPGGA
Following table mentions GPGGA sentence description with example.
Example of GPGGA GPS sentence: $GPGGA, 161229.487, 3723.2475, N, 12158.3416, W, 1, 07, 1.0, 9.0, M, , , , 0000*18
Name or Field | Example | Description |
---|---|---|
Message ID | $GPGGA | GGA protocol header |
UTC time | 161229.487 | hhmmss.sss |
Latitude | 3723.2475 | (37 degrees, 23.2475 minutes) ddmm.mmmm |
N/S Indicator | N | N = North, S = South |
Longitude | 12158.3416 | (121 degrees, 58.3416 minutes) dddmm.mmmm |
E/W indicator | W | E = East or W = West |
Position Fix Indicator | 1 | ![]() |
Satellites used | 07 | Range is 0 to 12 |
HDOP | 1.0 | Horizontal Dilution of Precision |
MSL Altitude | 9.0 | Meters |
Units | M | Meters |
Geoid Separation | Meters | |
Units | M | Meters |
Age of diff. corr. | Second | |
Diff. ref. station ID | 0000 | |
Checksum | *18 | |
<CR><LF> | End of message termination |
GPS sentence | GPGLL
Following table mentions GPGLL sentence description with example.
Example of GPGLL GPS sentence: $GPGLL, 3723.2475, N, 12158.3416, W, 161229.487, A, A*41
Name or Field | Example | Description |
---|---|---|
Message ID | $GPGLL | GLL protocol header |
Latitude | 3723.2475 | ddmm.mmmm |
N/S indicator | N | N =North or S = south |
Longitude | 12158.3416 | dddmm.mmmm |
E/W indicator | W | E =East or W = West |
UTC time | 161229.487 | hhmmss.sss |
Status | A | A = data valid or V = data not valid |
Mode | A | A =Autonomous , D =DGPS, E =DR (This field is only present in NMEA version 3.0) |
Checksum | *41 | |
<CR><LF> | End of message termination |
GPS sentence | GPVTG
Following table mentions GPVTG sentence description with example.
Example of GPVTG GPS sentence: $GPVTG, 309.62, T, ,M, 0.13, N, 0.2, K, A*23
Name or Field | Example | Description |
---|---|---|
Message ID | $GPVTG | VTG protocol header |
Course | 309.62 | degrees |
Reference | T | True Course |
Degrees | Reference M Magnetic | |
Speed | 0.13 | Knots, measured horizontal speed |
Units | N | Knots |
Speed | 0.2 | Km/Hr, Measured horizontal speed |
Units | K | Kilometers per hour |
Mode | A | A = Autonomous, D = DGPS, E = DR |
Checksum | *23 | |
<CR><LF> | End of message termination |
GPS sentence | GPRMC
Following table mentions GPRMC sentence description with example.
Example of GPRMC GPS sentence: $GPRMC, 161229.487, A, 3723.2475, N, 12158.3416, W, 0.13, 309.62, 120598, , *10
Name or Field | Example | Description |
---|---|---|
Message ID | $GPRMC | RMC Protocol Header |
UTC time | 161229.487 | hhmmss.sss |
Status | A | A = data valid or V = data not valid |
Latitude | 3723.2475 | ddmm.mmmm |
N/S indicator | N | N = North or S = South |
Longitude | 12158.3416 | dddmm.mmmm |
E/W indicator | W | E = East or W = West |
Speed over ground | 0.13 | knots |
Course over ground | 309.62 | degrees |
Date | 120598 | ddmmyy |
Magnetic Variation | Degrees (E= East or W = West) | |
Mode | A | A = Autonomous, D = DGPS, E =DR |
Checksum | *10 | |
<CR><LF> | End of message termination |
Conclusion
NMEA sentences play a crucial role in GPS communication by providing structured data formats for location, speed, time, and other navigation parameters. These sentences, such as GGA (Global Positioning Fix Data), RMC (Recommended Minimum Specific GNSS Data), GSV (Satellites in View), and GSA (GNSS DOP and Active Satellites), enable GPS receivers to interpret and share positioning information accurately. Each sentence follows a standardized format, ensuring compatibility across different GPS devices and applications. Understanding NMEA sentences is essential for developers, engineers, and GPS enthusiasts looking to analyze or integrate GPS data into various tracking, mapping, and navigation systems.