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.
The electrical standard that is used is EIA-422 although most hardware with NMEA-0183 outputs are also able to drive a single EIA-232 port. Although the standard calls for isolated inputs and outputs there are various series of hardware that do not adhere to this requirement.
The NMEA 0183 standard uses a simple ASCII, serial communications protocol that defines how data is transmitted in a "sentence" from one "talker" to multiple "listeners" at a time. Through the use of intermediate expanders, a talker can have a unidirectional conversation with a nearly unlimited number of listeners, and using multiplexers, multiple sensors can talk to a single computer port.
At the application layer, the standard also defines the contents of each sentence (message) type so that all listeners can parse messages accurately.
Read more about NMEA 0183: Serial Configuration (data Link Layer), Application Layer Protocol Rules, Vendor Extensions, Software Compatibility, Sample File, C Implementation of Checksum Generation