ecuLink logo

SAE J1939

J1939

SAE J1939 is the standard CAN-based communication protocol used by heavy-duty trucks, buses, and off-highway equipment to share engine, transmission, brake, and emissions data on a single wiring bus.

SAE J1939 is the standard communication protocol used by heavy-duty trucks, buses, and off-highway equipment to share data between electronic control units. It runs on top of CAN 2.0B (29-bit identifiers) at typical bit rates of 250 kbit/s or 500 kbit/s and is the protocol every modern Class 8 truck speaks at its 9-pin diagnostic connector.

Each J1939 message carries a Parameter Group Number (PGN) and a set of Suspect Parameter Numbers (SPNs). PGNs identify groups of related signals — engine speed, vehicle speed, transmission state — while SPNs identify the specific signal inside the group. Diagnostic Trouble Codes (DTCs) are also transmitted using SPN/FMI pairs, which is why fault codes from any J1939 truck look similar regardless of OEM.

J1939 replaced the older J1708/J1587 protocol on trucks built from roughly 2007 onward. Pre-2007 trucks usually still expose J1708 instead, which is why heavy-duty diagnostic tools (and ecuLink's gateway) support both. On the diagnostic side, J1939 is the bus that tools like JPRO, Cummins INSITE, and Detroit DDDL talk to, either through a USB VCI plugged into the dash connector or through a remote pass-through like ecuLink.

Looking for more?

Browse the full glossary, jump to the FAQ, or check what ecuLink supports today.