OpenPlotter
Is opensource software a real alternative to marine navigation equipment?
Can I get away with saying it depends…
Mat started to look into this for two main reasons, firstly the age of the equipment on Allegra means its getting to the rip and replace stage, as once one piece of equipment is upgraded it gets more difficult to make that system to talk to something else without additional hardware. The marine navigation equipment is all perfectly working and serviceable it just isn’t easy to update. Second, Allegra has a navigation table that at one point had space for a plotter or even might have had a plotter but was now covered up with a piece of plastic.
During the winter of 2020-2021, Mat started to research what OpenPlotter could bring to the table. You need:
- A Raspberry Pi
- A way to interface to your navigation equipment or a GPS receiver
- A screen & Keyboard/mouse
and that’s it… You have an out-of-the-box working Chartplotter. There are going to be a lot of things you want to add to this, such as sensors and other software (UK Charts for one!) but for relatively a small amount of money you have a working system.

Boat Instrument Setup
This diagram shows how the instrument network was set up on Allegra when I started this project. The Pi will connect to the SeaTalk network to get boat data, such as depth and wind information into the system using an optocoupler (DIY Electronics) . This means that the two systems are isolated from each other.
Useful Links
How it all started
The above setup got everything up and running. At this stage it was the basics but it worked. After using this software for some time, I could see the potential and how I could use this system to expand what I could monitor and get more life out of my existing instruments and sensors. From here these videos cover the development of my setup to where it is today.
OpenPlotter Development
Argon M2 case & Pi4
Improving speed and expanding the project
Now the basics were understood and SignalK and OpenCPN were setup to gather data from the boats navigational systems, it was clear that more could be done. AIS and engine data were two areas that could be explored further, however, the Pi3 was a little sluggish when trying to run a web browser and OpenCPN at the same time. Cooling was also an issue so it was time to address this before expanding the project.
AIS Reciever – SDR VHF Application
With speed and cooling addressed, it was time to add an AIS receiver to OpenPlotter so that this data could be overlayed on the charts. This uses a cheap USB software-defined radio and minimal setup in the application. To improve the range of the radio, we upgraded our VHF/FM splitter to an AIS/VHF/FM splitter which is available in another video on our channel.
Using WiFi to export boat data
With the increased performance of the Pi4 and now AIS, this information can be streamed from OpenPlotter over to other applications such as Navionics. In this video we set that up and show the options if you want to export other data to different software or hardware that might be running on your boat.
AIS Reciever – SDR VHF Application
With speed and cooling addressed, it was time to add an AIS receiver to OpenPlotter so that this data could be overlayed on the charts. This uses a cheap USB software-defined radio and minimal setup in the application. To improve the range of the radio, we upgraded our VHF/FM splitter to an AIS/VHF/FM splitter which is available in another video on our channel.
Using WiFi to export boat data
With the increased performance of the Pi4 and now AIS, this information can be streamed from OpenPlotter over to other applications such as Navionics. In this video we set that up and show the options if you want to export other data to different software or hardware that might be running on your boat.
Digitise an older engine
To digitise the engine aboard Allegra, it was going to need some additional sensors as its a mechanical design with no computer or ECU. To achieve this we used an ESP32 and a project framework called SensESP. Below was the criteria to build this:
- Will be removable
- Will not damage or modify the engine wiring harness or engine sensors
- Will maintain the current engine control panel
- Will not compromise engine reliability
This video walks through the process of building the base code.
The project required some additional engine sensors in order to meet the above which could be different if you wanted to copy the setup. This video shows the sensors we used to get that information out of the engine. It also covers some of the calibrations that were required to make the information accruate.
Now that hardware is up and running and the information is accurate, it was time to finalise this installation.
Link to the SensESP project https://signalk.org/SensESP/pages/getting_started/
The code that’s running on our ESP32 https://github.com/Boatingwiththebaileys
OpenPlotter V3
OpenPlotter v3 has now been released which supports a 64-bit operating system. It has been rewritten from the ground up and is faster than ever. In this video, we cover the points you need to consider when you upgrade and look at what’s changed if you are new to this software.
SK Data Prioritisation
In this video, we look at how you can prioritise data if you have multiple devices sending similar information to SignalK. This is a feature of OpenPlotter 3 and can be very useful when sharing this data with applications such as OpenCPN which doesn’t like receiving more than one set of GPS coordinates for example.
Bilge Monitoring
The engine project now includes bilge monitoring which can be adapted to your requirements. Any switch sensor can be used to trigger something and give you an alert or notification. Have a look at this video if you want to add this to your project.
Sharing Data across Platforms
We have wanted to get AIS information on the C80 display for some time now. This video shows you how to link equipment such as this to your OpenPlotter system and share the data.
Things just got easier…
This is set to be the best board to integrate a Raspberry Pi to your boat electronics, The MacArthur Hat from OpenMarine. We get a test board and show some of whats possible. Now you can plug and play!
SK to NMEA 2000
Following our electronics upgrade, we now have an NMEA2000 network, which means we can share even more information between devices. Here we share engine information with a Raymarine Axiom and also set up the fuel manager which can help predict fuel usage.
Pi5 Build
Our new setup for 2024, a Pi5, NVMe base SSD, MacArthur Hat and OpenPlotter 4. This has to be the best version of this platform so far!
Arduino to SensESP
We build an AC power monitor using an ESP32 from an Arduino sketch. This video covers how you can convert sketches to work with SensESP.
Node-RED
Our first Node-Red tutorial, looking at some of the basics and an example of controlling a light based on the charger mode.
Node-Red Digital Switching
How to build digital switching using the Raspberry Pi and Node-Red, and in the 2nd part of this video we take a look at LED lighting controls. Code on our GitHub site.
Live Tracking & Automation
How to build live tracking and automation using Node-Red. The code for this on our GitHub site.
What it looks like now

Sensors and equipment
The above diagram shows how the instrument network and the Pi sensors and circuits are set up on Allegra. With the Pi running WiFi, the ESP32 can connect wirelessly from the engine compartment and data can be shared with tablets and phones over the same network. The introduction of an NMEA2000 network means that data can now be shared with the Axiom display. In addition to that, Bluetooth is used to connect to all my Victron kit and a fridge monitor and I have a 2nd ESP to monitor mains power usage.
All of the code on the ESPs is available from our GitHub site. Everything else is either a plug-in thats been installed on Signal K or part of the underlying operating system. Now that we have a MacArthur Hat connecting to the boat equipment, these systems are easy to setup and build yourself.
Useful Links
You can also contact us if you have any questions or need a bit of help getting started.
