Press "Enter" to skip to content

Understanding SPNs and FMIs in J1939: A Simple Guide for Beginners

If you’re learning SAE J1939, you’ll quickly run into two acronyms that show up everywhere—in diagnostic messages, simulation tools, engine logs, and OEM documentation:

  • SPN (Suspect Parameter Number)

  • FMI (Failure Mode Identifier)

Together, SPNs and FMIs explain what went wrong and how it went wrong.
They form the core of every Diagnostic Trouble Code (DTC) in the J1939 world.

In this guide, we’ll break them down using simple explanations and real-world examples.


What Is an SPN? (Suspect Parameter Number)

An SPN identifies a specific parameter, sensor, or data item on a J1939 network.

Think of the SPN as answering the question:

“What part or value is this message talking about?”

Each SPN corresponds to a specific measurement or component.

A few examples:

SPN Meaning
110 Engine Coolant Temperature
100 Engine Oil Pressure
190 Engine Speed (RPM)
84 Wheel-Based Vehicle Speed
94 Fuel Delivery Pressure
156 Fuel Level

There are thousands of SPNs, covering everything from turbo speed to battery voltage, aftertreatment temperatures, brake controllers, transmission state, and more.


Where SPNs Appear

SPNs show up in:

  • DM1 and DM2 fault messages

  • Live data broadcasts (PGNs)

  • Simulation profiles

  • Engine logs

  • Manufacturer documentation

  • Diagnostic and telematics systems

If you’re reading J1939 data, you’re reading SPNs—whether you realize it or not.


What Is an FMI? (Failure Mode Identifier)

If SPN answers “what,” the FMI answers:

“In what way did it fail?”

Each FMI describes the type of fault detected.

Some of the most common FMIs include:

FMI Meaning
0 Data valid but above normal range
1 Data valid but below normal range
2 Data erratic, intermittent, or incorrect
3 Voltage above normal / short to high source
4 Voltage below normal / short to low source
5 Current below normal
6 Current above normal
7 Mechanical system not responding properly
9 Abnormal update rate
14 Special instructions / Manufacturer specific
31 Condition exists (general failure)

These FMIs cover a wide range of real-world problems—from failing sensors to wiring issues, stuck actuators, communication failures, and unexpected operating conditions.


How SPN and FMI Work Together

Every DTC in J1939 includes both numbers:

SPN + FMI = What failed + How it failed

Example:

SPN 110 FMI 3
= Coolant Temperature + Voltage too high
→ The coolant temp sensor reading is electrically out of range, possibly due to wiring or sensor failure.

Another example:

SPN 94 FMI 1
= Fuel Delivery Pressure + Below normal
→ Pressure is lower than expected, possibly from a weak pump, clogged filter, or suction problem.

SPN tells you what.
FMI tells you how.
Together, you get a complete picture.


SPN/FMI Examples in the Real World

Example 1 — Engine Overheating

  • SPN 110 (Coolant Temperature)

  • FMI 0 (Above normal)

Interpretation:
The engine is overheating. Coolant temp exceeded the safe threshold.


Example 2 — Oil Pressure Too Low

  • SPN 100 (Oil Pressure)

  • FMI 1 (Below normal)

Interpretation:
Dangerously low oil pressure—possibly requiring immediate shutdown.


Example 3 — Sensor Wiring Failure

  • SPN 190 (Engine Speed)

  • FMI 3 (Voltage above normal)

Interpretation:
RPM sensor wiring is shorted to battery voltage, causing invalid readings.


Example 4 — Fuel Level Not Updating

  • SPN 96 (Fuel Level)

  • FMI 9 (Abnormal update rate)

Interpretation:
Fuel level is not being refreshed by the sending ECU—possibly a communication issue.


How SPN/FMI Codes Appear in Diagnostic Tools (General Overview)

Most diagnostic software (OEM or third-party) displays SPN and FMI together in a readable format, often like this:

SPN 110 Coolant Temperature
FMI 0 Data valid but above normal range
Occurrence Count: 3
Source Address: 0

Tools may include:

  • Human-readable descriptions

  • Severity levels

  • Timestamps

  • Error counts

  • Sensor values before/after faults

But the underlying meaning is always:

  • SPN = which parameter failed

  • FMI = the type of failure


Why Understanding SPNs and FMIs Matters

1. They are the foundation of all J1939 troubleshooting

Everything—from engine data to simulation scenarios—relies on SPN/FMI interpretation.

2. They help identify root causes quickly

Knowing what failed and how narrows down:

  • Sensor vs wiring vs ECU

  • Mechanical issues vs electrical

  • Severe vs minor faults

3. They allow deeper analysis with DM1 & DM2

Since DM1 and DM2 are just lists of SPN/FMI values, understanding SPN/FMI makes fault messages easy to read.

4. They are universal across manufacturers

Regardless of brand:

  • Freightliner

  • Paccar

  • Volvo

  • Cummins

  • Caterpillar

All use SPNs and FMIs defined by J1939 (plus OEM extras).


Key Takeaways

  • SPN = Suspect Parameter Number = what failed

  • FMI = Failure Mode Identifier = how it failed

  • Together they form a DTC (Diagnostic Trouble Code)

  • SPNs appear everywhere in J1939 data

  • FMIs describe electrical, mechanical, or communication-related failures

  • Understanding both is essential for J1939 diagnostics and simulation


SAE J1939 Starter Kit and Network Simulator

Our JCOM.J1939 Starter Kit and Network Simulator is designed to allow the experienced engineer and the beginner to experiment with SAE J1939 data communication without the need to connect to a real-world J1939 network, i.e., a diesel engine. It may sound obvious, but you need at least two nodes to establish a network. That fact applies especially to CAN/J1939, where the CAN controller shuts down after transmitting data without receiving a response. Therefore, our jCOM.J1939 Starter Kit and Network Simulator consists of two J1939 nodes, namely our jCOM.J1939.USB, an SAE J1939 ECU Simulator Board with USB Port.

The jCOM.J1939.USB gateway board is a high-performance, low-latency vehicle network adapter for SAE J1939 applications. The board supports the full SAE J1939 protocol according to J1939/81 Network Management (Address Claiming) and J1939/21 Transport Protocol (TP). More Information…

Comments are closed.

Copyright © 2024 Copperhill Technologies Corporation
wpChatIcon
wpChatIcon