When a sensor or actuator falls outside the tolerance range, the control system will recognize this and a DTC (Diagnostic Trouble Code) is stored. We can read these fault codes using test equipment.
The fault codes can be divided into two categories:
- Current fault codes (present, permanent)
- Stored fault code (stored, sporadic, intermittent)
Current fault codes:
A current fault code means that the fault is present at the moment you read the fault memory of a control unit.
A wheel sensor plug is not connected. The control system recognizes this and a fault code is stored. If you clear this fault code, the control system will immediately recognize the fault again and a fault code will be stored again. Therefore, you cannot clear a current fault code.
A current fault code |
![]() |
Stored fault codes:
A stored fault code relates to a malfunction that the control system has recognized and confirmed, but which is not present at the time of reading.
A wheel sensor plug makes poor contact but is okay at the time of reading.
You can also erase this fault code and it will not immediately return. Erasing the fault code does not mean the malfunction is resolved.
A stored fault code |
![]() |
Malfunctions in the process or peripheral:
Malfunctions can relate to a control, process, or a defect in the wiring or component itself.
The associated fault codes can therefore be divided into:
- Malfunctions in the peripheral
- Malfunctions in the process
Fault codes (DTCs):
When the OBD detects a malfunction, a DTC (Diagnostic Trouble Code) is stored. DTCs can be divided into:
- NON-MIL-DTCs
- MIL-DTCs
NON-MIL-DTC:
This concerns a DTC that has nothing to do with an emission-related malfunction, and thus not with the EOBD legislation. It cannot be retrieved with an EOBD tester either. These are also the limitations of EOBD, because such malfunctions can only be detected with brand-specific equipment.
MIL-DTC:
This means it concerns an emission-related malfunction, i.e. the MIL will (start to) illuminate. These DTCs can be read with universal EOBD testers.
The EOBD tester will receive fault codes when reading malfunctions. These codes are standardized by law. Depending on the tester, only the code or also the associated description will be displayed.
Pending and confirmed fault codes:
Within the EOBD legislation, we also have pending fault codes and confirmed fault codes. If a malfunction is detected by the control system, this malfunction will be stored as a pending DTC. If this malfunction is confirmed during the second drive, a confirmed DTC and FFD (Freeze Frame Data) will be stored and the MIL (Malfunction Indication Light) will illuminate. This is not necessarily a current fault code.