Understanding Engine Trouble Codes

Shiny engine parts on display.


What Does the Check Engine Light Mean?

So you start your car one morning and, as usual, the oil light, tire-pressure light, fasten seatbelts light and all the rest do their usual bulb-check for a few seconds. Then they all blink out again except for one: the Check Engine light (CEL).

Your car might run a little rough, feel short on power or get poor fuel economy, or it may not show any signs at all. The CEL illuminates when the engine's computer receives a reading from a sensor that's out of spec (sometimes a cycle of several readings) and registers a "hard code" that indicates a problem.

When the CEL is lit up, you should take the vehicle to your local Advance Auto Parts store for a free code check, one of several free services offered in-store*.

In the 90s, the industry adopted OBD-II standards across-the-board, so all vehicles will display the same trouble codes for the same problems.

OBD-II makes diagnosis a lot simpler and takes much of the guesswork out of troubleshooting, but it sometimes requires some reading between the lines and interpretation when several codes are displaying. Often, it's not as simple as just replacing the sensor that's giving the bad reading or repairing the problem that that sensor indicates.

Cracking the Codes

When the CEL is illuminated, it means that somewhere in your engine and drivetrain control system, a sensor has sent a reading to the engine's computer that's outside of normal parameters, and the computer has registered this as a trouble code. Beginning in the mid-'90s, the Society of Automotive Engineers came up with standards for their OBD II codes for vehicles. Some codes are vehicle-specific, while others are universal for American, European and Asian manufacturers. The trouble codes are broken down into four basic categories:

  • P denotes powertrain (engine, transmission, emissions)
  • B denotes body (climate control, lighting, airbags, etc.)
  • C denotes chassis (antilock brakes, steering, electronic suspension, vehicle stability control)
  • U denotes network communications (controller area network wiring and modules, post-2006 vehicles)

Of these, an engine code that has a 0 as its second digit is one that applies across the board, to all vehicles and manufacturers. One with a 1 as its second digit is an “enhanced" code that's manufacturer specific and may require extra diagnostic information pertaining to that vehicle. Remember: the MIL is not a general-purpose warning, and problems like low oil pressure or overheating will not illuminate the MIL, although they should trigger other warning lights or gauge readings.

Common Engine Trouble Codes

Here's a roundup of some of the most common trouble codes, with brief explanations of what they mean:

P0128: Engine has not reached operating temperature. Symptoms can include a decrease in fuel economy or failure to shift into highest gear at highway speed. Causes can include a failed thermostat, failed intake air temperature sensor, low coolant, dirty coolant, engine fan that never kicks off due to a defective switch or relay.

P0171: System too lean (Bank 1). This means the O2 sensor detects too much oxygen in the exhaust stream due to either too little fuel or too much air making its way into the mixture. Symptoms can include a poor idle, poor power or lower gas mileage. Causes can include a faulty MAF sensor, weak fuel pump or failed fuel pressure regulator, problems with an injector or the O2 sensor (which will usually be accompanied by other OBD-II codes) or, more commonly, a vacuum leak. P0174 is similar, except it indicates a different bank of cylinders.

P0300: Random or multiple cylinder misfire. Other misfire codes might include P0300, P0301, P0302, etc. with the last digit denoting the cylinder with the misfire problem. Symptoms include poor acceleration, rough running, rough idle, hesitation, poor idle, poor fuel economy. Causes can include worn spark plugs or wires, worn distributor rotor or cap, failure or problems with a coil pack, throttle position sensor, MAF sensor, camshaft or crankshaft position sensor. In severe cases, the CEL may flash.

P0401: Insufficient EGR flow. This is usually due to carbon buildup in EGR valve passages. Symptoms can include surging at part throttle, pinging on acceleration or sometimes no symptoms at all. This code can also be triggered by insufficient vacuum or electrical signal to the EGR valve, a malfunctioning EGR vacuum supply solenoid or out-of-spec EGR system feedback from the MAP sensor, EGR temp sensor, EGR valve position sensor or Differential EGR Pressure Feedback Sensor. Diagnosis and repair on this one can be tricky, as there are several potential causes that are not the EGR valve specifically.

P0420: Catalyst system efficiency below threshold. Sometimes there might be no symptoms, or there may be a lack of power from an obstructed catalytic converter. Watch for O2 sensor-related codes along with this one — it can result from either O2 sensor problems or a bad catalytic converter.

P0440: Evaporative system malfunction. The evap system controls fumes from fuel and includes the charcoal canister, fuel cap, fuel filler neck, gas tank and evap purge valve. A P0440 code may not show any symptoms other than a strong fuel smell, but it can be enough to fail an emissions test. NOTE: P0442 and P0445 are also evap system-related codes.

P0010: "A" camshaft position actuator circuit/open. On vehicles with variable valve timing, the powertrain control module (PCM) adjusts the camshaft during a certain load condition or RPM range to enhance power or fuel economy. P0010 code denotes a problem with the actuator for this feature, wiring issue, low oil level, wrong grade of oil, worn timing chain or a problem with the PCM itself. Symptoms can include poor power and poor fuel economy. NOTE: P0011, P0012, P0013 , P0014, P0016 and P0017 are also variable valve timing-related codes.

P0030: Heater control circuit. The O2 sensor needs to be at a certain temperature to do its job of analyzing the content of exhaust gases, and the P0330 code denotes a failure in the heater wire circuit for this sensor. Symptoms can include poor fuel economy, rich-running and lack of power. Replacement of the O2 sensor should fix this. NOTE: P0331, P0135, P0138 and P0141 are also O2 sensor heater circuit codes.

P0101: Mass air flow sensor circuit/performance malfunction. This emissions-related code refers to the MAF sensor, which monitors the proportion of air entering the fuel system, and will be registered when the MAF sensor sends readings that are out of spec. The following codes: P0130/P0136, P0131/P0137, P0132/P0138, P0135/P0155, P0171/P0174, P0172/P0175 can also be associated with MAF sensor problems. Symptoms can include black, smoky exhaust, lack of power, poor fuel economy, pinging or no symptoms at all. Causes can include a dirty or failed MAF sensor or its wiring, large vacuum leaks, split in the air intake boot or PCV valve, leaky intake manifold gasket or possibly an update needed for PCM software.

*Most stores, most locations, unless prohibited.

Check back with Advance for more articles on common OBD-II diagnostic codes! For now, let us know what tricky codes you've come across in the past.

Last updated July 14, 2021