NMEA 0183 troubleshooting – Part 1

If you wonder how we spent our Christmas Holidays, you may have an easy guess: boat maintenance! Initially we had planned to sail off to Croatia with a quick passage from Marina di Ravenna to Rovinj, but the weather decided not to cooperate so Kismet remained in her berth and received some TLC instead.

The cold (below 0 degrees C at night) gave us the chance to run both our two Webasto diesel heaters and we are glad to report that they work well!

As every boat out there, Kismet also has a long list of tasks that need to be performed which includes repairs, preventive maintenance and improvements. High on the list of repairs was to troubleshoot and fix the NMEA connection to the chart plotter in the cockpit. With some time at hand thanks to the holidays, we were up for the challenge!

Being a 20 years old boat, the navigation systems on Kismet have gone through many generations of technology. I believe that initially she was equipped with a Loran-C system, then had a first generation GPS and chart plotter, finally a more “modern” GPS and navigation system. There are still left-overs from the old systems in the form of mysterious cables, mostly coaxial ones, that go from here to there but are connected to nothing, sadly terminated by a turn of insulating tape. It will be a major task for the future to trace them, get rid of the unused ones and possibly make space for a last generation system!

The diagram below shows the current status of the navigation and support systems on Kismet.

Kismet electronics

At the time we surveyed the boat before deciding to buy it and before the new VHF Raymarine Ray240E radio was installed, we clearly remember that the information about the wind direction and the depth appeared on the Geonav 11C chart plotter at the helm station. However when we took Kismet to Croatia last summer, we could only see them on the ST80’s and ST60+. Not a major problem when it comes to navigation and safety since we still have the necessary information from the other instruments, but it is cool to also have them all in the plotter for an easier passage management and landing.

Where to start from to solve the issue? The temptation is always to blame a faulty device, in this case the E85001 interface or the Geonav 11C chart plotter, but this time it wasn’t the butler! First things first.

The basics of NMEA 0183

The NMEA 0183, dating back to 1983, is an electrical and data communication standard that defines how different marine devices can talk to each other. In its simplest and most often used configuration it consists of one “talking” device sending messages to one “listening” device, for example a GPS device sending position information to a chart plotter. In a slightly more complex configuration, the “talking” device sends its messages to multiple “listening” devices (usually no more than 3 or 4).

The opposite doesn’t work though. There cannot be multiple “talking” devices sending messages to one or more “listening” devices on the same connection. This is because NMEA 0183 has no rules to decide which device should talk first and how to solve conflicts between multiple devices wanting to talk at the same time. If there is the need to have multiple devices talking at once to one or more other devices, then either the involved devices have multiple separated NMEA ports (for example one IN port and one OUT port) or an extra device called multiplexer is necessary.  In this respect NMEA 0183 is a point-to-point connection system and not a communication bus.

NMEA 0183 uses a pair of wires to transmit a digital signal from one device to another.  Any time the voltage on wire A is higher than the voltage of wire B we have a 1 (or mark) and any time the opposite happens we have a 0 (or space). This way of operating is called differential transmission because what matters is the difference in voltage between the two wires and not the voltage on each single wire. Differential transmission is useful on a boat because it is less incline to suffer from electromagnetic interference from the many devices that may operate close to the wires. In fact an electromagnetic field “hitting” the wires will affect them both in the same way, shifting both voltages up or down, but the difference between the voltages will stay the same and the transmitted information will be preserved. Also for this reason a differential signal can travel a longer distance before degrading to the point of being unreadable by the receiver.

In each pair of NMEA 0183 wires, one wire is labelled as + (plus) and the other as – (minus). The minus wire should NOT be connected to the boat battery negative terminal. If you do, it may or may not work as expected. Only in some very early implementations of the standard there were configurations allowed where the minus wire could be connected to the battery negative, so some really old systems may work anyway if you do, but in general you should avoid it.

Basic NMEA 0183 connection

By the way, at electrical level the NMEA 0183 is a special implementation of the more generic RS-422 (aka EIA-422), which is widely used in the industrial environment. Note that RS-422 is not compatible with the well known RS-232,  the protocol of the old serial ports, so an adapter is needed to connect the NMEA 0183 to a PC. More about this in Part 2.

Getting physical

This is not about hitting someone, rather about checking first that the physical connection between the talker and the listener, in the form of the two wires necessary for a NMEA 0183 electrical link, is in place and is working as expected. If the wires are interrupted somewhere or are damaged, the signal will not go through at all or will degrade faster becoming unreadable at the receiving end.

To test a wire we need to measure its electrical resistance, which can be done by connecting a multimeter set to test resistance/continuity across the two ends. If the cable is already running through the boat, the two ends may be many meters apart, which is more than the length of the multimeter’s probe cables. Having two wires to test and the need to overcome the distance, an easy solution is to temporarily connect the two wires on one end and measure at the other end like shown below. To temporarily connect one end of the two wires, one can simply twist the copper strands together and secure them with a turn of insulating tape.

Testing the NMEA wires 1

If the two wires are fit for their task, you should read a resistance which is maximum of few ohms, depending on the diameter of the wires and their length. The higher the diameter, the lower the resistance. The higher the length, the higher the resistance. The material the wire is made of (usually copper), whether it is a solid rod or stranded and the temperature also have an effect on their resistance.

For example, a stranded copper wire with a diameter of 0.25 (AWG 30) at 20 degrees Celsius has a resistance of roughly 0.339 ohms per meter. For a 10 meters wire we should measure about 3.5 ohms total. Both ways, using the technique above to connect 2 wires together at one end, should give about 7 ohms total.

If you read a much higher resistance this means that one or both wires are faulty, even though there is some electrical continuity. For example, one wire could be partially damaged or you may have a connection somewhere in between that has degraded. Not good in both cases.

If you cannot read any resistance (infinite resistance), then one or both wires are cut somewhere between the two ends. Just in case, also check once more  your temporary connection at one end before reaching this conclusion, in case it has come loose.

In case you suspect that a wire is interrupted somewhere, in order to find out which wire of the two is bad (unless it is both of them), you would need a spare wire that you know is good (you can test it in case you are not sure), to temporarily bridge between the end of each wire under test and the other end where the multimeter is attached. Look at the diagram below. You will have to repeat the test for each one of the two wires independently. If you have it, chose a temporary bridge wire with a diameter higher (AWG lower) than those you are testing. This will minimize the resistance it introduces allowing for a more accurate measurement.

Using a bridge wire to identify a faulty conductor

In any case, since the two wire often run together (and may be part of the same multi-wire cable), even if you find that only one of them is faulty, there is a high chance that the other one may also fail soon, so it would be wise to replace both of them (or the whole cable) at once.

The problem on Kismet

After having run the tests above, it was clear to me that I had to look for a faulty cable or connection on Kismet. Having checked all connections, I definitely had a faulty cable somewhere. This is somehow the worst problem to have because, not knowing exactly where the cable has failed, calls for a total replacement of it, which means disassembling part of the boat to strip out the faulty cable and run the new one.

While preparing for this “daunting” task and checking where the original cable was running through, I was lucky enough to stumble into exactly where the cable had failed. Here is the evidence:

Wire cut on Kismet

Here is what I think has happened. When this hole to run the cables through was drilled in the stainless steel holding rail at the helm station, its contour wasn’t smoothed and refined properly,  leaving a sharp edge. As the cable was pulled a bit through it during some successive maintenance the sharp edges cut through the cable, seizing some of the wires inside. The cable was therefore only partially faulty and since in this case the wind/depth information travel on different pair of wires than the GPS information, we had the position information  but not the wind/depth on the chart plotter.

The solution to not replace the whole cable was to put instead a junction box in the engine room, where the old cable comes in to go up to the steering pedestal, and only replace the last part of it with a new one. Since I was at it, I used a shielded cable to minimize the magnetic field on the nearby compass (the original cable wasn’t shielded, shame on the original installer!)

I also run from the main switch panel and through the engine room a dedicated 24V power supply to the chart plotter, also using a shielded cable. Until then in fact the chart plotter had been powered directly from the SeaTalk bus (shame 2 on the original installer!), which is inappropriate for its 25 W power need, with the effect to shut down the night illumination of the ST80 wind instrument at the helm.  Once the plotter had its own power supply, separate from the Raymarine bus, everything went back to normal.

It was good to have back on the plotter the wind and depth indications. Now I feel it is working as it should. 🙂

Wind and depth indications are back

I hope you found this rather long article useful. If you are interested in a follow-up,  I plan to cover the troubleshooting of the NMEA messages in Part 2.

Fair winds,

2 thoughts on “NMEA 0183 troubleshooting – Part 1

  1. You stress that the NMEA negative should never be connected to ground. I found your site trying to interface my new B&G AIS VHF radio to my 2012 Garmin GPS 545. The Garmin specifically shows the NMEA Negative being connected to ground (and in fact, does not have a NMEA Negative wire on the wiring harness). It is certainly not something only found on very old units!

    • Hi Harry, what I originally wrote is correct. NMEA 0183 v1.0 is using the EIA-232 standard (common ground), while the most recent NMEA 0183 v2.0 is using EIA-242 (differential).

      This said, I looked at the documentation of the Garmin 545 and indeed it seems to be using NMEA 0183 v1.0 with common ground. I assume they decided to stick to v1.0 for some sort of backward compatibility or to make the wiring simpler.

      Given this choice by Garmin, I see two potential problems when interfacing it to other NMEA 0183 devices. 1) If the other device is using NMEA 0183 v2.0 you will also be connecting one of the differential leads to the boat ground, which might (or might not) cause issues to the device itself; 2) serial connection with common ground (EIA-232) is more sensitive to EM interferences.

      If the two devices you are trying to connect are far apart or your are trying to achieve high speed (38400 baud) communication, you may have a lot of errors and retries. Your fall-back scenario is to use a maximum speed of 4800 baud, which for sending GPS information is good enough, but it is not suited for AIS communication.

      As said, it might or might not work in general (surely it is not ideal), but I hope it works for you! Happy to exchange some more thoughts if useful.

      Fair winds,

Leave a Reply

Your email address will not be published. Required fields are marked *