Skip to content

Open Source Projects

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.
  • BoatyPi - Open source hardware/software for boat ePaper display.
  • BrineOMatic - Watermaker controller for ESP32.
  • 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.
  • 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.
  • 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.
  • 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 Boat Projects - DIY hardware and open source projects, English and German.
  • OpenPlotter - Combined project of SignalK, OpenCPN, PyPilot etc.
  • PyGPSClient - Python GPS/GNSS testing, diagnostic and configuration, incl NMEA integration.
  • PyPilot - Python based auto-pilot.
  • 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.

NMEA

See also OpenCPN NMEA Tools.

Not all NMEA is what it seems

A tiny subset of NMEA 0183 is used for GPS integration on almost all devices that handle GPS, including mobile phones, and so has vastly more usage than marine NMEA use cases. Hence, not everything labelled 'NMEA' may be useful in a boating context.

C and C++

  • minmea - GPS NMEA0183 parser in C.

C

  • OpenSkipper - C# based NMEA2000, NMEA0183 and AIS integration, last updated 2023.

ESP32

  • 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 - ESP32 based sensors for SignalK.

GoLang

  • go-nmea - NMEA 0183 sentence parser.
  • nmea0183 - NMEA 0183 sentence parser, with Actisense integration examples.

JavaScript

  • canboatjs - Native CAN Bus / NMEA 2000 interfacing.
  • nmea-simple - NMEA 0183 sentence parser. Fork of the now deprecated nmea package.

Python

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

  • pynmea2 - NMEA 0183 sentence parser.
  • nmeasim - NMEA/GNSS receiver simulator.

Rust

Swift

  • NMEAParser - iOS and macOS NMEA 0183 parser and validator.