CANboat documentation

CANboat decodes and encodes the CAN networks on boats: NMEA 2000 above all, and the SAE J1939 and Quick PCS buses some engines and windlasses speak. The NMEA 2000 database is closed, so CANboat's has been reverse engineered from observation and public sources since 2009. The source is on GitHub.

PGN documentation

Every message CANboat knows, field by field, with the enumerations they use:

The same definitions, for use in your own project (pin a release; semantic versioning flags changes to them):

JSONXML
NMEA 2000canboat.jsoncanboat.xml, schema canboat.xsd
SAE J1939canboat-j1939.jsoncanboat-j1939.xml
Quick PCScanboat-quick.jsoncanboat-quick.xml
canboat's own pseudo-PGNscanboat-pseudo.jsoncanboat-pseudo.xml

NMEA 2000 as a CAN database for CAN tools: canboat.dbc.

Using CANboat

The C programs

Research

How some proprietary PGNs work, worked out on the bus:

And the projects that use CANboat's definitions: the downstream survey of October 2026.