Open Source Projects
Software projects for boats, with recent commits as of 2026.
AIS-catcher - AIS receiver for software defined radio (SDR) dongles.
Bareboat Necessities - All in one operating system, incorporating OpenCPN, SignalK, PyPilot etc plus open source hardware projects.
BlueBridge - Android app integration with NMEA data via MQTT and Bluetooth.
BoatOpenIO - ESP-32 16-channel analog marine gateway for legacy VDO sensors, integrating analog instruments to MQTT and SignalK.
BoatyPi - Open source hardware/software for boat ePaper display.
BrineOMatic - Watermaker controller for ESP32, open source hardware and software, integrates with SignalK and Home Assistant.
CAN Boat - NMEA2000 and NMEA 0183 CLI utilities.
d3kOS - Raspberry Pi based navigation and automation platform.
DiscoTime - Time and lat/long dashboard for long distance passages.
eInk Labels for SignalK - SignalK plugin to send SignalK path data or API results to an BLE eInk Electronic Shelf Label.
Galadriel Plotter - Raster based chartplotter for low power servers.
gpsd - GPS and AIS daemon wrapping NMEA0183 in its own simpler format. C, Python. Ubiquitous.- GWeatherRouting - Navigation and automated routing, Python/GTK4.
- gypsy - Multiplexer for GPS NMEA data, daemon and C library, alternative to gpsd.
- Ilma - Software based Navtex receiver for Raspberry Pi or similar.
imud - IMU (Inertial Measurement Unit)/Magnetometer multiplexer with NMEA stream for chartplotters.Kip - SignalK dashboard / instrument display.
- KPlex - NMEA0183 multiplexer for Linux, Unix, macOS and OpenWRT. (Google Group).
libWeatherRouting - Python weather routing library with linear iso-routing and shortest path routes.
Maiana - AIS Transponder open hardware/software.
Marine Chart Viewer - QT6 based chart plotter for Windows, Linux and macOS. Displays ENC and CM93 charts and GSHHG basemap.
MarineYachtRadar - MaYaRa server, display, OpenCPN and SignalK integration as open alternative to commercial radar processing.
- Marinux - Muplex NMEA multiplexer, OSD Depth echo-sounder display.
nm2k - NMEA0183 and NMEA2000 web based visualization and analysis.
- OpenCPN - Chart Plotter for macOS, Windows, Linux, Raspi and Android.
Open Marine Systems - Home Assistant add-ons for navigation and anchor watch, installed via HACS.
- Open Boat Projects - DIY hardware and open source projects, English and German.
- OpenFairWind - Alternative user interface, QT based, FairwindSK for SignalK on macOS, Windows, Linux, Android, iPhoje and iPad.
- OpenPlotter - Combined project of SignalK, OpenCPN, PyPilot etc.
PyGPSClient - Python GPS/GNSS testing, diagnostic and configuration, incl NMEA integration.
- PyPilot - Python based auto-pilot.
Rhizomatics - SignalK and Home Assistant plug-ins and associated apps.
ROB - Raspberry Pi On Board, Java and Python navigation utilities.
Sail-O-Vision - Obstacle and wildlife detection with camera and NVIDIA Jetson.
Sailtrack - Modular racing performance tracker using MQTT.
- SignalK - Node.js pluggable framework for boat data distribution and analysis.
- Smart Boat Innovations - Videos and articles on building a Raspberry Pi and Home Assistant based smart boat.
TwoCan - NMEA2000 integration for OpenCPN.
Venus - Victron Energy’s open source OS for their GX products, available for self-hosting on Raspberry Pi.
Xilje - Garmin integration projects, incl plotter display of local web apps and PyPilot integration.
See also OpenCPN NMEA Tools.
C and C++
Section titled “C and C++”minmea - GPS NMEA0183 parser in C.
- OpenSkipper - C# based NMEA2000, NMEA0183 and AIS integration, last updated 2023.
ESP32 NMEA2000 - NMEA2000 integration with USB, Wifi, 0183 on M5 Atom CAN and compatible with other ESP32.
NMEA2000 - Arduino NMEA2000 interfacing library used in several commercial products.
NMEA2000_ais_wifi_gw - ESP32 based NMEA2000 gateway.
NMEA2000_esp32 - ESP32 objects for use with NMEA2000 library.
- Sens32 - Sensor development framework for ESP32 based sensors by SignalK.
GoLang
Section titled “GoLang”go-nmea - NMEA 0183 sentence parser.
nmea0183 - NMEA 0183 sentence parser, with Actisense integration examples.
JavaScript
Section titled “JavaScript”canboatjs - Native CAN Bus / NMEA 2000 interfacing.
nmea-simple - NMEA 0183 sentence parser. Fork of the now deprecated
nmeapackage.
Python
Section titled “Python”Lots more libraries and tools can be found on PyPI, for example NMEA-related.
- nmea crate - NMEA 0183 sentence parser.
NMEAParser - iOS and macOS NMEA 0183 parser and validator.