Main Site Documentation

CAN J1929 NMEA2000 Question


I am working on a CAN bus project for my boat, and I need to interface with a NMEA2000/J1939 CAN bus and read decode messages/PGNs.
My plan is to use a FEZ Panda with an MCP2551 transceiver. I’ve looked at the CAN example in the documentation, and it looks pretty straight forward, but I’m not sure how to extract the PGN and data from the CANMessage. J1939 PGNs are 29 bit. Am I right in assuming that the PGN is returned in the ArbID field of the CANMessage structure? I am aslo assuming that IsEID should be true. If anyone has any tips or code they could share I would sure appreciate it…


What we provide is the CAN interface with standard CAN messages. On top of that, there maybe software implementation of what does the data mean on the bus, this we do not cover as it is a system-dependent. Google or this community may have more information.

Welcome to the community.


Nice project! I’m interested

Did you have a look at this packetlogger software (and the blogs):

he is decoding a lot of the messages.