12.4 Diagnostic Trouble Codes: Suspect Parameter Numbers (SPN), FMI Codes & Guided Troubleshooting
Key Takeaways
- An SAE J1939 Diagnostic Trouble Code consists of a 19-bit Suspect Parameter Number (SPN) identifying the component and a 5-bit Failure Mode Identifier (FMI) defining the specific electrical or mechanical fault.
- FMIs provide precise circuit diagnostics: FMI 3 indicates high voltage or short to power; FMI 4 indicates low voltage or short to ground; FMI 5 signifies low current or an open circuit; and FMI 6 designates high current or grounded driver circuit.
- Active codes represent faults currently present that command dashboard warning lamps (MIL, Amber Warning, Red Stop Engine); inactive (stored) codes represent historical intermittent events logged with occurrence counts and timestamps.
- Diagnostic testing must be performed using dedicated breakout boxes and terminal probe adapters to prevent permanent spreading or fatigue of female harness connector terminals.
- Intermittent wiring faults caused by chafing, loose P-clamps, or thermal expansion are diagnosed through live graphing, harness wiggle tests, and step-by-step circuit isolation under full operating conditions.
Diagnostic Trouble Codes: Suspect Parameter Numbers (SPN), FMI Codes & Guided Troubleshooting
Troubleshooting advanced electro-hydraulic and electronic powertrain systems on modern heavy equipment requires a disciplined, evidence-based diagnostic process. Trial-and-error "parts swapping" is unacceptable in professional repair operations; it inflates customer downtime, risks damaging new electronic components, and fails to identify the underlying root cause. The SAE J1939 Diagnostic Trouble Code (DTC) structure establishes a standardized language that allows technicians to identify the exact failed subsystem and the specific nature of the electrical or mechanical failure. A Red Seal journeyperson must be adept at interpreting SPN-FMI code combinations, utilizing OEM diagnostic software, executing non-destructive circuit isolation tests, and resolving elusive intermittent faults.
Anatomy of an SAE J1939 Diagnostic Trouble Code (DTC)
Every diagnostic trouble code generated by a machine controller is broadcast across the CAN bus in standardized diagnostic message frames (such as DM1 - Active Diagnostic Trouble Codes and DM2 - Previously Active Diagnostic Trouble Codes). An SAE J1939 DTC consists of four fundamental data fields:
SAE J1939 DIAGNOSTIC TROUBLE CODE (DTC)
┌────────────────────────┬──────────────────────┬─────────────┬───────────────┐
│ SPN │ FMI │ CM │ OC │
│ (19 Bits: Suspect Item)│ (5 Bits: Failure Mode│ (1 Bit: Conv│ (7 Bits: Event│
│ e.g., SPN 100 = Oil P │ e.g., FMI 3 = High V│ Method) │ Count 0-127) │
└────────────────────────┴──────────────────────┴─────────────┴───────────────┘
- Suspect Parameter Number (SPN): A 19-bit number assigned by SAE that identifies the specific subsystem, sensor, actuator, or monitored circuit (e.g., SPN 100 = Engine Oil Pressure).
- Failure Mode Identifier (FMI): A 5-bit number ($0\text{ to }31$) that defines the exact engineering nature of the failure (e.g., electrical short-to-power, open circuit, out-of-calibration, or abnormal update rate).
- Conversion Method (CM): A 1-bit flag that indicates the byte alignment structure of the SPN within the diagnostic frame.
- Occurrence Count (OC): A 7-bit counter ($0\text{ to }127$) that records how many times the fault condition has transitioned from inactive to active. The occurrence count is indispensable for identifying chronic, intermittent wiring chafing or thermal expansion failures.
Common Heavy-Duty SPN Reference Table
| SPN Code | Monitored Subsystem / Parameter | Typical Machine Application & Diagnostic Impact |
|---|---|---|
| SPN 91 | Accelerator Pedal Position 1 | Operator throttle command; loss triggers default low idle or fixed limp-home RPM. |
| SPN 97 | Water in Fuel Indicator | Conductivity sensor in primary fuel filter bowl; warns of emulsified water in HPCR fuel. |
| SPN 100 | Engine Oil Pressure | Lubrication gallery pressure; critical safety limit (triggers FMI 1 shut-down). |
| SPN 102 | Intake Manifold #1 Pressure (Boost) | Turbocharger compressor boost; influences smoke limiting and torque derates. |
| SPN 105 | Intake Manifold #1 Temperature | Charge air cooler efficiency; high temperature causes thermal NOx derates. |
| SPN 108 | Barometric Pressure | Ambient atmospheric pressure; controls high-altitude fueling derates and DPF flow limits. |
| SPN 110 | Engine Coolant Temperature | Primary thermal status; controls glow plugs, thermostat monitoring, fan modulation. |
| SPN 157 | Injector Metering Rail 1 Pressure | HPCR common rail pressure ($300\text{ to }2,500\text{ bar}$); critical fuel delivery parameter. |
| SPN 190 | Engine Speed | Crankshaft rotational speed calculated from VR or Hall pickup. |
| SPN 625 | CAN J1939 Data Link | Physical network communication trunk line failure. |
| SPN 651 to 656 | Engine Injector Cylinders 1 through 6 | Cylinder-specific solenoid or piezo injector drive circuits (FMIs 5 and 6 common). |
| SPN 3216 | SCR Intake NOx Sensor | Measures engine-out raw nitrogen oxides entering the SCR catalyst. |
| SPN 3226 | SCR Outlet NOx Sensor | Measures tailpipe-out treated NOx to calculate urea dosing conversion efficiency. |
| SPN 3719 | DPF Soot Load Percent | Differential pressure and modeled soot accumulation inside DPF core. |
The Complete Failure Mode Identifier (FMI) Classification
The 5-bit Failure Mode Identifier defines the specific electrical, electronic, or mechanical failure detected by the ECM. A journeyperson technician must have an instinctive command of these codes:
| FMI Code | Standard SAE J1939 Definition | Electrical / Circuit Interpretation | Typical Physical Root Causes |
|---|---|---|---|
| FMI 0 | Data Valid But Above Normal Operational Range (Most Severe Level) | Monitored parameter has exceeded its critical structural/thermal upper safety threshold. | Engine Coolant $> 115^\circ\text{C}$; turbo boost pressure exceeding structural burst limit; extreme hydraulic oil overheating. |
| FMI 1 | Data Valid But Below Normal Operational Range (Most Severe Level) | Monitored parameter has fallen below its critical operational lower limit. | Engine oil pressure $< 8\text{ psi}$ at rated RPM; charge pump pressure loss; fuel lift pump cavitation. |
| FMI 2 | Data Erratic, Intermittent Or Incorrect | Signal contains erratic spikes, missing pulses, noise, or fails rationality check. | Chipped tooth on tone wheel; loose sensor mount; electrical shielding drain wire open; sensor reading contradicts secondary sensor. |
| FMI 3 | Voltage Above Normal, Or Shorted To High Source | Input circuit voltage has exceeded the normal operating window ($> 4.80\text{ V}$). | Signal wire shorted to $+5.0\text{ V}$ reference or $+24\text{ V}$ battery power; signal wire open with internal ECM pull-up. |
| FMI 4 | Voltage Below Normal, Or Shorted To Low Source | Input circuit voltage has dropped below the normal operating window ($< 0.20\text{ V}$). | Signal wire chafed and shorted to chassis ground; $+5.0\text{ V}$ V-Ref supply wire open or grounded. |
| FMI 5 | Current Below Normal Or Open Circuit | Output driver circuit detects zero or sub-normal current flow when commanded. | Open solenoid coil winding; broken harness conductor; disconnected connector plug; corroded terminal pin. |
| FMI 6 | Current Above Normal Or Grounded Circuit | Output driver circuit detects excessive current flow exceeding safe threshold. | Solenoid coil internally shorted; low-side driver harness chafed and shorted directly to chassis frame. |
| FMI 7 | Mechanical System Not Responding Or Out Of Adjustment | ECM commands an actuator, but feedback sensors report no physical mechanical motion. | EGR valve stuck closed by carbon; VGT turbo vane ring seized; hydraulic proportional valve spool jammed with debris. |
| FMI 8 | Abnormal Frequency, Pulse Width, Or Period | Timing transitions, frequency, or duty cycle outside calibrated operating limits. | PWM joystick duty cycle $< 5%$ or $> 95%$; Hall-effect speed sensor frequency out of range; noisy signal edges. |
| FMI 9 | Abnormal Update Rate | ECM expected a cyclic broadcast message on CAN from a node, but received nothing within the timeout window. | Node completely lost power or ground; terminating resistor failure; backbone severed; node microprocessor crashed. |
| FMI 10 | Abnormal Rate Of Change | Parameter changing at a speed that is physically impossible under machine physics. | Coolant temperature jumping from $40^\circ\text{C}$ to $110^\circ\text{C}$ in $20\text{ ms}$ (loose terminal pin fretting). |
| FMI 11 | Root Cause Not Known | Multiple complex failure conditions prevent controller from isolating failure. | Unidentified electrical fault; internal electronic latch-up; mixed sensor rationality failure. |
| FMI 12 | Bad Intelligent Device Or Component | Internal controller failure or intelligent smart device communication failure. | Internal ECM microprocessor hardware fault; internal EEPROM checksum mismatch; intelligent DEF doser internal board failure. |
| FMI 13 | Out Of Calibration | Sensor or mechanical system requires electronic calibration to establish baseline. | New hydraulic joystick installed without performing calibration routine; suspension level zero-point lost. |
| FMI 14 | Special Instructions | OEM-specific diagnostic instructions or complex safety interlock fault. | High-pressure common rail pressure relief valve has tripped open; security immobilizer lockout active. |
| FMI 31 | Condition Exists | Advisory or operational status indicator rather than a hard electrical breakdown. | DPF active regeneration requested; hydraulic oil filter bypass switch tripped due to high differential pressure. |
Active vs. Inactive Codes & Machine Lamp Indicators
When diagnosing machine faults, understanding code status is essential for prioritizing repairs:
DIAGNOSTIC STATUS & OPERATOR LAMPS
┌──────────────────────────────────────────────────────────────────┐
│ [ Malfunction Indicator (MIL) ] [ Amber Warning ] [ Red Stop ] │
└─────────────────────────────────┬────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ ACTIVE CODES (DM1) │
│ • Fault currently detected during live key cycle │
│ • Commands dashboard warning lamps & engine torque de-rates │
│ • Must be resolved before returning machine to production │
├──────────────────────────────────────────────────────────────────┤
│ INACTIVE CODES (DM2) │
│ • Historical faults recorded during previous cycles │
│ • Stored in EEPROM with Occurrence Count (OC) & Freeze Frame data│
│ • Provides evidence for intermittent faults (vibration, heat) │
└──────────────────────────────────────────────────────────────────┘
1. Active Codes (Broadcast via DM1)
An active code signifies that the fault condition is currently detected by the monitoring controller during the active operating cycle. Active codes trigger immediate instrument cluster responses:
- Amber Warning Lamp: Advises the operator that an emissions, non-critical sensor, or auxiliary system fault has occurred. Machine operation can usually continue temporarily, but maintenance is required.
- Red Stop Engine Lamp: Signals an immediate threat of catastrophic machine failure (e.g., SPN 100 FMI 1 - Critical Low Oil Pressure; or SPN 110 FMI 0 - Severe Coolant Temperature). The operator must immediately stop the machine, park safely, and shut down the engine to prevent total destruction. ECMs often initiate an automatic timed engine derate or shutdown sequence.
2. Inactive Codes (Broadcast via DM2)
An inactive (stored or historical) code represents a fault that was detected in a previous key cycle or that resolved itself during the current cycle. Inactive codes do not illuminate the Red Stop Engine lamp, but they are preserved in non-volatile EEPROM memory:
- Freeze Frame Records: When an inactive code logs, the ECM captures an instantaneous operational snapshot: engine RPM, fuel rate, coolant temperature, boost pressure, vehicle speed, and machine hour meter at the precise second the fault occurred.
- Diagnostic Power: If a haul truck suffers an intermittent shutdown that only occurs when negotiating an uneven, washboard haul road under full load, an inactive code with an Occurrence Count of 18 and freeze-frame data showing high vibration confirms a mechanical harness chafing or loose connector pin fault.
Systematic Step-by-Step Diagnostic Decision Tree
To resolve complex electronic faults efficiently, technicians must follow an engineered diagnostic workflow:
SYSTEMATIC DIAGNOSTIC DECISION TREE
[ 1. Verify Complaint & Gather Operating History ]
│
▼
[ 2. Connect OEM Service Tool (CAT ET / Cummins INSITE) ]
(Scan all controllers; export DM1 active & DM2 inactive codes with freeze frames)
│
▼
[ 3. Triage Codes: CAN Bus & V-Ref First! ]
(Resolve FMI 9 network codes and 5.0V supply codes before individual sensors)
│
▼
[ 4. Verify Power & Clean Grounds Under Load ]
(Confirm clean ground drop < 0.10V; battery bus > 24.0V)
│
▼
[ 5. Circuit Isolation: Disconnect & Jumper Technique ]
(Differentiate sensor internal failure vs harness open/short vs ECM input)
│
▼
[ 6. Non-Destructive Probing & Terminal Drag Testing ]
(Back-probe seals; perform pin drag test with new male terminal)
│
▼
[ 7. Dynamic Harness Wiggle Test Under Live Graphing ]
(Flex harness every 6-12 inches; monitor graph for dropouts/glitches)
│
▼
[ 8. Execute Repair, Clear Inactive Logs & Perform Verification Run ]
The "Disconnect & Jumper" Isolation Technique
Consider a pressure sensor logging an active SPN 102 FMI 3 (Boost Pressure - Voltage Above Normal / Short to High). Is the pressure sensor defective, is the harness wire broken, or has the ECM internal analog-to-digital converter failed? Follow this definitive isolation routine:
DISCONNECT & JUMPER ISOLATION LOGIC
Initial State: SPN 102 FMI 3 Active (Signal Voltage > 4.8V)
│
▼
[ Step 1: Disconnect Sensor Harness Plug ]
(Code remains FMI 3 due to internal ECM pull-up resistor)
│
▼
[ Step 2: Install Fused Jumper Between Signal & Sensor Return Pins ]
│
┌──────────────────┴──────────────────┐
▼ ▼
[ Code Changes to FMI 4 ] [ Code Remains FMI 3 ]
• Signal wire is INTACT. • Signal wire is OPEN between
• Sensor Return is INTACT. plug and ECM pin, OR
• ECM A/D Converter is HEALTHY. • Signal wire is SHORTED to
──> SENSOR FAILED INTERNALLY! power, OR ECM has failed.
(Replace Sensor) (Troubleshoot Harness/ECM)
- Connect the OEM scan tool and monitor the live voltage and active code status for SPN 102.
- Disconnect the sensor harness connector plug. Because of the ECM's internal pull-up resistor, an open circuit naturally holds the signal input at $+5.0\text{ V}$ (FMI 3).
- Install a fused jumper wire (or low-resistance test lead) between the Signal Pin and the Sensor Return (Clean Ground) Pin at the harness connector:
- Result A (Code changes instantly from FMI 3 to FMI 4): The ECM detects that the signal line has been pulled down to $0.0\text{ V}$. This definitively proves that the signal wire, the sensor return wire, the harness terminals, and the ECM's internal A/D converter are 100% functional. The open circuit is located entirely inside the disconnected sensor. Replace the sensor.
- Result B (Code remains stubbornly at FMI 3): The signal line is not reaching the ECM ground. The signal wire has an open circuit between the connector and the ECM, the signal wire is shorted to an external power source, or the ECM itself is defective.
Probing Best Practices & The Terminal Pin Drag Test
More electronic faults are inadvertently created by technicians using improper diagnostic test probes than by actual machine wear.
Non-Destructive Probing Rules
- NEVER Pierce Wire Insulation: Never push sharp needle-probes, sewing pins, or razor blades through the insulation of a wire. Piercing fractures internal copper strands and creates a permanent entry hole for water, salt, and grease. Capillary action wicks corrosive moisture along the copper strands beneath the jacket, resulting in catastrophic green-rot corrosion that severs the conductor months later inside an apparently intact wire.
- Use Spoon Back-Probes: Always utilize flexible, rounded spoon back-probes. Insert them carefully through the rear rubber wire seals of Deutsch or AMP connectors until they contact the metal terminal body, avoiding tearing of the silicone moisture seal.
The Terminal Pin Drag Test
Intermittent electronic faults (FMI 2, FMI 8, FMI 10) frequently stem from terminal fretting corrosion or splayed female spring fingers caused by technicians jamming standard DMM probes directly into female connector sockets.
TERMINAL PIN DRAG TEST
┌────────────────────────────────────────────────────────┐
│ [ New Factory Male Pin ] │
│ Mounted on test handle │
└───────────────┬────────────────────────────────────────┘
│ Insert and withdraw
▼ to feel mechanical resistance (drag)
┌────────────────────────────────────────────────────────┐
│ ───► [=== Female Terminal Cavity ===] │
│ Internal spring-loaded contact fingers │
│ (If loose or zero drag -> Replace female pin) │
└────────────────────────────────────────────────────────┘
- Obtain a brand-new, factory-correct male terminal pin matching the connector series (e.g., Deutsch DT Size 16 male solid pin).
- Insert the new male pin into each female terminal cavity in the suspect connector and gently withdraw it.
- Evaluate the tactile retention force (mechanical drag):
- Healthy Terminal: The internal spring fingers firmly grip the male pin, requiring noticeable, smooth withdrawal force.
- Failed / Splayed Terminal: The pin inserts with zero resistance and falls out under its own weight. The internal spring fingers have lost tension or have been permanently bent open. De-pin the connector using the proper extraction tool and crimp a new female terminal using the calibrated ratcheting crimp tool.
The Dynamic Harness Wiggle Test
To pinpoint intermittent breaks or chafing:
- Connect the service tool and configure live graphical data logging for the suspect sensor or output circuit at the maximum available sampling rate.
- Start the machine or turn ignition to ON.
- Systematically flex, twist, and pull the wiring harness every $6\text{ to }12\text{ inches}$, paying extreme attention to:
- Tight bends around chassis brackets and hydraulic tubing.
- Un-cushioned steel P-clamps that compress the outer loom.
- High-vibration transition zones between the moving engine/transmission block and the rigid machine frame.
- Firewall and cab bulkhead multi-pin pass-through connectors.
- When a sudden spike, dropout, or active fault triggers on the scan tool graph, the physical location of the broken conductor or worn insulation has been definitively isolated.
A hydraulic excavator equipped with a modern diesel engine logs an active diagnostic fault code: SPN 102 FMI 3 (Intake Manifold #1 Pressure - Voltage Above Normal Or Shorted To High Source). During systematic troubleshooting, the technician disconnects the 3-wire boost pressure sensor plug and places a fused test jumper between the Signal wire and the Sensor Return (clean ground) wire at the harness connector. The technician observes that the active code on the service tool instantly transitions to SPN 102 FMI 4 (Voltage Below Normal Or Shorted To Low Source). What definitive conclusion must the technician make?
A motor grader transmission ECM logs an active SPN 677 FMI 5 (Starter Relay Circuit - Current Below Normal Or Open Circuit). When the operator turns the key switch to START, the starter relay does not energize and the engine will not crank. What is the most logical initial electrical test to perform?
A technician is diagnosing an intermittent SPN 190 FMI 2 (Engine Speed - Data Erratic, Intermittent Or Incorrect) code on an articulated haul truck that only trips when operating over rough haul roads. Which procedure represents the correct, non-destructive method for evaluating the sensor harness connector terminals?