Converting Analog diesel engine instruments to digital

Jun 17, 2022
371
Hunter 380 Comox BC
For anyone interested in re-doing their instruments on the binnacle, there are a few good options for removing the tach, hour meter, coolant temp gauge, etc... from primary view (still should be installed somewhere) and rely on N2K to send engine data to your plotter / instruments.

1. Actisense EMU-1: Converts directly to NMEA 2000. Requires an additional Actisense tool to program it.

2. AOS Engine Gateway Single Engine Gateway – NMEA2000 Much cheaper than the Actisense solution (unclear how it's programmed, I asked for the manual but they wouldn't send it)

3. ESP32 microcontroller that receives analogue/digital data and sends it to Signal K, which sends it to N2K. ESP32 microcontroller (Google Search) If you have a CerboGX or OpenPlotter or a Raspbery Pi on your boat and you like to tinker, you can use a small ESP32 microcontroller to convert your analog data and send it to SignalK (SignalK can be installed on the CerboGX with the OS Large firmware update option). Then make a simple CerboGX- N2K cable (don't connect the power pin!) so that SignalK can send the info to your N2K / STNG network. Total investment (if you have the Cerbo GX) is well under $100.

1764745694047.png


This also allows you to use cheap waterproof "OneWire" sensors for engine compartment, exhaust elbow, alternator temp monitoring... it's very customizable. This version sends fuel consumption data (estimated from know RPM / fuel consumption values) based on RPM and engine load as % based on Yanmar published torque/fuel curves. The ESP32 uses a tiny amount of power and sends the data to the CerboGX via wifi. It will not affect the accuracy of your tach / coolant temp gauges.

1764744928701.png


You'll need to install VS Code on your computer to build the code and upload it to the ESP32. After the first load, later code changes can be sent via OTA (wifi) from your computer.

GitHub - cram001/esp32-Yanmar-ADC The code is still in alpha release (just started on engine testing) but the basics are working. I'll post pictures once my dash is rebuilt and the values are on the chart plotter.

With a CAN adapter board with built-in isolator, it should also be possible to directly convert the data to N2K, bypassing the SignalK step.... (SN65HVD230). However, that adds a lot of complexity (and memory requirements). If you want to go direct to N2K, maybe best to use one of the commercial products above. If you're willing to go through SignalK and you want to customize your ADC, then the ESP32 might be a good option for you.

There are several other projects such as:
GitHub - Boatingwiththebaileys/ESP32-code: SensESP32 Engine mointor code v2 (from YouTube fame! )
 
Last edited:
May 17, 2004
5,881
Beneteau Oceanis 37 Havre de Grace
Nice project. I’m doing something similar but with a Raspberry Pi Pico instead of an ESP. The Pico is using an RFM69 module to send the data back to a Pi running SignalK, and that Pi has a Yacht Devices USB adapter to put the data on the N2K network. I think over the winter I’m going to update the Pico to send the data over Bluetooth so the RFM module isn’t needed anymore. WiFi feels a little heavy for the simple telemetry data.
 
  • Like
Likes: marcham
Aug 17, 2013
1,083
Pearson P30 202 Ottawa/Gatineau
Nice project. I’m doing something similar but with a Raspberry Pi Pico instead of an ESP. The Pico is using an RFM69 module to send the data back to a Pi running SignalK, and that Pi has a Yacht Devices USB adapter to put the data on the N2K network. I think over the winter I’m going to update the Pico to send the data over Bluetooth so the RFM module isn’t needed anymore. WiFi feels a little heavy for the simple telemetry data.
Can you give more detail on using the pi to do the is please?
I would love to have the info on my atomic 4 easily displayed
 

jssailem

SBO Weather and Forecasting Forum Jim & John
Oct 22, 2014
23,769
CAL 35 Cruiser #21 moored EVERETT WA
I understood maybe 50% of this and can figure out another 20% but that leaves me woefully ill equipped to implement. I admire the ingenuity and the multiple options.

Which leads me to the quandary. Do I need this much detail of my boat engine to go sailing?
 
May 17, 2004
5,881
Beneteau Oceanis 37 Havre de Grace
Can you give more detail on using the pi to do the is please?
I would love to have the info on my atomic 4 easily displayed
The Pi end itself is pretty easy - SignalK takes care of the data formatting and interfacing to the NMEA network. Getting the data to the pi is the somewhat harder part. That’s where I use the Pico with temperature sensors clipped onto my thermostat housing and exhaust elbow, and a pulse sensor to read RPMs. I have documented most of what I put together at GitHub - davidasailor/PiForBoat.
 
May 17, 2004
5,881
Beneteau Oceanis 37 Havre de Grace
Which leads me to the quandary. Do I need this much detail of my boat engine to go sailing?
To go sailing, probably not. But when the wind dies and we need to motor for a couple hours to get someplace I like to have the visibility. Our Yanmar didn’t come with any temperature sensors, only alarms, so the extra level of detail is nice to have. For example one afternoon it gave me an early warning of our impeller losing a blade. I saw temperatures starting to rise and I was able to slow down the engine, get home, and replace the impeller before the overheat alarm ever went off. Mine also sends me a notification when my bilge pump runs, which once helped me know I had a leaky hose connection.
 
  • Like
Likes: jssailem
Aug 17, 2013
1,083
Pearson P30 202 Ottawa/Gatineau
Ok, consider me curious, I already have a pi, can you explain how the pico comes in to play? Where do you read the info? Can you send the info on a plotter (Raymarine)???
I do not know much about this.
If you can explain or send me where to go look for the info it would be very appreciated
A big thank you in advance
 
May 17, 2004
5,881
Beneteau Oceanis 37 Havre de Grace
Ok, consider me curious, I already have a pi, can you explain how the pico comes in to play? Where do you read the info? Can you send the info on a plotter (Raymarine)???
I do not know much about this.
If you can explain or send me where to go look for the info it would be very appreciated
A big thank you in advance
The Pico basically lets me collect sensor data from places that are too far to reach the Pi. The Pi sits behind my DC panel where it can connect to the NMEA bus and tank monitors, but that's pretty far from the engine and batteries. So I put the Pico in the aft cabin where it can reach the engine and batteries, and then it sends the data wirelessly to the Pi. If you have one central location where you can collect all of the data you want you could put the Pi there and do without the Pico. I think SignalK has plugins to interface directly with some temperature sensors so that part would be pretty easy. There is some soldering to integrate sensors, so you'd need to be prepared for that - this isn't really an out-of-the-box solution like some commercial yacht monitoring systems.

In my case I can read the data either on my chartplotter or on my phone. The chartplotter gets the data from the NMEA bus, where the Pi injects it with the Yacht Devices adapter (NMEA to usb: NMEA 2000 USB Gateway). If your Raymarine plotter is SeaTalk NG based then that should work fine, since SeaTalk NG is NMEA 2000 based. The Pi also sends the data back to a database on a workstation in my house, and my phone can connect to that to see dashboards and get alerts.
 
  • Like
Likes: fred1diver
Jun 17, 2022
371
Hunter 380 Comox BC
Nice project. I’m doing something similar but with a Raspberry Pi Pico instead of an ESP. The Pico is using an RFM69 module to send the data back to a Pi running SignalK, and that Pi has a Yacht Devices USB adapter to put the data on the N2K network. I think over the winter I’m going to update the Pico to send the data over Bluetooth so the RFM module isn’t needed anymore. WiFi feels a little heavy for the simple telemetry data.
I played around with Bluetooth at the boat .... I did not find the signal consistent enough for measuring/sending RPM. It's fine for measuring a tank volume (resistance) every few minutes. ESP32 uses extremely low current, even when using wifi to connect to SK. It also skip the overhead that is present on a RPI (ESP32 doesn't need an operating system)... making it ideal for this application, using very little memory. Depending on the board, the chip is designed to operate from -40 to 125 deg C .(RPI needs to be kept under 85C ... which is risky in some engine bays)... ideal for a marine environment, in case it's located in an engine bay! The boards are only $8, compared to $15 for the RPI nano 2... Flash is also availlable at 16MB for the ESP32 (my current project uses less than 1 MB, including debugging code!).

Keep us up to date with your progress! :)
 
Last edited:
May 17, 2004
5,881
Beneteau Oceanis 37 Havre de Grace
I played around with Bluetooth at the boat .... I did not find the signal consistent enough for measuring/sending RPM. It's fine for measuring a tank volume (resistance) every few minutes. ESP32 uses extremely low current, even when using wifi to connect to SK. It also skip the overhead that is present on a RPI (ESP32 doesn't need an operating system)... making it ideal for this application, using very little memory. Depending on the board, the chip is designed to operate from -40 to 125 deg C .(RPI needs to be kept under 85C ... which is risky in some engine bays)... ideal for a marine environment, in case it's located in an engine bay! The boards are only $8, compared to $15 for the RPI nano 2... Flash is also availlable at 16MB for the ESP32 (my current project uses less than 1 MB, including debugging code!).
That’s good to know. This season I switched from an RFM based DIY temperature sensor in my refrigerator to a Govee BLE one and it’s worked well. That’s what got me thinking BLE could work from the Pico, and it would be nice to not have the extra point of failure of the RFM modules. But if the Pico BLE isn’t reliable enough for more frequent measurements like RPMs that would be a problem.
 
  • Like
Likes: marcham
Mar 27, 2024
31
Hunter 39 Wickford
That is great. Thank you for sharing with us. This is on my list for this winter so thank you! I look forward to seeing the updates as you progress.
 
  • Like
Likes: marcham