The warning light comes back after clearing: read the freeze frame to catch the fault

Why the light comes back

Clearing a code sends a standard OBD2 command to the engine control unit: it forgets the codes, resets the emissions checks to “not ready” and turns off the light. It does not repair anything, and DiagAuto AI does not reprogram anything. The control unit then starts its tests again. If the fault is still there, it finds it again, often within one or two trips, and the light comes back on. See also Clearing a fault code: when it helps.

The “I will clear it and see” reflex mainly makes you lose a clue: along with the codes, clearing deletes the freeze frame.

What the freeze frame is

When a fault is confirmed, the control unit takes a photo of the main readings at that precise moment and stores it with the code (mode 02 of the OBD2 standard). It generally contains: the code that triggered the photo, engine speed, calculated engine load, coolant temperature, road speed, fuel trims, often intake pressure, air temperature and time since start-up. The exact content depends on the vehicle.

Two limitations to be aware of:

  • it is a single photo, not a video;
  • the control unit generally keeps only one snapshot, the one for the first fault or for a fault considered a priority (misfires, mixture).

Where to read it in the app

On the Diagnostics screen of DiagAuto AI, after “Read fault codes”, the “Data at the time of the fault” button queries the control unit and displays the triggering code, then the stored values. The app requests the readings ticked on the “Sensors” screen: tick at least engine speed, load, temperatures, road speed and intake manifold pressure. If the control unit has not recorded anything, the app says so; this is normal just after clearing.

Before clearing, the app offers “Save the report before clearing”: the report, with its frozen data, stays in the “History”. A screenshot also does the job.

Case no. 1: P0299, boost pressure too low (turbo diesel)

The owner of a 1.6-litre diesel clears the code; it comes back after two days. Here is the snapshot taken before the second clearing (illustrative example, typical values):

ReadingValueWhat it says
Triggering codeP0299The photo does relate to this code
Engine speed2,450 rpmRange where the turbo should be blowing hard
Calculated engine load92%Foot almost to the floor
Road speed96 km/hAccelerating on the open road, not in town
Coolant temperature88 °CWarm engine: not a “cold” fault
Intake manifold pressure138 kPaAbsolute pressure: about 0.4 bar above atmospheric
Atmospheric pressure99 kPaServes as the reference

Reading: at this load and engine speed, a small turbo diesel commonly reaches 200 kPa absolute or more (the order of magnitude varies with the engine). 138 kPa is too little. The fault appears at full load, with the engine warm, which points to a leak that opens under pressure (air hose or clamp), seized variable geometry or its control, rather than the turbo itself in the first place.

What to do next: reproduce the same conditions. With the phone fixed in a holder, never handled by the driver, display the intake manifold pressure on the “Sensors” screen and accelerate firmly in 3rd gear, from 1,500 to 3,000 rpm, on a clear road. A pressure that rises then drops suddenly suggests a leak or control that gives out; a pressure that rises slowly and tops out low, sluggish variable geometry. The pressure target is not part of the standard OBD2 data the app reads: a garage compares it with the actual value using the manufacturer's tool.

Case no. 2: P0128, coolant below thermostat temperature

A small petrol city car, in November. The code comes back after every clearing. Snapshot (illustrative example):

ReadingValueWhat it says
Triggering codeP0128
Coolant temperature71 °CThe engine has not reached its regulating temperature
Intake air temperature6 °CCold weather
Time since start-up1,140 s19 minutes on the road: more than enough to warm up
Road speed88 km/hFast road: lots of cold air through the radiator
Calculated engine load31%Steady cruising

Reading: after 19 minutes, a healthy engine is generally between 85 and 95 °C. Staying at 71 °C while cruising steadily in cold weather is the classic signature of a thermostat stuck open: the coolant flows through the radiator all the time.

What to do next: confirm in real time. With the engine cold, display the coolant temperature and drive for 15 to 20 minutes. With a healthy thermostat, it rises steadily then stabilises. With an open thermostat, it rises slowly, tops out low and drops again on a fast road. If the app shows a normal temperature while the code keeps coming back, or if the heater blows very hot while the value read stays low, rather suspect the temperature sensor or its connector.

The method, in four steps

  1. Read everything: confirmed codes, “Pending codes”, “Permanent codes”, then “Data at the time of the fault”.
  2. Save the report (or take a screenshot) before any clearing.
  3. Interpret the conditions: engine cold or warm, idle or full load, town or open road. That is where the fault is hiding. “Explain with AI” sends the code with this frozen data and suggests leads; it does not replace a check on the car.
  4. Reproduce these conditions while watching the relevant sensors, then read the pending codes again after the trip.

Read also: The 10 sensor values to know and Talking to your mechanic with a fault code.

Frequently asked questions

Is the freeze frame cleared at the same time as the codes?

Yes. The standard OBD2 clear command erases the codes and the frozen data that go with them. Note them down or save the report before clearing, otherwise the most valuable clue is lost.

Why does the app show “no snapshot” when the light is on?

Just after clearing, the control unit has not recorded anything yet. Some control units also do not record a snapshot for every code, and generally only one snapshot is kept: the one for the first fault, or for a priority fault (misfires, mixture).

Does the freeze frame show several seconds of data?

No. In standard OBD2, it is a photo taken at a single instant, when the fault was confirmed. To see how things change, you then need to look at the sensors in real time.