What are DTC’s?

Diagnostic Trouble Codes (DTCs)
A DTC is a diagnostic trouble code (DTC) that is logged within an electronic module such as ABS module, Engine control module etc.
The diagnostic part of the module monitors the electrical attributes of a sensor or the output value from a sensor. This data is compared to a pre-set value programmed into the module. If the monitored value falls outside of the correct operating window stored within the module then a DTC will be set.

The history of Diagnostic Trouble Codes can be easily found via the internet and although it is interesting it doesn’t really offer much insight to how DTC work.
For the purpose of fault diagnosis using DTCs we only need to know that DTCs are an electronic method of monitoring and logging electrical systems and electrical circuits. The status of these electrical systems and electrical circuits can be present (fault is here now) or historic (fault has occurred but is not currently present).
It is also worth remembering that although it is the vehicle electronic systems that are monitored and record the DTC itself, mechanical failings can trigger DTCs within the electrical systems.

For simplicity DTCs can be split broadly into 3 categories:
1. Society of Automotive Engineers including legally required DTCs (OBD DTC’s)
2. Vehicle Manufactures DTCs
3. System and Module Manufactures DTCs

Society of Automotive Engineers generated DTCs (OBD DTC’s)
These DTCs were originally created by the Society of Automotive Engineers (SAE) for use by all vehicle manufacturers who have to comply with OBD II emissions regulations in the U.S. This list of basic codes has been adopted by most US, European and Asian auto makers who comply with J2012 Diagnostic Trouble Codes (DTCs).
This list of codes forms the backbone of DTCs although it is not extensive enough for most major vehicle manufacturers.

Vehicle Manufactures DTCs
This section contains the vehicle manufactures own DTCs. These are DTCs which each vehicle manufacture requires that are not covered within the SAE’s list of DTCs.

System and Module Manufactures DTCs
This section contains the DTCs used by individual electronic modules which are used on the vehicle electrical architecture. These are DTCs tend to be very specific to the electronic module and very detailed and exhaustive. These DTCs form the very foundation for the whole hierarchical structure of DTCs.

How DTCs are triggered and the hierarchical structure of DTCs
For easy of explanation let us consider a simple ABS wheel speed circuit.
This is a simple system, 2 wires, 1 sensor and 1 toothed wheel.


At a module level, this 2 wire, single sensor system could generate some 20 DTCs.
Bearing in mind that a vehicle has 4 wheels, at a ABS module level, there are approx 80 DTCs which could be generated for wheel speed sensor faults. Clearly having 80 DTCs available to report is overly complicated so during the vehicle development there is a process of aligning DTCs to match the SAE list. This process maps more than one module level DTC to a single SAE DTC.
This mapping process has two effects, it simplifies the number of DTCs which can be read via DTC reading scan tool but it also dilutes purity of the module DTC, effectively merging groups of module based DTCs into a single scan tool read DTC.

• Visual inspections are important!
• Problems with wiring and connectors are common, especially for intermittent faults.
• Mechanical problems (vacuum leaks, binding or sticking linkages, etc.) can make a good sensor look bad to the computer.
• Incorrect information from a sensor may cause the computer to control the engine in the wrong way. Faulty engine operation might even make the computer show a known good sensor as being bad!


Powertrain Codes
P0xxx – Generic (SAE)
P1xxx – Manufacturer Specific
P2xxx – Generic (SAE)
P30xx-P33xx – Manufacturer Specific
P34xx-P39xx – Generic (SAE)

Chassis Codes
C0xxx – Generic (SAE)
C1xxx – Manufacturer Specific
C2xxx – Manufacturer Specific
C3xxx – Generic (SAE)

Body Codes
B0xxx – Generic (SAE)
B1xxx – Manufacturer Specific
B2xxx – Manufacturer Specific
B3xxx – Generic (SAE)

Network Communication Codes
U0xxx – Generic (SAE)
U1xxx – Manufacturer Specific
U2xxx – Manufacturer Specific
U3xxx – Generic (SAE)



Leave a Reply