J1939 Source Address Explained

Source Address helps identify which electronic control unit sent a J1939 message.

Review status: source-backed medium Last reviewed: 2026-04-22

What Source Address Identifies

In J1939, every module on the network has a source address — a number from 0 to 253 that uniquely identifies that module within the vehicle's J1939 network. When a module broadcasts a fault code, its source address is included in the message. This allows the receiving tool — or the technician reading the display — to know which module reported the fault.

Without the source address, the same SPN and FMI combination can be ambiguous. SPN 3364 FMI 1 (DEF quality) could be reported by the engine ECM, by the aftertreatment control module, or by a secondary controller — and the correct diagnostic path differs depending on which module detected it.

Common Source Address Assignments

SA 0 is conventionally assigned to the engine ECM on most North American heavy-duty trucks, but this is not universal across all manufacturers. SA 3 is typically the transmission controller. SA 11 is commonly assigned to the instrument cluster. SA 40 is often associated with the ABS controller. These are common conventions, not universal standards — verify the SA assignment for a specific truck using the OEM's documentation or the diagnostic tool's module identification screen.

SA 128 and above are typically reserved for body builder and aftermarket devices that join the J1939 network. A fault code sourced from SA 128 may come from a telematics device, a body controller, or an aftermarket module rather than an OEM vehicle component.

Recording Source Address at a Roadside Event

If the truck's display or telematics shows a fault code with a source address, record it along with the SPN and FMI. Source address is often the key that allows a shop to direct the diagnostic immediately to the correct module without surveying all available modules. If the display does not show a source address, note which module name or icon is displayed — many instrument clusters identify the reporting module by name rather than SA number.

What Happens When Source Addresses Conflict

Each module on a J1939 network must claim a unique source address using the J1939 address claiming process. If an aftermarket device is added to the network with a pre-programmed SA that conflicts with an existing module, both devices may have difficulty communicating, and unexpected communication fault codes can appear. SA conflicts are a known issue when new body builder electronics, trailer telematics adapters, or non-OEM modules are integrated without proper SA configuration.

Related Pages

Sources

  • SAE J1939 Standards Collection SAE International · official · accessed 2026-05-05 · confidence medium

    Source: SAE International, SAE J1939 Standards Collection. This page paraphrases factual fields only and is not a substitute for the original document.

    Open source
  • NHTSA Manufacturer Communications Search National Highway Traffic Safety Administration · government · accessed 2026-05-05 · confidence high

    Source: National Highway Traffic Safety Administration, NHTSA Manufacturer Communications Search. This page paraphrases factual fields only and is not a substitute for the original document.

    Open source

FAQ

How many different modules can share a J1939 network on a typical long-haul truck?

Modern Class 8 trucks typically have ten to twenty or more J1939-connected modules depending on the specification: engine ECM, aftertreatment controller, transmission controller, ABS controller, instrument cluster, body controller, telematics device, multiplexing modules, and various specialty controllers. Each has its own source address, allowing the diagnostic tool to show which module reported a given fault.

If a fault shows SA 0, which module typically reported it?

SA 0 is most commonly assigned to the engine ECM on North American heavy-duty trucks, but this is not universal. Some OEMs assign SA 0 to a different primary module. The safest approach is to use the vehicle's OEM documentation or the diagnostic tool's module identification screen to confirm which module SA 0 corresponds to on that specific truck.

Can two modules on the same J1939 network share the same source address?

No — or at least they should not. J1939 includes an address claiming process to prevent conflicts. If two devices attempt to claim the same SA, a conflict occurs and one device will be unable to communicate. This situation can produce communication fault codes and is sometimes seen when aftermarket modules are added without proper SA configuration.