Table of Contents
Introduction
Service/Mode $04, part of the On-Board Diagnostics (OBD-II) standard, is a diagnostic service designed to clear or reset emission-related diagnostic information in a vehicle’s Engine Control Unit (ECU). This includes Diagnostic Trouble Codes (DTCs) and Freeze Frame Data that are stored when a fault is detected in the emissions control system.
The table below summarizes the information cleared by Service/Mode $04.
Service/Mode $04 Function | Additional details |
MIL and number of diagnostic trouble codes | can be read with Service $01, PID $01 |
Clear the I/M (Inspection/Maintenance) readiness bits | Service $01, PID $01 and $41 |
Confirmed diagnostic trouble codes | can be read with Service $03 |
Pending diagnostic trouble codes | can be read with Service $07 |
Diagnostic trouble code for freeze frame data | can be read with Service $02, PID $02 |
Freeze frame data | can be read with Service $02 |
Status of system monitoring tests | can be read with Service $01, PID $01 |
On-board monitoring test results | can be read with Service $06 |
Distance travelled while MIL is activated | can be read with Service $01, PID $21 |
Number of warm-ups since DTCs cleared | can be read with Service $01, PID $30 |
Distance travelled since DTCs cleared | can be read with Service $01, PID $31 |
Time run by the engine while MIL is activated | can be read with Service $01, PID $4D |
Time since diagnostic trouble codes cleared | can be read with Service $01, PID $4E |
Reset misfire counts of standardized Test ID $0B to zero | can be read with Service $06 |
All ECUs are required to respond to this request when the ignition is in the ON position and the engine is not running, ensuring a safe and stable environment for the operation.
For safety considerations or due to technical design constraints, certain ECUs may be unable to perform this operation under specific conditions, such as when the engine is running. In such cases, these ECUs must reject the request and respond with a negative response message, indicating the issue with response code $22 (conditionsNotCorrect). This ensures that the diagnostic process is conducted in compliance with system safety and operational requirements.
The key functions of Service/Mode $04 can be summarized as:
- Clear Diagnostic Trouble Codes (DTCs): service $04 erases all stored and pending DTCs that are associated with emission-related systems. This is typically done after repairs to ensure the system starts monitoring fresh.
- Reset Freeze Frame Data: when a fault occurs, the ECU captures a snapshot of critical parameters (Freeze Frame Data) at the time of the fault. Service $04 clears this data along with the DTCs.
- Reset Readiness Monitors: emission-related monitors that track the performance of various systems (e.g., catalytic converter, oxygen sensors) are reset to “not ready” status. These monitors need to complete a “drive cycle” to verify proper operation.
Service/Mode $04 is used in these scenarios:
- Post-Repair Reset: after repairing an emission-related fault, technicians use Service $04 to clear stored codes and allow the system to retest.
- Pre-Inspection Preparation: Ensures a vehicle starts with no codes or data that might fail emissions testing.
Important thing to consider
- Temporary Effects: clearing data does not fix the underlying issue. If the fault remains, the DTCs will reappear after the ECU detects the problem during subsequent operation.
- Drive Cycle Requirement: after using Service $04, the readiness monitors reset and require a complete drive cycle to confirm proper system functionality.
Communication protocol (network)
Service $04 is typically invoked via an OBD-II scan tool or diagnostic equipment. It communicates with the vehicle’s ECU using a standardized protocol such as ISO 9141, ISO 15765 (CAN), or SAE J1850.
This service is important for technicians to verify repairs, maintain vehicle compliance with emission regulations, and prepare vehicles for inspections.
Clear/reset request message
The table below provides a detailed definition of the request message used for Service $04 (Clear/Reset Emission-Related Diagnostic Information).
Data Byte | Parameter Name | Cvt | Hex Value | Mnemonic |
#1 | Clear/reset emission-related diagnostic information request SID | M | 04 | SIDRQ |
Here’s what each column represents:
- Data Byte: specifies the position of the data byte within the request message. In this case, it is the first byte (#1).
- Parameter Name: describes the specific parameter represented by the data byte. Here, it is the “Clear/reset emission-related diagnostic information request SID” (Service Identifier).
- Cvt (Convertibility): indicates whether the parameter is mandatory or optional. “M” denotes that this parameter is mandatory.
- Hex Value: represents the hexadecimal value corresponding to the parameter. For this request, the SID has a hex value of
04
. - Mnemonic: a shorthand or symbolic name representing the parameter. The mnemonic used here is SIDRQ, which stands for Service Identifier Request.
Clear/reset response message
This table provides the definition of the response message for Service $04 (Clear/Reset Emission-Related Diagnostic Information).
Data Byte | Parameter Name | Cvt | Hex Value | Mnemonic |
#1 | Clear/reset emission-related diagnostic information response SID | M | 44 | SIDPR |
The hexadecimal value associated with this parameter in the response. In this case, the response SID has a hex value of 44
, which is 40+04.
Examples
The example below shows how the “Clear/reset emission-related diagnostic information” service shall be implemented if ignition is ON and with the engine not running. The OBD scantool requests the vehicle to Clear/reset emission-related diagnostic information.
Request Example (from the scantool to ECU): 04
04
– Clear/reset emission-related diagnostic information request SID.
Response Example (from the ECM to scantool): 44
44
– Clear/reset emission-related diagnostic information response SID.
The example below shows a negative response message, for example when the request was made but the engine was running.
Request Example (from the scantool to ECU): 04
04
– Clear/reset emission-related diagnostic information request SID.
Response Example (from the ECM to scantool): 7F 04 22
7F
– Negative Response Service Identifier.
04
– Clear/reset emission-related diagnostic information request SID.
22
– Negative Response Code: conditionsNotCorrect.
Conclusions
Service/Mode $04 is a critical component of the OBD-II diagnostic system, designed to clear emission-related Diagnostic Trouble Codes (DTCs), reset Freeze Frame Data, and initialize readiness monitors. It plays a key role in post-repair verification, allowing technicians to confirm whether repairs have resolved the underlying issues. Although it resets emission-related monitors, which are essential for passing emissions tests, these monitors require a complete drive cycle to return to a “ready” state.
Service/Mode $04 ensures standardization across vehicle manufacturers, making diagnostic and repair processes more efficient. However, for safety and technical reasons, some ECUs may reject the request under certain conditions, such as when the engine is running, by providing a negative response message. It is important to note that while Service $04 clears fault codes and resets systems, it does not fix the root cause of the problem—faults will reappear if unresolved. This service is essential for maintaining regulatory compliance, reducing environmental impact, and ensuring vehicles operate efficiently.