What are DTC Codes

Micael Coutinho,autosarbswdem

DTCs (Diagnostic Trouble Codes) are the main diagnostic malfunction output for your vehicle. Learn more about DTCs here

As we previously discussed in What are DEM, DLT, DCM and DET (opens in a new tab), DEM Overview (opens in a new tab) and What is Functional Safety (opens in a new tab), ECUs contain a very thorough diagnostics suite, diagnosing all kinds of possible malfunctions in our vehicles. But how are those self-diagnosed malfunctions displayed to the end user or a mechanic in a garage?

This is the purpose of DTCs (Diagnostic Trouble Codes). These are codes set by the vehicle's diagnostic system, the OBD-II (On-Board Diagnostics, which we'll discuss in a future article), when a malfunction is detected, to then be displayed in the vehicle's dashboard or read by the mechanic on the garage, through UDS communication (you can learn more about UDS in UDS Overview (opens in a new tab) and UDS Frames and NRC Codes (opens in a new tab)). These codes make it way easier to diagnose and act upon problems in vehicles aiding to reduce expenses and spending a lot of time fixing the wrong issues in a vehicle. This is only possible if your vehicle is OBD-II or J1939 compliant, which is true for vehicles built after 1996.

Alright, now that we know what DTC codes are and what we use them for, we can check the internals of a DTC code. Let's first look at the structure of a DTC code:

OBD-II DTC code example { w: 149, h: 63 }

OBD-II DTC code example

As you can see by the example above, there are 5 numbers and characters that describe the DTC code:

So, when we put all the pieces together for our DTC code example, we have the first character as a P, Powertrain, then the second character as 0, meaning it's a standard SAE code, third character as a 1, which for Powertrain (if I go to my cheat sheet) is fuel and air metering, and for the characters 4 and 5 we get the specific fault, which tell us that the code is P0130 - O2 Sensor Circuit Malfunction (Bank 1 Sensor 1). Keep in mind that, if you are diagnosing a vehicle, you should always refer to the specific DTC list for it, because of the OEM-specific codes.

Now that you know what DTC codes are and how you can decipher them, what else do you need? A way to read them, of course. Nowadays, it's as simple as connecting an OBD-II scanner to your vehicle and you should be able to read at least the generic codes. For OEM-specific codes, it's a bit trickier, but as long as you have the list of DTC codes, you should also be able to know about them. Your vehicle may also provide this information in an easier way (without the whole process of having to learn DTC codes, which we enjoy because we're engineers, but the general consumer would not go to such lengths), given it's a bit recent, of course. As you may know by now, if you have read our articles, the DTC functionality is connected to UDS, so you can also send UDS messages to read and clear DTC information.

Lastly, if you are on a heavy-duty vehicle, you also have DTC codes, and they work in a similar fashion, but have a different structure:

J1939 DTC code example { w: 351, h: 62 }

J1939 DTC code example

As seen below, there are four parameters that describe a J1939 DTC code:

Alright, now that you know about DTC and J1939 DTC codes, we hope you get an OBD-II scanner and get to diagnosing your vehicle! Hopefully this does not ruin your day with mechanical expenses, that would be unfortunate.

Author: Micael Coutinho (opens in a new tab)

References:

© AutosarToday —@LinkedIn