NMEA 2000 powered Raspberry Pi

Running a Raspberry Pi aboard a boat has been a popular thing to do for a number of years. I’ve had them on every boat since the Pi first came out. Connecting them to a NMEA 2000 network, and powering them off a DC battery bank has required a bit more work up until now.


This is a companion discussion topic for the original entry at https://seabits.com/nmea-2000-powered-raspberry-pi/

I am currently testing an alternative to the PICAN-M from Hat Labs and hope to have some results in the next month or two. The name of the product is the Sailor Hat for Raspberry Pi and is available at https://hatlabs.fi/product-category/sh-rpi/sh-rpi-devices

Do you think that I could run this PICAN-M / Pi Solution off of the back of a Fusion Entertainment MS-RA70NSX head unit, which has NMEA2K on the back for their NMEA remotes?

The goals here would be to offer up an elegant media server solution, improve overall audio quality (versus Bluetooth) with the Pi and potentially a USB-powered DAC.

It should work in theory, right? Am I missing something?

That could potentially work. The only things I would be concerned about is power and termination. Most Fusion head units will power a NMEA 2000 network, while some require a special cable. You’ll have to figure out which one your model is.

Once you have the power side of things, then you’ll still need to terminate it on both “ends” so you will have to have a couple of tees at least along with the terminators. I don’t think you’ll have reliable results by just plugging the PICAN directly into the head unit without that.

Really interesting post. Apologies for newbie question, but if you can point me in the right direction then I’ll do my homework so hopefully future questions will be more intelligent!
I have a Raymarine setup which runs SeaTalk NG. I would like to achieve the following:

  • be able to deliver course-adjust instructions to the autohelm (SPX10 Course Computer). I would enter these using 4 Momentary Push On switches: +/- 1deg to port/starboard & +/-10deg to port/starboard
    I’m picturing a switch panel connected to the Pi, and the Pi then connected to the SeaTalk NG circuit.
    Is this a feasible goal? What kit do I need?
    Many thanks, Rich

My first reaction would be whether there is a Raymarine remote that you might be able to add that would be marine grade, already tested for this sort of use, and more likely to work :grinning:

However, I don’t see why you couldn’t use a Raspberry Pi + SignalK to do some of this. The easiest way, and it would require a decent amount of technical ability still, would be to connect the switches to the Pi, and then use something like NodeRED + SignalK to watch those inputs and send the autopilot change messages out. Depending on those messages, you might be able to use some of the existing plugins in SignalK that do Raymarine autopilot stuff, or you might have to write your own.

Sorry for the newbie question, but I just picked up a new boat, and wanted to play with some stuff like this. What I was hoping to do was get this Pi hardware to put on the NMEA2000 bus and then be able to access this information from maybe a webpage I put together being hosted by the Pi?

I was thinking that way I can dedicate an e-ink tablet or Kindle paperwhite (waterproof and can view in direct sunlight) on my boat dashboard. I would like to see speed, RPM, fuel levels but also some details outside the network like Time, Time to sunset, some sensors I plan to add to the Pi.

The existing tablet on the dash can’t be seen in the sun as it’s just not bright enough. The problem is the app for the existing NMEA transmitter is only for Android tablets and does not have all the data I would like to see.

Hi @Ivan

Your concept seems reasonable enough. What I would want to do first is to verify that the information you want to display is indeed on the NMEA 2000 network and that it is in a format that can be interpreted. In some cases, manufacturers will use proprietary busses to transmit their information. In other cases, they’ll use NMEA 2000 but still use proprietary messages that can sometimes be hard to decode.

The easiest way to do this would be to grab a Pi and stick it on the bus and see what is there. Pretty low investment cost, and if for some reason you needed to do some software development or create a SignalK plugin for your engines or the data, you could start there.

Thanks. Yeah, I have a couple Pi 3Bs laying around here, and a zero W sitting here too. I figured I would pick up that CAN + PS top hat for the 3B and give it a go.

Since the data feeding the tablet app via wifi is This device which just sits on the CAN bus, (and that info is also available on the CAN Open dial LCD display) I think getting the data into the raspberry pi should be possible.

I just am not very experienced with raspberry pi yet. I first was looking at an e-ink android tablet to load this existing wifi tablet app, but I kind of want more data and using a Pi might be a good interface that would allow more expansion into the future.

I would definitely check out SignalK and even Scott Bender’s excellent app WilhelmSK. The latter requires iOS, but I use it in tons of places and really like the reliability and marine related features.

Even without that, the instrument panel plugin app for SignalK, which it comes with by default, displays any sort of data and gauge on a webpage, and likely would be a good starting point for the data.