When working with the Controller Area Network (CAN) bus—whether in automotive, industrial automation, robotics, or embedded systems—you’ll quickly notice that most CAN connectors include a ground pin. At first, this may seem unnecessary because CAN uses differential signaling. If the data is transmitted as a difference between CAN-H and CAN-L,…
Posts published in “SAE J1939 Basics”
If you’re learning SAE J1939, you’ll quickly run into two acronyms that show up everywhere—in diagnostic messages, simulation tools, engine logs, and OEM documentation: SPN (Suspect Parameter Number) FMI (Failure Mode Identifier) Together, SPNs and FMIs explain what went wrong and how it went wrong.They form the core of every…
If you’re new to SAE J1939, one of the first things you’ll encounter is how heavy-duty vehicles report problems. They do this using standardized diagnostic messages, and the two most important are: DM1 — Active Diagnostic Trouble Codes DM2 — Previously Active Diagnostic Trouble Codes Understanding these two messages will…
SAE J1939 is a family of Controller Area Network (CAN) based standards used in heavy‑duty vehicles for powertrain control and diagnostics. Historically, the standard specified a 250 kbit/s data rate, which has been adequate for networks containing a handful of Electronic Control Units (ECUs). Modern trucks now incorporate dozens of ECUs,…
One of the most common questions we receive from users involves the J1939 Address Claim process when connecting our J1939 gateways to another J1939 node. Many expect the address claim to succeed immediately, but under certain conditions it may fail. Understanding why this happens will save you both time and…
Looking to take your CAN-bus and SAE J1939 projects to the next level? Whether you’re building a data logger, protocol converter, or a full-blown J1939 ECU prototype, the Arduino-Due-Based SAE J1939 Programming Kit makes it easier than ever. Here’s why this all-in-one kit deserves a spot in your toolkit. The…
When it comes to vehicle diagnostics and data communication, two protocols dominate the field: SAE J1939 and OBD-II (On-Board Diagnostics, version II). At first glance, they may seem similar, since both deal with electronic communication between a vehicle’s components and diagnostic tools. However, their purpose, scope, and applications are quite…
Developing on the CAN Bus using higher-layer protocols—like SAE J1939, NMEA 2000, or CANopen—offers powerful features in vehicle, marine, and industrial systems. Yet this versatility comes with complexity. Whether you’re using off-the-shelf hardware (like PiCAN, Teensy, ESP32) or designing custom CAN hardware, having the right tools and a systematic troubleshooting…









