OpenCPN and NMEA 2000

migs

Well-Known Member
Joined
5 Jul 2011
Messages
168
Visit site
This month’s Yachting Monthly’s article about laptop navigation software does a good job promoting the benefits of this approach, for example pointing out that OpenCPN vector charts cost one tenth the price of the more well-known players.

One point not highlighted in the article is that (as far as I know) OpenCPN works natively with MMEA 0183 but not with NMEA 2000, so in our system we use an Actisense NGW-1-USB gateway to connect the laptop to the NMEA 2000 boat network. I believe the reason for this apparent oversight on the part of the OpenCPN developers is that they were unwilling to pay the exorbitant licence fee required to use the closed and proprietary NMEA 2000 standard. Seems strange that the global standard for connecting marine equipment should be this way but as they say, it is what it is…
 
The TwoCan plug-in will work with several modestly priced CanBus adapters mentioned in various places in this thread about the plug-in. AFAIK it has a wider range of data conversions than any commercial product.
 
I believe the reason for this apparent oversight on the part of the OpenCPN developers is that they were unwilling to pay the exorbitant licence fee required to use the closed and proprietary NMEA 2000 standard. Seems strange that the global standard for connecting marine equipment should be this way but as they say, it is what it is…

More to the point, OpenCPN is open source. If you paid the fee for the N2K standard you still couldn't include anything derived from that in open source code as that would count as re-publishing it.

The closed nature of marine electronics "standards" comes as a surprise to those who've grown up with Internet standards. It's one of the cultural differences between the electronic engineering world and the software world.

There's no law in many countries against people reverse engineering a protocol though and thanks to the work of Eric Raymond and many others, a lot of the workings of NMEA-0183 have been published independently of the NMEA, which is one reason why -0183 has proved so popular for data transfer between open source applications.

It's only more recently that supposedly reverse-engineered sources have become available for N2K.
 
There's no law in many countries against people reverse engineering a protocol...

The law goes further than that. An EU directive (which I presume is still implemented in UK law) specifically allows reverse engineering of software for interoperability purposes, and reverse engineering NMEA2000 by observation would fulfil this requirement. The relevant directive is 2009/24/EC, and the relevant paragraph states:
The person having a right to use a copy of a computer program shall be entitled, without the authorisation of the rightholder, to observe, study or test the functioning of the program in order to determine the ideas and principles which underlie any element of the program if he does so while performing any of the acts of loading, displaying, running, transmitting or storing the program which he is entitled to do.

However, NMEA2000 & N2K are trademarks of the NMEA and they can still stop you using them.
 
Open cpn does natively support signal k which does support n2k

This would be a easy and flexible way to bring nmea 2000 and a host of other information into open cpn.

The actisense either ngw1 or ngt1 (one is 0183 one is n2k to n2k) both have isolated communications and have the ability to ignore certain PGNs or sentences so they are in my opinion worth the extra being asked. The documentation is also very clear. You do get what you pay for.

Watch out when ordering as you can accidentally end up with the iso variant rather than the usb which isn't ideal!
 
  • Like
Reactions: vas
I have a raspberry Pi 4 (>$60) onboard running Openplotter OS which has both Signal K and OpenCPN installed as standard. It will decode N2K/Seatalk NG with a <$20 CAN HAT, NMEA 0183 with a RS422 to USB cable (<$15) and even Seatalk 1 with a <$5 optocoupler.

I have a 10.1" touch screen ($150) at the Nav station. I have just purchased a waterproof and Sunlight readable 15.6" screen ($650) for the Helm that will be installed this winter. All data is available on the WIFI network for you to look at on your phone/tablet/watch/laptop.
 
Having now read through the discussion on CruisersForum linked by @Hoolie in post 3, I'm more informed about the Twocan plugin and its design principle (and on where OpenCPN has gone recently in N2K support). As the plugin's author says a number of times, TwoCAN provides a direct (and cheap?) method of getting some N2K data into OpenCPN.

The other main route seems to be via SignalK, that requires a SignalK server which presumably needs input from a CANBus adapter. There is a SignalK server that runs native on Windows so thats another route for accessing data, the Pi route is another; both would need a CANBus adapter.

The choice of adapter seems to have resolved down to the Toucan CANBus device (which also has an ODBII adapter for your car) for direct attachment to Windows/Linux. There are various HATs for those with Pi setups.

The TwoCAN plugin now seems pretty mature and simple enough to use, I'd look at it seriously if I needed that capability. At the moment I have mixed networks on the boat, an old set of ST50 instrumentation and a Simrad plotter/radar. I've found the Simrad outputs NMEA0183 through the radar interface (ethernet) so that goes straight into OpenCPN as it is.
 
Another way of interfacing N2k to OpenCPN is to use one of the Shipmodul range of multiplexers. They are not cheap but they do a good job of converting the N2k messages bi-directionally to the NMEA 0183 protocol that OpenCPN understands, and WiFi if you need it.

But they can't convert everything. I have one of their devices and something I have on my to-do list is to use the direct N2k data throughput as a canbus converter. Hopefully this will be compatible with the TwoCan plugin.
 
Top