CAN Boat provides NMEA 2000 and NMEA 0183 utilities. It contains a NMEA 2000 PGN decoder, can read and write N2K messages.
C++ C XSLT Makefile Perl PHP
Latest commit 3646670 Dec 2, 2016 @canboat Fix print of random memory on receive of rapid position position update.
Don't use rapid update, once a second is good enough for NMEA0183.
Fix some other possible memory errors as well.



A small but effective set of command-line utilities to work with CAN networks on BOATs. Guess you now know where the name comes from.

The most common version of CAN networks on board, and in fact at the moment the only ones that this suite can analyze, are NMEA 2000 PGNs.

The NMEA 2000 database and implementation is copyrighted by the NMEA (National Marine Electronics Association). Access is restricted to members and parties that pay for it. If they do so they are not able to divulge the content of the database, thus making it impossible for open source developers to get access to it.

For this reason we have reverse engineered the NMEA 2000 database by network observation and assembling data from public sources.

To use the programs included in this project you will need the excellent Actisense NGT-1 PC gateway if you run Microsoft Windows or OS X. On Linux you can use the NGT-1 or the built in Linux ''socketcan'' driver.

This code uses reverse engineered knowledge to access the NGT-1 directly. It does not use the Actisense DLL or SDK.

For more information go to the CANBoat Wiki at

where you can find instructions on how to build the programs on your own computer and how to start extending the PGN database.


This file is part of CANboat.

CANboat is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

CANboat is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with CANboat.  If not, see <>.