June 3, 2025
Key Takeaways
Seeing an illuminated check engine light without knowing the reason behind it can be troublesome. DTC codes, which are used to diagnose malfunctions in a vehicle or a piece of heavy equipment, can help you minimize costs and reduce downtime. In this guide, we break down how a telematics solution can help you understand DTC codes so you can proactively identify your vehicle’s issue and improve operational efficiency.
A DTC, short for diagnostic trouble code, is an indicator used to diagnose malfunctions in a vehicle or piece of heavy equipment. While the malfunction indicator lamp (MIL)—also known as the check engine light—simply alerts drivers that there is an issue, a DTC identifies what and where the issue is. DTCs are also called engine vehicle fault codes, and can be read with a scanner that plugs directly into the port of a vehicle.
Having a basic understanding of DTCs can be helpful for drivers and fleet managers to better understand their vehicle’s issues. Read on to learn more about DTCs, how they work, and how you can interpret them. In addition, we’ll break down how fleet management technology like Samsara’s Connected Asset Maintenance solution can help you take your preventative maintenance to the next level, enabling you to reduce downtime, minimize costs, and improve operational efficiency.
DTCs are generated by the vehicle’s on-board diagnostics (OBD) system whenever a fault is detected. OBD diagnostic systems both diagnose the fault and display the DTC through visible warnings such as the illumination of a check engine light. It is also what allows external devices, such as an OBD scanner, to interact with a vehicle’s onboard computer system.
Over the years, several different versions of OBD interfaces were used—these interfaces, now classified as OBD-I, largely varied from manufacturer to manufacturer. Today, there are two main standards that people can use to read DTCs.
OBD-II — Best for light- and medium-duty vehicles.
J1939 — Best for heavy-duty vehicles and heavy equipment.
With the implementation of OBD-II, a standard DTC list that contains codes common to all manufacturers was created by the Society of Automotive Engineers (SAE).
Though OBD-II is widely used, it is important to note that manufacturer-specific DTCs still exist. Manufacturers may create their own DTCs to supplement the list of universal codes if the vehicle requires it, but more often than not these manufacturer-specific codes are difficult to interpret without a mechanic.
Understanding your vehicle's diagnostic standard helps ensure accurate troubleshooting and system compatibility. OBD-II and J1939 have different diagnostic standards. Here are the vehicles that generally fall under each compliance category.
Cars and light trucks built and sold in the United States after January 1, 1996, are required to be OBD-II equipped.
Most diesel engine manufactured vehicles or equipment are J1939 compliant.
The industry standard for most heavy-duty trucks and buses.
If you are unsure whether your vehicle is OBD-II compliant or J1939 compliant, check your vehicle manual, research online, or consult with your dealership to confirm compatibility.
It’s critical to ensure that you are reading and interpreting a DTC properly. DTC codes are five characters long. Each character in the DTC provides a different piece of information about the vehicle’s specific problem.
The first character is always a letter. It indicates which control system has an underlying issue, and has the following possible values and meanings:
P (powertrain) refers to the engine, transmission, fuel system, and associated accessories.
C (chassis) refers to mechanical systems generally outside the passenger compartment such as steering, suspension, and braking.
B (body) refers to parts mainly found in the passenger compartment area.
U (network) refers to the vehicle’s onboard computers and related vehicle systems.
The second character is a digit, typically 0 or 1, and shows whether or not the code is standardized.
0 indicates that the code is generic, standardized SAE (Society of Automotive Engineers) code. Generic codes are adopted by all cars that follow the OBD-II standard.
1 indicates that the code is vehicle manufacturer-specific.These codes are unique to a specific car make or model and are typically less common.
2 or 3 are more rare and their meanings are dependent on the preceding letter of the code. Most of the time, 2 or 3 indicates that a code is manufacturer-specific, with only a few exceptions.
The third character is also a digit, ranging from 1 to 8. This reveals the subsystem at fault.
1 refers to the fuel or air metering system
2 refers to the fuel or air metering injection system
3 refers to the ignition system
4 refers to the auxiliary emissions control system
5 refers to the vehicle speed controls and idle control system
6 refers to the computer output circuit
7 and 8 indicate that the issue is transmission-related
The fourth and fifth characters are read together as a two-digit number between 0 and 99 known as the specific fault index. These characters identify the specific problem of the vehicle.
If you are unsure about what your code means, check with your vehicle manufacturer or your vehicle manual for explanations.
Simplify compliance for your drivers and back office with intuitive, easy-to-use tools.
Learn MoreEach DTC corresponds to a specific vehicle malfunction, such as a misfire in engine one. For example, let’s say you received an alert for DTC code P0128. This DTC would be read like this:
The first letter is P, which means that the issue lies in the powertrain.
The second character is 0, indicating that the following code is not manufacturer-specific code. It is standardized and can be interpreted according to SAE definitions.
The third character is 1, which reveals that the issue is specifically within the fuel and air metering subsystem.
The last two digits make up the specific fault index, 28.
Based on this reading, it’s clear that code P0128 refers to an issue of the engine coolant temperature that’s below the thermostat regulating temperature.
OBD-II Diagnostic Trouble Codes (DTCs) are generated by the vehicle's onboard diagnostics system when it detects issues or malfunctions in critical systems such as the engine, emissions, transmission, and other control modules. Certain DTCs are more likely to appear than others. Below is a list of common DTCs you may encounter and their corresponding malfunctions:
P0128: The engine coolant is not reaching the proper operating temperature, often caused by a stuck-open thermostat.
P0442: A small leak in the vehicle’s evaporative emission control (EVAP) system, often caused by a cracked hose or a loose gas cap.
P0606: A malfunction in the powertrain control module (PCM), also known as the engine control module (ECM), which may affect various engine functions.
P0101: A fault in the mass airflow (MAF) sensor or its circuit, which can disrupt proper air-fuel ratio and affect engine performance.
P0110: A malfunction in the intake air temperature sensor circuit, potentially causing incorrect air-fuel mixture adjustments.
P0500 denotes a vehicle speed sensor malfunction, which can affect speedometer accuracy and transmission shifting behavior.
P0706: A fault in the transmission range sensor circuit, often leading to incorrect gear position readings or shifting issues.
P0171: The engine is running too lean on Bank 1, often caused by vacuum leaks or a faulty mass airflow (MAF) sensor.
P0174: The engine is running too lean on Bank 2, typically due to the same issues as P0171 but affecting the opposite side of the engine.
P0420: The catalytic converter on Bank 1 is not performing efficiently, commonly due to a failing converter or a bad oxygen sensor.
P0300: A random or multiple cylinder misfire, usually caused by worn spark plugs, ignition coil issues, or problems in the fuel system.
P0455: A large system leak in the EVAP (Evaporative Emission Control System), often traced back to a loose or missing gas cap or a failed vapor canister.
P0401: Insufficient flow in the EGR (Exhaust Gas Recirculation) system, which could stem from a clogged or malfunctioning EGR valve.
P0430: An efficiency issue in the catalytic converter on Bank 2, mirroring the causes and implications of code P0420.
P0410: A problem with the secondary air injection system, typically due to a failed air pump or a clogged check valve.
P0113: A high input from the intake air temperature sensor, which could mean the sensor is unplugged, damaged, or reading incorrectly.
P0118: A high voltage reading from the engine coolant temperature sensor, usually due to a bad sensor or an open circuit.
P0133: The oxygen sensor (Bank 1, Sensor 1) is responding too slowly, which can impact fuel efficiency and emissions.
P0141: A malfunction in the oxygen sensor heater circuit (Bank 1, Sensor 2), typically caused by a blown fuse or faulty sensor.
P0201–P0208: The injector circuit malfunctions for specific cylinders, usually due to wiring faults or failed fuel injectors.
P0217: The engine has experienced an over-temperature condition, often pointing to cooling system failures or insufficient coolant.
P0335: A crankshaft position sensor malfunction, which can cause engine stalling, no-start conditions, or misfiring.
P0340: A camshaft position sensor issue, potentially leading to poor acceleration, rough idling, or engine stalling.
P0700: A general transmission control system fault and typically accompanies more specific transmission codes stored in the transmission control module.
It is important to note that while DTCs are useful in identifying a vehicle’s malfunction, they are not a way to decipher why the malfunction occurred. A vehicle needs to be further diagnosed by a mechanic to identify and address the cause of the issue.
A J1939 DTC contains four fields that relay information about the fault being reported by DTC. These fields are:
Suspect Parameter Number (SPN): Represents the SPN with error. Every defined SPN can be used in a DTC.
Failure Mode Identifier (FMI): Represents the nature and type of error that occurred, e.g., value range violation (high or low), sensor short-circuits, incorrect update rate, calibration error.
Occurrence Counter (OC): A counter that counts the occurrence of the error condition for each SPN and stores this even when the error is no longer active.
SPN Conversion Method (CM): Defines the byte alignment within the DTC. The value “0” represents the method shown in graphic “Structure of a DTC”. If CM has the value “1”, a distinction must be made between three previously valid methods; this must be known for the system.
Scanners that read DTC, known as OBD-II scanners, are widely available for purchase. But if you’re a fleet manager responsible for numerous vehicles, having to manually check a vehicle every time the check engine light turns on can be inefficient.
That’s why it’s important to select a fleet management solution, like Samsara, that includes maintenance tools that make identifying a DTC a fast and easy process. Samsara Vehicle Gateways plug in directly to the vehicle’s OBD-II port and send vehicle-related data—including DTCs and OBD-II codes—to the cloud. This means if a DTC occurs, it will automatically populate in your Samsara Dashboard or you can choose to be notified via an alert.
In the event that several of your fleet vehicles experience DTC issues or circuit malfunctions, a telematics solution or OBD system that includes a DTC tool can help you quickly identify what the issue is so you can easily take appropriate steps to schedule maintenance as needed.
Seeing an illuminated check engine light without knowing the reason behind it can be troublesome and lead to unexpected breakdowns. Today, innovative organizations are adopting real-time telematics systems across their fleet, making it possible to better understand diagnostic trouble codes and proactively identify your vehicle’s issues. By pairing a telematics system with fleet maintenance technology such as Samsara’s Connected Asset Maintenance solution, fleet managers can receive instant notification of DTC codes across their vehicles—improving efficiency, reducing downtime, and optimizing fleet management.
Samsara's Vehicle Gateway is easy to install, plugging directly into a vehicle’s OBD-II or J1939 port, quickly relaying information regarding any DTC code to the Samsara Dashboard. Furthermore, you can set up a "Vehicle Fault" alert to trigger when a DTC occurs. You can also use Samsara’s DTC filtering feature to get alerts for the DTCs that matter most to your fleet.
Innovative organizations are leveraging the Samsara Connected Operations Platform to streamline complex maintenance workflows and transform their fleet operations. By harnessing AI technology and real-time data, Samsara is a complete telematics system that helps create a unified fleet management system, improving fleet maintenance, streamlining preventative maintenance, and reducing costs.
In addition, Samsara also offers an extensive ecosystem of integrations that enable you to stay connected with your partners. With integration partners such as Fleetio, you can now see issues across your assets immediately and jumpstart the maintenance process to reduce overall downtime.
To learn more about how Samsara can help you read and address DTCs, explore Samsara’s Connected Asset Maintenance solution and reach out to our team today.