Saturday, August 22, 2015

NMEA-2000 bridge

A few people have asked about connecting an Arduino Alternator Regulator to the NMEA-2000 bus - just to report out status.   This morning I spent some time googling to see what was out there, and think there can be a rather simple bridge built based off of an Arduino Due.

Using the Due has a couple of advantages vs. using an Arduino + CAN sheild.  The 1st is perhaps cost - Even overseas, a Uno + a sheild comes in at about the same price as a Due.  Though it is true one will still need to add a transceiver to the Due.  But another advantage is the Due is a 3.3v device - so no 'logic level' conversion will be needed.  It also has a built in CAN controller, with available libs to support it.  And there is even a +5v source that can be used with the CAN transceiver.  And it even has several serial ports, so would be able to act as a bridge for more than one regulator.

Taking in the ASCII status strings from the regulator, parsing them and translating them into some NMEA-2000 packages looks to be a simple task, and I even found a couple of sample sketches that goes a long ways towards that goal:

https://github.com/ttlappalainen/NMEA2000_due

forum.arduino.cc/index.php?topic=50893.30

http://copperhilltech.com/arduino-due-can-bus-transceiver-breakout-boards/

being a few links.


I have a Due on hand, perhaps can look into making up a simple bridge - or if anyone else wants a go at it, let me know and will make sure to link it in!