More than 20 years ago, automakers and the EPA developed the standard that we know today as OBDII. This standardized many of the onboard emissions protocols and codes and allowed states to perform onboard emissions testing. For technicians, it opened a whole new world of diagnostics. As time passed, even large trucks and motorcycles adopted this same way to test the emissions status of a vehicle.
As part of OBDII, Mode$02 for the logging or freeze frame data was created. This diagnostic protocol saves data PIDs and information when a code is set. In 1995, freeze frame gave technicians a powerful diagnostic tool that was previously only available on expensive factory tools.
What is Freeze Frame Data?
Without going into details like the types of codes and monitors, freeze frame data is a “snap shot” of when the code occurs of the specific sensor PIDs. In general, the newer the vehicle, the greater number of PIDs in a freeze frame. These PIDs focus on the how the engine burns fuel and manages emissions. You will not find data for the variable valve timing or other devices that might be unique to the manufacturer.
Chances are you have a scan tool that offers specific make and model coverage and generic/global OBDII. But, in some cases, the fastest way to get to the bottom of a check engine light might be to access the vehicle with generic protocols.
Most engine control modules store only one freeze frame record per code. The freeze frame data is stored when a test fails or a DTC is set. The freeze frame is not updated with current values. If the code P0171 for bank one is too lean, and if the criteria for the code are set again, it will overwrite the previous freeze frame data.
What is in freeze frame data?
On some vehicles, the freeze frame data is limited to data PIDs focused on a narrow set of values that determine the fuel system performance and emissions. These can include:rpm; fuel system status; calculated engine load; readings of absolute pressure; readings from the MAP sensor or MAF sensor; spark advance; throttle position; coolant temperature; long- and short-term fuel trims; vehicle speed; voltage; MIL status; EVAP status; and EGR status.
Depending on the vehicle and code, the amount of information can vary. But, there are several key pieces of information you need to look for:
– What was the vehicle doing at the time the code was set?
– What was the coolant temperature and fuel system status?
– Did the problem occur at idle or under load, and at what rpm?
– What are the fuel trims, and what are the differences between the short- and long-term?
From this information, you can replicate the problem on a test drive faster. Other information can include vital “nuggets” of information like battery voltage, fuel pressure and EVAP status that can point you in the right direction faster than just going on the code alone.

Here is the freeze frame data accessed using the generic/global OBDII protocols. It is easy to see the code was set when the vehicle was idling and just warming up.
Also, the open-loop status for both banks and 90° F coolant temperature confirm the code was set when the engine was cold.

Limitation of Freeze Frame
The main limitation of freeze frame is it captures only when the code triggered and not the events that occurred before or after. Also, freeze frame data is limited to standardized codes and there is typically never freeze frame information for body or chassis codes.
Freeze frame data does not stay around forever. If a scan tool clears a code, or the code is cleared due to prerequisite number of trips or drive cycles, the freeze frame data might be erased.