Close this search box.
Fault Codes

What is SPN and FMI?

Does your diagnostic system display engine Fault Codes as SPN and FMI? Learn how to decode SPN and FMI and identify the problem!

Here is a very basic and over-simplified example: 

The driver wants to accelerate the vehicle. They depress the throttle pedal from 20% to 50%.

The throttle’s position sensor registers the new position and the ECU reads the new position as voltage (sensor signal). The voltage value is compared to the values stored on a table in the ECU’s internal memory.

If the value the ECU reads is acceptable and corresponds to an action, then the action follows. In our case, the injectors would be commanded to inject more fuel, the engine RPM will increase and the vehicle will accelerate. 

If a signal value is not acceptable, eg. Too high, then a fault code will be stored and displayed to the driver in the form of a management light or a display message. 


Fault codes and messages are standardised and follow a basic structure: 

First part: 

SPN or Suspect Parameter Number.

Simply put, WHAT failed. Each engine or aftertreatment component has a unique number. For example, the SPN of the oil rifle pressure sensor is 100. 

Second part: 

FMI or Failure Mode Indicator.

HOW did the component fail? Each failure mode has been assigned with a number. For example, when the voltage signal of a sensor is lower than normal (could also be zero!), the FMI displayed will be 4. 

How are fault code messages created?  

The fault code message text is a combination of SPN + FMI. Here is what it looks like: 

SPN 100 – FMI 4

“Engine Oil Rifle Pressure 1 Sensor Circuit – Voltage Below Normal or Shorted to Low Source”

SPN 100 = “Engine Oil Rifle Pressure 1 Sensor Circuit”

FMI 4 = “Voltage Below Normal or Shorted to Low Source”

To summarize the function of generating fault codes: The ECU measures voltage (sensors) or current (actuators) from a component and determines that it is out of specifications. First it identifies which component failed and locates its SPN and then based on the signal value, it determines the FMI. 

Afterwards the ECU puts the two texts that correspond to the identified SPN and FMI together and creates the fault code text. 

See? It is not that difficult! Understanding how to “decode” the fault code’s text is crucial to engine diagnostics. 

If we simply swap the component identified in the SPN with a new one, will the fault disappear? 

Yes and no. If you are lucky and the component was faulty, then the fault will most likely disappear. If the cable, or ECU, or any other component which may affect the operation of the component in question is faulty, then the fault code will not go away. 

Please, do not swap components without determining the root cause first! This only costs time and money. I’ve seen people blindly changing half the components of a system trying to “fix” it, but at the end someone has to pay the bill of all the new components that shouldn’t be replaced in the first place! That’s usually the customer (they must NEVER pay for the incompetence of technicians or for the sake of profit) or the company. There are a lot of spare parts suppliers who will also charge a fee for every component returned in an open box, which is another prime example of incurring extra and unnecessary costs to the business. 

Looking for a quality diagmostic tool? Check out my suggestions.

Experiencing Fault Codes on your Cummins engine? Create a FREE QuickServe Online Account and start troubleshooting! I’ve made two online courses about QSOL too.

Are YOU ready to improve your knowledge about engine management systems? I am currently working on another post about Engine Management Systems, Sensors and Actuators. Check back soon! 

Post author
Picture of George Sarimpalidis

George Sarimpalidis

I've got a long experience as technical trainer and training course developer. My specialization is diesel engines and electronic management systems. I love learning about how everything works and then explaining complex systems in a way that everybody understands. The more complex, the better!

Some posts may contain affiliate links. By clicking on them and completing a transaction on the merchant’s website, I earn a small commission at no extra cost to you. This keeps this site running and allows me to keep creating content. Thank you in advance for your support!

Our sponsors
Pinned posts
Related Posts logo

Subscribe To Our Newsletter

Receive the latest updates on new posts, freebies and training courses.