SA Meaning

Source Address; the network address of the module sending a message on a J1939 network.

Review status: source-backed medium Last reviewed: 2026-03-11

What SA Is in the J1939 Diagnostic System

SA, or Source Address, is the J1939 network identifier of the module that sent a specific message. In the J1939 CAN frame format, every message includes the source address of the transmitting module. When a module logs a fault code and broadcasts it on the J1939 bus, it includes its own source address so any receiving module — or connected diagnostic tool — can identify which controller the message came from.

The J1939 standard defines SA as an 8-bit field, allowing values from 0 to 253 (254 and 255 are reserved). By convention, SA 0 is typically the engine ECM, SA 3 is often the transmission controller, SA 11 is often the ABS controller, and SA 33 is often the instrument cluster — but these are conventions, not universal standards. Different OEM architectures assign SA values differently.

Where SA Appears and How to Read It

SA appears in the full fault code record as captured by a diagnostic tool. Most OEM diagnostic software (Cummins Insite, Detroit DiagnosticLink, PACCAR ESA, Bendix ACOM Pro) displays the SA alongside each stored fault code, allowing technicians to see which module reported each code. Some advanced telematics systems capture SA in their fault records; basic telematics may only capture SPN and FMI.

The driver's instrument cluster display typically does not show SA. The display shows the SPN/FMI or a translated message, but omits the SA to keep the display driver-readable. When a driver reports a fault code from the instrument cluster, they are often reporting the SPN/FMI without the SA. The SA becomes available when a diagnostic tool is connected to the 9-pin port.

Using SA to Identify Which Module Reported a Fault

SA is the key to distinguishing between fault codes that appear identical — same SPN, same FMI — but come from different modules. The same SPN may be monitored by both the engine ECM and a separate aftertreatment controller; without the SA, both codes look the same in a flat list. With the SA, the technician can see that one code came from the engine ECM at SA 0 and the other from the aftertreatment control unit at a different SA.

When multiple fault codes appear simultaneously, grouping them by SA reveals the diagnostic structure: all codes from one SA address represent that module's view of the fault condition. A group of codes all from the same SA may indicate a power, ground, or communication issue affecting that specific module's inputs. Codes from different SAs that appeared at the same moment suggest a shared infrastructure fault — J1939 bus, power supply, or common harness.

SA Assignments and OEM Conventions

SA assignments are specified in SAE J1939-81 (address claiming) and the SAE J1939 data book. SAE maintains a list of preferred SA assignments for common module types, but OEM implementations vary. On Freightliner Cascadia trucks with Detroit engines, the Detroit DD engine ECM uses one SA while Daimler's proprietary chassis modules use others — knowing that a specific SA belongs to the 'Detroit engine ECM' requires reading the OEM's module map or the diagnostic tool's module identification screen.

After installing new modules, OEM software updates, or hardware changes to the J1939 network, SA assignments can occasionally change. If a previously known SA is no longer producing expected messages, it may have been reassigned through a software update. The diagnostic tool's module scan function, which lists all modules currently on the bus with their SA values, provides the authoritative current assignment map.

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

FAQ

If two modules on the same truck show the same source address, what happens?

J1939 includes an address claiming protocol that prevents two modules from using the same SA simultaneously. If a conflict occurs, the lower-priority module must claim a different address or stop transmitting. In practice, SA conflicts appear when aftermarket devices are added without proper configuration and can cause communication faults that affect multiple systems.

Does source address appear on the driver dashboard, or is it only visible with a diagnostic tool?

Most driver-facing displays show the SPN and FMI but omit the source address to keep the display readable. Some advanced displays or OEM telematics can show the SA. A diagnostic tool connected to the J1939 port will show the full code including source address, which is where the SA is most useful for diagnosis.

Is SA 0 always the engine ECM on every truck?

SA 0 is commonly assigned to the engine ECM on North American trucks, but this is not universal. Different OEM architectures assign SA values differently. Verifying SA assignments using the OEM diagnostic tool's module identification screen is more reliable than assuming SA 0 is always the engine controller.