Skip to content

Open Source Projects

Software projects for boats, with recent commits as of 2026.

  • AIS-catcher - AIS receiver for software defined radio (SDR) dongles.
  • AvNav - Plotter with Android app and SignalK integration. German with English docs.
  • 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.

  • 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.
  • go-nmea - NMEA 0183 sentence parser.
  • nmea0183 - NMEA 0183 sentence parser, with Actisense integration examples.
  • canboatjs - Native CAN Bus / NMEA 2000 interfacing.
  • nmea-simple - NMEA 0183 sentence parser. Fork of the now deprecated nmea package.

Lots more libraries and tools can be found on PyPI, for example NMEA-related.

  • pynmea2 - NMEA 0183 sentence parser.
  • nmeasim - NMEA/GNSS receiver simulator.
  • NMEAParser - iOS and macOS NMEA 0183 parser and validator.