Diesel Diagnostics · Method

How to Diagnose a Diesel Fault Code

Most parts get thrown at trucks because somebody read one code and stopped there. A fault code tells you which circuit the ECM is unhappy with — it never tells you which part failed. Here is the order of operations that keeps you from buying sensors you did not need.

Written and reviewed by Christopher Scott Sneed, 30+ year diesel technician, founder of Blue Collar Empire. Updated 2026-08-28.

Step 1 — Pull every code, active and inactive

Pull the full fault list from all modules, not just the engine ECM. Write down the count and the first-occurrence timestamp or engine hours on each one. A DPF pressure code that showed up 400 hours after an intake leak code is a symptom, not the fault. The code that appeared first, with the most occurrences, is usually where the diagnosis starts.

Step 2 — Read the SPN and FMI, not the dash lamp

The SPN names the component or circuit. The FMI names the failure type — short high, short low, open circuit, data erratic, data not plausible, or above/below normal range. Those two numbers already narrow the job to either a wiring problem or a real physical condition, and that distinction decides everything you do next.

  • FMI 3, 4, 5 (voltage high/low, current low) — electrical: connector, harness, or sensor.
  • FMI 0, 1, 15–18 (data above/below normal) — the sensor is probably reading correctly and the condition is real.
  • FMI 2, 19, 31 — data erratic or from another module: check J1939 wiring and grounds before condemning anything.

Step 3 — Verify the complaint with live data

Before you touch a wrench, watch the parameter that set the code with the engine at the condition where it faults. Key-on-engine-off values catch shorts and opens. Under-load values catch plausibility faults. If a boost sensor reads 0 psi at 1,500 rpm under load, you have a real air problem or a dead sensor circuit — the live reading tells you which.

Step 4 — Split the circuit before you replace the part

For any electrical FMI, unplug the sensor and check the 5V reference and the return at the connector. Reference present and return good means the harness is fine and the sensor is suspect. Reference missing at one sensor but present at another on the same 5V circuit points at the harness between them. A shorted sensor drags the whole 5V circuit down and sets three or four unrelated codes at once — fix that one and the rest clear.

Step 5 — Clear, road test, and re-read

Clear the codes, run the truck at the operating condition that set them, and re-read. Anything that comes back is real. Anything that stays gone was either the fault you repaired or history from a prior repair. Document the code, the test values, and the repair — that record is what stops the same truck from getting the same part twice.

What not to replace

  • Sensors with an FMI that indicates a plausible-but-out-of-range reading — the reading is usually true.
  • NOx sensors on a truck with an exhaust leak upstream — fix the leak first.
  • Injectors on a low-power complaint before you have verified fuel supply pressure and filter restriction.
  • DPFs before an intake, EGR, and injector-balance check — a plugged filter is almost always downstream of another problem.

Tools that do this work for you

Everything above is included in the Blue Collar Empire membership — $14.99 a month.

Frequently asked questions

What does SPN FMI mean on a diesel truck?
SPN (Suspect Parameter Number) identifies the component or circuit the fault is about. FMI (Failure Mode Identifier) identifies how it failed — short to high source, short to low, open circuit, data erratic, or a value above or below the normal range. Together they define the fault; the dash lamp only tells you how urgent it is.
Can I keep driving with an active fault code?
It depends on the lamp. An amber check-engine lamp generally means schedule service. A red stop lamp means shut down at the next safe place — those are set for conditions like low oil pressure, high coolant temperature, or an imminent derate that can damage the engine.
Why do multiple codes appear at once?
Most often a shared 5V reference circuit is shorted, a ground is corroded, or one module has dropped off the J1939 bus. Fix the common cause and the rest of the codes go away — chasing them individually wastes the day.

Related guides