Topic

Engine and emissions codes (P0)

P codes come from the engine and transmission computers. Read the subsystem digit first: it tells you whether you are looking at fuel and air, ignition, emissions, idle, the computer itself or the transmission.

Lamp
check engine (malfunction indicator lamp)
Code format
P + 4 characters, e.g. P0420

Powertrain codes start with P. A second character of 0 means a generic code with the same meaning on every vehicle; 1 means the maker defines it. The third character names the subsystem: 1 and 2 are fuel and air metering, 3 is ignition and misfire, 4 is auxiliary emissions such as EGR, EVAP and the catalyst, 5 is speed and idle control, 6 is the computer and its outputs, and 7 to 9 are the transmission.

A code says which test failed, not which part to replace. P0171 (system too lean, bank 1) can come from a vacuum leak, a dirty mass airflow sensor or weak fuel delivery. Use the freeze frame and live data, especially fuel trims and oxygen sensors, to narrow it down before buying parts. The fuel trim reader helps with lean and rich codes.

A steady check engine light means a fault that should be checked soon. A flashing light means a misfire bad enough to damage the catalytic converter: reduce load and get it fixed before driving further.

Common mistakes

  • Replacing the part named in the code description without testing it.
  • Fixing a downstream code such as P0420 before the misfire or fuel trim code that caused it.
  • Clearing the code before saving the freeze frame data.

Pages on this topic