NMEA 0183 Protocol

NMEA 0183 (National Marine Electronics Association) is a combined electrical and data specification for communication between marine electronics such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other types of instruments.

The protocol is widely used in maritime navigation systems and has been adopted for various GPS and positioning applications in other industries including power systems for time synchronization.

Physical Layer

Electrical Specifications

  • Interface: RS232 or RS422
  • Baud Rate: 4800 bps (standard), 9600, 19200, 38400 bps supported
  • Data Format: 8 data bits, 1 stop bit, no parity
  • Voltage Levels: ±12V (RS232) or differential (RS422)

Message Format

General Structure

$TALKER,field1,field2,field3,...,fieldN*checksum<CR><LF>
  • $: Start delimiter
  • TALKER: Two-character talker identifier + three-character sentence identifier
  • Fields: Comma-separated data fields
  • *: Checksum delimiter
  • Checksum: Two-character hexadecimal XOR checksum
  • <CR><LF>: Carriage return and line feed terminators

Common Talker Identifiers

Talker ID Device Type Description
GP GPS Global Positioning System receiver
GL GLONASS Russian satellite navigation system
GA Galileo European satellite navigation system
GN GNSS Global Navigation Satellite System (combined)
LC Loran-C Loran-C receiver
II Integrated Integrated instrumentation

Essential GPS Sentences

GGA - Global Positioning System Fix Data

$GPGGA,time,lat,latNS,lon,lonEW,quality,numSV,HDOP,alt,altUnit,sep,sepUnit,diffAge,diffStation*checksum

Purpose: Essential fix data including time, position, and fix quality

  • UTC time of position fix
  • Latitude and longitude
  • GPS quality indicator (0=invalid, 1=GPS fix, 2=DGPS fix)
  • Number of satellites in use
  • Horizontal dilution of precision
  • Altitude above mean sea level

RMC - Recommended Minimum Navigation Information

$GPRMC,time,status,lat,latNS,lon,lonEW,speed,course,date,magVar,magVarEW*checksum

Purpose: Minimum recommended navigation data

  • UTC time and date
  • Position status (A=active, V=void)
  • Latitude and longitude
  • Speed over ground (knots)
  • Course over ground (degrees)
  • Magnetic variation

GSA - GPS DOP and Active Satellites

$GPGSA,mode1,mode2,sat1,sat2,...,sat12,PDOP,HDOP,VDOP*checksum

Purpose: Satellite information and dilution of precision

  • Selection mode (M=manual, A=automatic)
  • Fix type (1=no fix, 2=2D, 3=3D)
  • PRN numbers of satellites used
  • Position, horizontal, and vertical dilution of precision

GSV - GPS Satellites in View

$GPGSV,numMsg,msgNum,numSat,sat1,elev1,azim1,SNR1,...*checksum

Purpose: Detailed satellite information

  • Number of satellites in view
  • Satellite PRN numbers
  • Elevation and azimuth angles
  • Signal-to-noise ratio

Time-Related Sentences

ZDA - Time and Date

$GPZDA,time,day,month,year,localZoneHour,localZoneMin*checksum

Purpose: UTC date and time with local time zone offset

GBS - GPS Satellite Fault Detection

$GPGBS,time,errLat,errLon,errAlt,svid,prob,bias,stddev*checksum

Purpose: RAIM satellite fault detection

Checksum Calculation

The checksum is calculated as the XOR of all characters between '$' and '*' (exclusive):

checksum = char1 ⊕ char2 ⊕ char3 ⊕ ... ⊕ charN

The result is converted to a two-character hexadecimal representation.

SerialMon Support

  • Complete NMEA 0183 sentence parsing and validation
  • Checksum verification
  • GPS position and time data extraction
  • Satellite tracking and signal quality monitoring
  • Time synchronization using GPS time
  • Support for multiple GNSS systems (GPS, GLONASS, Galileo)
  • Navigation data logging and analysis
  • Real-time position tracking
  • Dilution of precision calculations
  • Satellite constellation monitoring

Applications in Power Systems

  • Time Synchronization: High-precision UTC time for protection and control systems
  • Phasor Measurement Units: GPS timing for synchronized phasor measurements
  • Fault Location: Precise timing for traveling wave fault location systems
  • Asset Tracking: Location monitoring of mobile equipment and vehicles
  • Emergency Response: Crew location and navigation during outage restoration