DTC Codes: Everything You Need to Know

If you manage a fleet, staying on top of any engine or other vehicle issues is critical for the safety of your drivers. It also helps prevent more costly repairs.

This is where Diagnostic Trouble Codes (DTC) come in — codes that a vehicle’s onboard computer relays about any potential issues.

How do these codes work, and how do you interpret them? Most importantly, how can you gain remote access to them for your fleet?

Keep reading to learn more.

In this article, we’ll explain what DTC codes are and how to interpret them. We’ll also look at how you can manage the maintenance of your fleet with fleet telematics.

What is a DTC code?

DTC stands for Diagnostic Trouble Codes, which was created by the Society of Automotive Engineers (SAE). The codes are generated by a vehicle’s onboard diagnostic (OBD) system. Each character in a 5-digit DTC represents a specific issue.

There are two main standards:

  • OBD-II: OBD-II codes are used in light (6,000 to 10,000 lbs) and medium-duty vehicles (10,001 to 26,000lbs). All vehicles built and sold in the United States after January 1st, 1996, are required to follow this standard.
  • J1939: J1939 codes are used in heavy-duty vehicles (26,001 to over 33,000 lbs) like city transit buses, refuse trucks, and cement trucks. 

There are also manufacturer-specific DTC codes. If you’re not sure which standard your vehicle follows, you can always check the user manual.

When a vehicle’s check engine light (also known as a malfunction indicator light) turns on, a technician can plug a handheld OBD scanner into its diagnostic port (typically under the dashboard below the steering wheel column). Once connected, the scanner will display an error code.

Using an OBD scanner means that you need direct access to the vehicle in question. However, with the right telematics system in place, a fleet manager can receive real-time alerts anytime a vehicle generates a DTC code.

How do you interpret OBD-II DTC codes?

If a vehicle in your fleet is displaying a DTC code, it’s important to understand what it means so you can determine the root cause of the problem and take steps to rectify it.

There are five characters in an OBD-II DTC code.

DTC codes description

Each character corresponds to a specific problem that a vehicle has. Here’s an overview of what each one means.

First DTC character

The first DTC character is always a letter. There are four types of codes:

  • P codes: “P” indicates a problem with the powertrain. It includes the engine, transmission, drivetrain, and fuel system.  
  • C codes: “C” indicates a problem with the chassis. It refers to mechanical systems outside the passenger compartment, such as steering, suspension, and braking. 
  • B codes: “B” indicates a problem with the body. It covers parts that are found in the passenger compartment area.
  • U codes: “U” indicates a problem with the vehicle’s onboard computers and integration functions that the OBD manages.

Second DTC character

The second DTC character is a numeric digit, either a “0” or a “1”:

  • 0: A “0” indicates a standard SAE international code. It’s also known as a generic code, meaning that it applies to all vehicles following the OBD-II international standard.
  • 1: A “1” represents a code that is specific to the car's make or model. It’s known as an enhanced code, meaning it doesn’t fall under an SAE standard. If you see a “1,” reach out to the vehicle manufacturer directly for more information.

Third DTC character

If the second DTC character is a “0,” then the third character helps you determine which subsystems are malfunctioning. There are eight numbers:

  • 0: Fuel and air metering and auxiliary emission controls
  • 1: Fuel and air metering injection system
  • 2: Fuel and air metering (injection system)
  • 3: Ignition systems or misfires
  • 4: Auxiliary emission controls
  • 5: Vehicle speed control, idle control systems, and auxiliary inputs
  • 6: Computer output circuit 
  • 7-8: Transmission

Fourth and fifth DTC character

The fourth and fifth DTC codes are two-digit numbers from 0 to 99, known as the “Specific Fault Index.” It identifies the exact malfunction that a vehicle has. 

Let’s put this together.

You have your OBD scanner, and you plug it into your vehicle’s diagnostic port. It then displays a DTC code P0420, but what exactly does it mean?

P04020 DTC code

Here’s a breakdown of what this common code means:

  • P: The letter “P” indicates a problem with the vehicle’s powertrain or fuel system
  • 0: The number “0” means it applies to all OBD-II compliant vehicles (1996 and newer)
  • 4: The number “4” means that one of the auxiliary emission controls is malfunctioning
  • 20: The number “20” indicates a problem with the vehicle’s catalytic converter

A vehicle that displays a P0420 code has a problem with its catalytic converter. Its oxygen levels are below desired thresholds and leaking more pollutants into the air — definitely an issue that you should address sooner rather than later.

Note that OBD-II codes are primarily used for light and medium-duty vehicles. If you operate a fleet of heavy-duty vehicles (vehicles that are 26,001 to over 33,000 lbs), you’ll need to know how to read J1939 codes.

How do you interpret a J1939 DTC code?

SAE J1939 is an industry standard for most heavy-duty trucks. It also covers buses and heavy equipment like farming tractors.

A J1939 code consists of four fields that relay information about a DTC:

  • Suspect Parameter Number (SPN): SPN is a diagnostic fault code assigned by the SAE to a specific part or electric subsystem. It helps technicians locate where the problem is occurring. It’s also used to identify issues with a Controller Application (CA). 
  • Failure Mode Identifier (FMI): FMI identifies the type of error. Examples can include sensor short-circuits, calibration errors, and abnormal update rates (meaning the computer is seeing data that doesn’t make sense).
  • Occurrence Counter (OC): OC indicates how many times an error or failure has occurred. Each time an error is detected, the OC number increases by one.
  • SPN Conversion Method (CM): CM defines the byte alignment within the DTC and indicates how SPN and FMI should be handled or translated. It’s primarily used for older versions of the diagnostic protocols.

A fleet manager can connect a J1939 data logger to a heavy-duty vehicle and store the data on a memory card. However, this requires direct access to the vehicle in question, making diagnosing issues difficult.

A telematics device that connects to a vehicle’s J1939 port can send fuel usage and emissions data over broadband to a computer. It can also send preventative maintenance alerts and engine fault information in real-time, enabling fleet managers to address safety concerns proactively. That reduces the risk of breakdowns, keeping your fleet running and your customers happy, and reduces your maintenance costs.

How do you clear a DTC code?

Seeing the check engine light illuminate on your dashboard is enough to give anyone a sense of dread. In some cases, it can turn on for relatively minor issues like a faulty gas cap. In others, it can indicate a serious issue like an engine misfiring.

Here’s what you should do if the check engine light comes on. We’ll also explain how you can clear a DTC code and safely get back on the road.

Use a code reader

If your vehicle was built and sold in the US after 1996, it follows the OBD-II standard. Connect an OBD-II scanner to its diagnostic port, which is located below the steering wheel column. If you don’t see it, refer to the vehicle manual for its exact location. For some scanners, you may need to enter the Vehicle Identification Number (VIN).

Next, turn on the ignition but don’t start the engine. Then press the ‘Read’ or ‘Scan’ button on the scan tool to access the DTC code. Some scanners will tell you what the issue is, so you don’t have to write it down and look it up yourself.

CarMD has identified the following as the most common check engine vehicle repairs in the US, along with their estimated costs:

Most common check engine vehicle repairs in the US

Most OBD-II scanners are capable of clearing codes, but you should only do this after you fix the problem. If you clear a code without addressing the issue that was triggering it, your check engine light will turn on again.

Take your vehicle in for repairs

A flashing check engine light is an indication of a more serious issue. Continuing to drive the car may cause more damage to the engine. In these cases, it’s best to pull over immediately and call a tow truck to bring it to a mechanic.

Mechanic fixing a car

You can still use an OBD-II scanner to access the DTC code. This can even save you some money, as some mechanics may charge you for plugging in their own diagnostic scanner. If you know what the exact issue is, they can get to work on fixing it.

We mentioned that you can use an OBD-II scanner to clear DTC codes. However, some issues may trigger what’s known as a permanent DTC. Unlike regular codes, you can’t clear these out using an OBD-II scanner or disconnecting the battery. 

The only way to clear permanent DTCs is to fix the underlying issues. The codes will clear on their own once the vehicle’s onboard system no longer detects the issue.

Managing DTC codes for an expanding fleet

Handheld scanners can help you determine what’s wrong with a vehicle. Some even describe the DTC code, so you don’t have to interpret them. However, you need access to a vehicle’s OBD-II port to get these codes, which makes monitoring them challenging for a fleet.

Here’s how a telematics system like CalAmp application can help you monitor DTC codes across your fleet.

Set up alerts

Any issues with a vehicle can bring your operations to a halt and result in unhappy customers. If a vehicle in your fleet triggers an engine fault code, you need to know what it is so you can immediately address it.

With CalAmp, you can set up alerts that notify you if a vehicle triggers a DTC code. These alerts include the DTC code and an accompanying description. A maintenance manager can direct the driver to a service station or ask them to complete the route if it’s a minor issue. 

With the location data that telematics systems provide, fleet managers can see which of their drivers are in the vicinity and ask them to assist or take over if necessary.

Automate fleet maintenance

Vehicles must receive regular maintenance checks to keep them in good condition and ensure that they’re safe to drive. Operating a vehicle with an engine problem not only puts your drivers at risk but can also lead to more costly repairs.

A telematics system like CalAmp simplifies fleet maintenance. It can schedule reminders to service vehicles based on mileage and hours of use, helping you stay ahead of maintenance tasks like oil changes and tire replacements.

Scheduling maintenance based on mileage and hours-of-use

Performing preventative maintenance on your fleet will help extend its lifespan, saving you more money in repair costs and downtime in the long run.

Create DTC reports

Fleet managers strive to make their fleet as efficient as possible. But you need actionable data to streamline your operations and minimize downtime.

CalAmp enables you to generate on-demand reports across your entire fleet. Maintenance managers can review these reports and identify trends like which parts wear out faster. They can schedule repairs accordingly and address any issues before they turn into bigger problems.


DTC codes are used to diagnose malfunctions in a vehicle. Sometimes, they can be minor, like a loose fuel cap, or more serious, like a faulty oxygen sensor. If your vehicle triggers an engine fault code, it’s important that you know what the DTC code means.

Handheld scanners can help you quickly identify the problem. However, if you manage a fleet of vehicles, using a telematics system like CalAmp offers a better way to monitor diagnostic codes.

Learn more about our fleet telematics system, or contact us today to schedule a free demo with our team.

Recent Related Stories

Are Your Devices at Risk? Navigating Australia's 3G Network Closure
Introduction Australia's digital infrastructure is poised for a major leap forward as 3G networks sunset, paving the way for advanced…
Read More
Using Modbus in Industrial Telematics
What is Modbus? The Modbus communications protocol is the granddaddy of the networking industry and is still the only open-source…
Read More
Why OEMs are Increasingly Relying on Industrial IoT
Industrial IoT (IIoT) refers to devices, sensors, and industrial applications networked together via Internet connectivity to collect, exchange, and analyze…
Read More