J1939 FMI Codes — Failure Mode Identifier Reference

Modern electronic engines and machines report faults as an SPN (which component or parameter) plus an FMI (how it failed). The FMI definitions below are the SAE J1939 standard set, used by Caterpillar (CDL), Cummins and most other electronic engines. FMI values 20–30 are reserved by SAE; 31 means “condition exists”.

FMIMeaning (SAE J1939)
0Data valid but above normal operational range (most severe)
1Data valid but below normal operational range (most severe)
2Data erratic, intermittent or incorrect
3Voltage above normal, or shorted to high source
4Voltage below normal, or shorted to low source
5Current below normal or open circuit
6Current above normal or grounded circuit
7Mechanical system not responding or out of adjustment
8Abnormal frequency or pulse width or period
9Abnormal update rate
10Abnormal rate of change
11Root cause not known
12Bad intelligent device or component
13Out of calibration
14Special instructions
15Data valid but above normal operational range (least severe)
16Data valid but above normal operational range (moderately severe)
17Data valid but below normal operational range (least severe)
18Data valid but below normal operational range (moderately severe)
19Received network data in error
31Condition exists

How to use this

Read the SPN first — it tells you what failed. Then use the FMI to decide your first test: voltage codes (3/4) point at the wiring and sensor supply; current codes (5/6) at the circuit and coil; data-range codes (0/1) at the real measured value. Brand pages on this site — Caterpillar — apply the same FMI meanings.

Source: SAE J1939-71 FMI definitions, as published in multiple public references (spnfmi.com; WholeFleet CAT code guide; LOFA CANplus 600 manual). Compiled 2026-10-29.