Downstream survey: who uses CANboat (October 2026)

A survey of public GitHub projects for NMEA 2000, made on 7 October 2026 to find the projects that build on CANboat: which part they use, which CANboat version, whether they credit it, and how actively they are maintained.

This is a snapshot. Versions, star counts and dates are as of 7 October 2026 and will drift. The current CANboat release at the time was v8.3.0 (schema 2.7.0). analyzer/pgns.xml and analyzer/pgns.json were removed in May 2025, before v6.0.0, so anything still built from those files is older than v6.

The README's table of other projects using the CANboat PGN definitions is the maintained, short version of this survey.

Summary

1. Projects that use CANboat

"Credit" is whether the README or docs credit CANboat: yes, header only (only in a file header, a data folder or a NOTICE file), or no. "Last push" is the repository's, as of 7 October 2026.

1a. Generated from, or vendoring, canboat.json / canboat.xml

Repository Language ★ Last push How CANboat version Credit Evidence
boatkit-io/n2kGo92026-10-05cmd/pgngen downloads canboat.json at a pinned commit and generates Go decoders and encodersv8.1.0; has a -check-canboat-update flagyesmain.go: const canboatRelease = "v8.1.0"; README "based on CANboat data"
open-ships/n2kGo32026-09-30Vendored canboat.json (cmd/pgngen/schema.json), about 600 typed PGNs, and a full bus nodev7.1.0, schema 2.5.0 (updated 2026-09-05)yesREADME "generated from the community-maintained canboat schema", plus an acknowledgements section. The vendored JSON has "canboat" unicode-escaped, so code search misses it. Inspired by boatkit.
herostrat/nmea2000-rsRust02026-02-28Build-time code generation from data/canboat.json; uses CANboat's test vectorsv6.1.3yesREADME "Built on the canboat project…"
Sherin-SEF-AI/CanLabPython842026-09-23n2k_pgns.json built from canboat.json by tools/build_n2k_table.py --tagv8.2.1yesREADME licence section and CANBOAT-NOTICE.txt
phobicdotno/pgntuiPython22026-06-11Vendored canboat.json as decode/pgns.jsonv6.2.0yesREADME "TUI for NMEA 2000 with canboat decoding"
phobicdotno/actuisensePython12026-10-06data/pgns.json (PGN, name, fast-packet flag) generated from canboat masterv6.2.0header only"_source": "canboat docs/canboat.json (Apache-2.0)"; README silent
knifter/canboat_explorerPython02026-06-26Vendored canboat.json, GUI explorerv6.1.8yesREADME credits "CANboat Project PGN database"
wdantuma/signalk-server-goGo32026-09-29Vendored canboat/canboat.xml, Go types generated from canboat.xsdv6.2.2 (updated 2026-06-27)yes, but the README's "canboat" link points to the Signal K specificationcanboat/canboatgenerated.go
si6n/UCANLABPython02026-10-07Vendored canboat.json and canboat.xml, and a CANboat-derived DBC in data/dbc/marine/canboat_refs/v8.1.0header only (the data folder's README; the repository has no licence)data README "canboat PGN Reference Definitions (v8.1.0)"
ajsb85/nmea2000-pgn-referenceJavaScript12026-06-22Web PGN reference built from canboat.jsonv6.2.0yesREADME states schema 2.3.0 / v6.2.0
antipole2/JavaScript_piC++ (OpenCPN plugin)42026-09-08Ships data/scripts/canboat.json; canboatAnalyzer.js pipes frames through analyzer -jsonv6.1.3not in the README (the user guide was not checked)canboatAnalyzer.js
fkie-cad/maritime-dissectorLua222026-03-24Wireshark dissector generated from canboat.json, downloaded at generation timenot pinnedyesREADME "based on … CANBoat Documentation"
Maps-Messaging/canbus_interface (and Maps-Messaging/n2k)Java0 / 12026-09-28 / 2026-04Parses NMEA_database_1_300.xml, CANboat's sources/ file contributed by @elmue (in CANboat from 2025-05 to 2026-06)the NMEA v1.300 subset, not canboat.jsonin the docs ("derived from public CANboat XML metadata"), not the READMEthe XML file
jpilet/anemomindC++162026-07-14PgnClasses.* generated from a local CANboat checkout's analyzer/pgns.xmlpre-v6 (regenerated 2026-06-17)header onlygenerated header "index.js ../canboat/analyzer/pgns.xml"
sergei/sailvueC++142026-09-24Submodule n2k/canboat from fork sergei/canboat (last push 2023-12); InitCanBoat.c≤ v5 (the submodule commit is not on the fork's default branch, so uncertain)yes, since 2026-10-07 (sailvue#3).gitmodules
Sterwen-Technology/navigation_serverPython32026-10-02PGNDefns.N2kDfn.xml "derived from Keversoft NMEA2000 Analyzer" (the 2012 XML, via OpenSkipper), heavily modified2012 basein doc/NMEA2000.md onlydoc: "XML … initially published by Keversoft … moved into canboat"
jxltom/nmea2000Python02025-12-08A non-fork copy of tomer-w/nmea2000v6.0.0-alpha (2025-05); its copied sync workflow does not runyesnmea2000/canboat.json
OpenSkipperC#712023-04-03The 2012 Keversoft/CANboat PGN XML2012yesinactive since 2023
MO-RISE/marulcPython112023-09-14Vendored CANboat JSON2.0.0 (2021)yesREADME "identical to … CANBOAT"
technocreatives/n2k-genRust12024-08-08Code generation from CANboat's pgns.xml2022 (pre-v6)yesREADME
MENIER/RaymarineAutoPilot (and fgorina/Autopilot2000, MeteoGNSS, Test_NMEA_2000)C / C++4 / 02023-04 / 2026-07CANboat PGN id strings in pgnsToString.habout 2021–2023header only (pgns_def.h: "base of works: CANboat"); the fgorina copies keep only MENIER's headercase 126208L: return PSTR("nmeaRequestGroupFunction")

Already in the README list before this survey:

Repository ★ Last push How CANboat version Notes
aldas/go-nmea-client162023-07-18canboat.json loaded at runtimewhichever file is suppliedinactive since 2023; newer schema fields may not be handled (uncertain)
fard-draf/korri-n2k52026-09-23code generated from canboat.jsonv7.1.0credited
mbj4668/n2k72026-04-30vendored CANboat definitionsv4.12.0 (last synced 2023-06; a 2026-04 commit only added local Maretron PGNs)credited
negrusti/NMEA2000-Analyzer132026-07-10downloads master/docs/canboat.json at runtimelatestcredited
tomer-w/nmea2000212026-10-06vendored canboat.json, weekly sync workflowv8.1.0credited; also credits Smart Boat Innovations
tomer-w/ha-nmea2000172026-10-05through nmea2000v8.1.0credited
SmartBoatInnovations ha-smart2000usb / ha-smart2000esp10 / 52026-04-06 / 2025-11-15decoders generated from canboat.jsonv5.0.3credited only in pgn_type.json; asked in ha-smart2000usb#10

1b. Using canboatjs or ts-pgns outside the Signal K core

Repository ★ Last push Dependency Credit
ioBroker/ioBroker.nmea32026-10-06canboatjs ^3.20.0no
NearlCrews/signalk-nmea2000-emitter-cannon12026-10-05canboatjs ^3.20, ts-pgnsyes
jonaswitt/yacht-data-streams12026-08-29canboatjs ^2.4.2, @canboat/pgns ^3yes
MarcusWun/n2k-race-logger02026-08-23canboatjsyes
BigaOSTeam/BigaOS (plugin)02026-07-11canboatjs ^2.0.0not found
nparcher24/OpenHelm02026-05-15canboatjs ^3.14no
twigmarine/nori-can22023-06@canboat/pgns ^2yes
dirkwa/sensesp-n2k-gateway32026-08interoperates only: speaks canboatjs's candump3 to N2kIpGatewayyes

Signal K plugins that use canboatjs or ts-pgns, listed for completeness: sbender9/\, htool/\, mairas/signalk-dst800-calibration-plugin, johansolve/signalk-navico-autopilot-bridge, afds/\*, openwatersio/aiscast, meri-imperiumi/signalk-autostate and others.

1c. Running the CANboat tools, or packaging them

1d. Old or abandoned repositories that vendor CANboat data

1e. Hand-written decoders that cite CANboat as their reference

AlexAsplund/Vanchor (120★), csakos1/sailing-assistant (strong README credit), Ranman86/NauticPinnace, sankeysoft/nmea_dashboard, frye/N2k-simulator, constantineau/Agent_C4, erh/viam-chartplotter, sdoque/systems, gjk4all/NMEA2000-Relay-Controller, taerugh/can-cpp, skrewby/nmea, auvents-brave/BoatTools, lnx13/Actisense-Emulator.

2. Notable NMEA 2000 projects that do not use CANboat's definitions

Repository ★ Notes
ttlappalainen/NMEA2000 (and its _esp32, _mcp, _Teensyx, … drivers)682Own hand-written PGN code; one comment links a CANboat PR
OpenCPN/OpenCPN1493Own NMEA 2000 handling, but copies CANboat's fast-packet PGN list (comm_can_util.cpp) and the NGT-1 startup command (comm_drv_n2k_serial.cpp: "Copied from canboat Project"); credited in the source
jvde-github/AIS-catcher788Own code; cites CANboat as a source
Wireshark packet-nmea2000.c—Hand-written dissector (2025); cites the CANboat docs and fkie-cad
ntpsec/gpsd driver_nmea2000.c—Hand-written; cites CANboat
wellenvogel/esp32-nmea200098Built on ttlappalainen
AK-Homberger/\*92Built on ttlappalainen
hatlabs/SH-ESP32-nmea2000-gateway33Built on ttlappalainen
TwoCanPlugIn10Own decoders, "inspired by Canboat"; supports the CANboat log format
digitalyacht/iKonvert—Own SDK
sankeysoft/nmea_dashboard—Own Dart parsers

3. Method and limits