NMEA 0183 was the first marine electronics protocol to be created that is still widely in use today. Since its inception in 1987 there have been many updates. If you work in the marine industry, or even as a hobbyist that likes to install your own gear, it’s important to keep up with the changes. The most notable of these changes came when the NMEA superseded version 1.5 with version 2.0. There are of course other changes that have been introduced to subsequent versions of NMEA 0183, but these changes seldom cause issues. For that reason, I will only be discussing v1.5 versus v2.0.
The Actisense Tech Support desk is often asked about interfacing between devices that are designed to different versions of the NMEA 0183 protocol. Simply put, it’s primarily the job of the receiving device to ensure there are never any issues when interfacing across versions.
v1.5 Talker connecting to v2.0 Listener – The Listener in in this scenario may have been designed to a more up to date protocol, but it should also allow for interfacing to v1.5 Talkers to maintain backwards compatibility.
V2.0 Talker connecting to v1.5 Listener – The manufacturer of the Listener in this scenario should be providing an update to their software to cope with the change to v2.0 (and beyond).
Unfortunately, due to the lack of policing for NMEA 0183 (unlike the certification process that exists for NMEA 2000), there is nothing the NMEA can do to force a manufacturer to create their products in accordance with the latest version. So, here’s three things to look out for if you come up against this challenge.
NMEA 0183 v1.5 uses a ‘single ended’ method of connecting devices together, which you may know as RS232. Known as single ended as only a single wire is used for sending data. The other wire is a ‘Ground’.
NMEA 0183 v2.0 uses a differential connection better known as RS422. This method uses two lines for sending data, an ‘A’ or ‘+’ and a ‘B’ or ‘-‘ (negative). There is also a ‘Ground’.
Caution should be taken when connecting devices across mismatching versions. The diagrams shown below illustrate what to do and what not to do. This is particularly important when you consider that electrical isolation was not mandatory in v1.5 so getting it wrong could cause irreparable damage.
The RS232 standard employed for v1.5 operates between +/- 15 VDC. +3V to +15V indicates a ‘Start’ (0) bit. -3V to -15V indicates a ‘Stop’ (1) bit.
The RS422 standard employed for v2.0> operates between 0-5 VDC. A ‘Start’ (0) bit occurs when A=>B. A ‘Stop’ (1) bit occurs when B=<A.
See the diagram below for further clarification.
When you look through the NMEA 0183 sentences in v1.5, you will notice that they all include a checksum. However, the presence of this checksum was not mandatory. The absence of this checksum from a Talker when newer Listeners are looking for it is one of the main causes for data exchange issues in NMEA 0183. Products like the Actisense NDC-4 will add a checksum to an NMEA 0183 sentence if one is missing.
Status indicators were also added after v1.5 which helped to prove the validity of the data within the message. Some sentences now contain extra data fields so that they can carry more information than they used to but these extra fields can be easily ignored if the Listener is not expecting them. Some v1.5 listeners show an error if they receive these extra fields, causing the instrument to reject v2.0 sentences even though they are correct.
The graphic of an example NMEA 0183 sentence below illustrates the difference between the older and newer format.