Check Engine OBDII Diagnostic Trouble Codes (DTC)
Here are some of the frequent check engine OBDII fault codes or DTCs (Diagnostic Trouble Code) and their generic meaning. This is of course very basic information to give you an idea, as the interpretation of the check engine diagnostic trouble codes varies slightly between different car manufacturers. To properly diagnose a check engine light problem, take your car to a local repair shop or a dealer, where a mechanic can do some tests with a scan tool and check a number of components to determine what exactly caused the problem. Checking the freeze frame is also important. A freeze frame is a snapshot of the powertrain parameters at the moment when the engine computer detected a fault and the trouble code was set.
Often there could be not one, but a few trouble codes stored in the engine computer (ECM). In this case, a repair manual usually lists which code should be troubleshooted first, as additional codes may be set as a result of the same problem.
P0100 - Mass Air Flow Circuit Malfunction
The mass air flow or MAF sensor is placed in the intake air duct between the air filter and the engine intake manifold. The MAF sensor measures the amount of intake air flow. The MAF sensor converts the air flow measurement into a voltage or frequency signal, with the voltage or frequency changing proportionally to the amount of air flow.
The air flow sensor signal is monitored by the engine computer (ECM). The engine computer (ECM) uses the mass air flow signal to know the engine load and to calculate the proper amount of fuel injected. If the signal from the mass air flow sensor is out of expected range, the ECM detects a fault and sets the code P0100. For example, the mass air flow sensor signal could be higher than expected when the engine is not running or lower than expected with the engine running. A car with the code P0100 may have some driveability issues, such as stalling, lack of power, surging, hesitation, etc. In some cars, the code P0100 can cause the fail-safe mode where the engine speed would be limited to 2,500 - 3,000 rpm.
If there are other trouble codes present, they might need to be looked at first. Checking the freeze frame may help, as it may contain some important information. The freeze frame is a snapshot of the engine parameters at the moment when the fault was detected. The freeze-frame may show whether the vehicle was running or stopped, whether the air–fuel ratio was lean or rich, was the engine was cold or warmed up at the time of the malfunction. Read more about the freeze frame.
Read more about mass air flow sensor.
What could cause the code P0100:
- faulty or contaminated mass air flow sensor
- open or short in the mass air flow sensor electrical circuit
- open or short in the sensor power or ground circuit
- other electrical problem with the MAF sensor wiring, (corroded wires, bent terminals, bad ground connection, burned fuse, etc.
- vacuum leaks
- restricted air flow at or before the air filter
- wrong air flow sensor installed
- problem with ECM
In some Nissan vehicles (e.g. Nissan Maxima, Frontier, Sentra, Pathfinder, as well as Infinity Q30, QX4) the code P0100 could be caused by a bad mass air flow sensor or broken soldering at mass air flow sensor terminals. Sometimes this problem may also cause intermittent issues, like stalling or stumbling.
A Nissan technical service bulletin (TSB) for 2000-2001 Maxima describes another problem where the mass air flow sensor could be damaged by dust/dirt causing the code P0100. As a solution, Nissan recommends cleaning the air filter housing, replacing the mass air flow sensor assembly and installing the original Nissan air filter, as well as checking, and if needed, reprogramming the ECM.
In some Mercedes-Benz cars, the code P0100 could be caused by a bad MAF sensor. The MAF sensor needs to be checked (read below) and replaced if needed. To avoid problems, it's better to use an OEM part. Similarly, in some BMW, the code P0100 could be caused by a bad air flow sensor or vacuum leaks.
What needs to be checked with the code P0100:
1. The engine needs to be checked for vacuum leaks.
2. The connector and the wiring between the mass air flow sensor and the ECM need to be checked for open or shorts.
3. An air duct between the mass air flow sensor and the engine intake needs to be checked for cracks, tears, loose clamps or improper connection.
4. The connector and the wiring at the mass air flow needs to be checked for loose terminals, corrosion or damage.
5. The air filter element needs to be checked and replaced if dirty.
6. The mass air flow reference voltage and ground must be checked at the sensor connector.
7. A mass airflow sensor signal must be checked with a voltmeter or better with a scan tool at different RPMs and compared to the reference chart or values from a known good air flow sensor.
In many cases, if no other issues found the mass air flow sensor may need to be replaced. In some vehicles (e.g. Nissan), when the new air flow sensor is installed, the fuel trim learned value must be reset. A new mass airflow sensor may cost from $70 to $350. Replacing the MAF sensor is an easy task and won't be expensive in an auto repair shop. It's always best to use the original part, as an incorrect MAF sensor also could cause problems. If the problem is fixed, the code P0100 will clear itself after driving.
P0101 - Mass Air Flow Sensor Circuit Range/Performance
Volkswagen mass airflow sensor
The code P0101 is set when the signal from the mass air flow sensor is out of expected range. The mass air flow sensor measures the amount of air (air flow) that enters the engine. It is installed between the air filter and the throttle valve, so that the intake air is passing through the sensor. The air flow measurements are used by the engine computer (PCM) to adjust the amount of fuel injected by the fuel injection system and to calculate the engine load.
The code P0101 could be caused by problems with the mass air flow sensor itself, or other issues that affect the air flow measurements, including intake leaks, restricted exhaust, etc.
Read the full article »
P0102 - Mass Air Flow Sensor Circuit Low
Often this code can be caused by a failed or contaminated mass air flow sensor. Read more: code P0102.
P0106 - Manifold Absolute Pressure/Barometric
Pressure Circuit Range/Performance Problem
The code P0106 - Manifold Absolute Pressure/Barometric
Pressure Circuit Range/Performance Problem refers either to the Manifold Absolute Pressure sensor (MAP) sensor or to the Barometric Pressure sensor (BARO) circuit depending on a car. The MAP sensor measures the absolute pressure inside the engine intake manifold which is directly related to the engine load. The accompanied symptoms for a MAP sensor fault could include lack of power, rough idle, as well as too high or too low idle speed.
The barometric pressure sensor (BARO) measures the atmospheric pressure that varies with altitude. The engine computer (ECM) uses the signal from the MAP/BARO sensor to adjust the amount of fuel injected into the engine. In some cars the ECM could use the signal from the MAP sensor to check the operation of the EGR system, as well as to check rationality of other sensors.
If there are other trouble codes present along with the P0106, they should be looked at first, as the code P0106 could be set due to other faults.
What can cause the code P0106:
- clogged a cracked vacuum line to the sensor
- electrical problems with the wiring, connector or the ECM power supply
- faulty MAP/BARO sensor
- dirty throttle body
- problems with the EGR system
- bad mass airflow sensor (MAF)
- engine mechanical problems
- blocked exhaust or catalytic converter
A Mazda technical service bulletin (TSB) describes a problem with the corrosion at the MAP sensor causing the code P0106 (MAP sensor malfunction) in 4-cylinder models of some 2004-2006 Mazda 3, 2006 Mazda 5, 2006 Mazda MX-5 and 2003-2006 Mazda 6. The TSB recommends replacing the MAP sensor with an updated part.
A GM TSB describes a problem with some 2006-2009 GM trucks where the condensation may freeze inside the MAP sensor in cold weather causing the code P0106. The TSB recommends to modify a MAP sensor.
How the MAP/BARO sensor works:
A typical MAP or BARO sensor is a 3-wire sensor and is connected to the ECM. One wire receives the +5 Volts reference voltage from the ECM, another wire is connected to the ground. The third wire is a signal wire. The MAP sensor signal voltage changes between about 1 Volt and 4.9 Volts depending on the pressure.
If it's a MAP sensor, the signal voltage with the ignition key ON, engine OFF (KOEO) should be around 4-4.9 Volts. With the engine running at idle, the signal voltage should drop to around 1-2 Volts; when the engine is accelerated sharply, the signal should change to around 4-4.5 Volts.
How to check the MAP sensor:
With the ignition ON, check the +5 Volts reference voltage with the voltmeter and the ground at the sensor. Next, check the signal voltage and see what it reads with the ignition key ON, engine OFF (KOEO) and if it changes when the engine is started. If you have a scan tool, select Data Monitor mode and check the MAP sensor reading with ignition ON, engine OFF. The MAP reading should be close to that of BARO sensor, as with the engine OFF, the pressure inside the intake manifold is equal to the atmospheric pressure.
How to check the BARO sensor:
Using a voltmeter, check the +5 Volts reference voltage and the ground at the sensor. Next, apply the vacuum and see if the reading changes.
A: In Mazda Protege, the code P0106 means EGR Boost Sensor Circuit Malfunction. It's still the same three-wire sensor that can be checked as mentioned above. In Mazda, the EGR Boost Sensor is connected through the EGR boost sensor solenoid that also could be defective. Another common issue is the vacuum lines could be plugged with carbon. The EGR valve itself could be inoperative or plugged with carbon.
A: The code P0106 is for the MAP sensor, which is mounted on the intake manifold. See if the vacuum line to the sensor is not broken and check the voltage at the sensor. The sensor itself could go bad; it's not uncommon.
P0116 - Engine Coolant Temperature Sensor Range/Performance
The code P0116 means that the engine temperature is out of expected range.
For example, when the car is started cold, the engine computer compares the data from the engine coolant temperature sensor (ECT) and the intake air temperature sensor (IAT). Normally, when the engine is just started cold, its temperature should be close to the temperature of the outside air. If the difference between the data from the engine coolant temperature sensor and the intake air temperature sensor is too great, the computer sets the code P0116. The same code could be set if the engine coolant temperature is higher than expected.
The code P0116 could be caused by a bad engine temperature sensor itself, poor connection at the sensor, wiring problem or the problem with the coolant system. For instance, on some Volkswagen cars the code P0116 was commonly caused by a bad temperature sensor. Checking the freeze frame data should help to diagnose the problem, as the freeze frame will show the engine temperature sensor reading as well as data from other sensors at the moment the fault was detected. Take your car to a repair shop for proper diagnostic, your mechanic can scan the car computer and check the freeze frame.
P0128 - Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
The code P0128 essentially indicates that the specified engine temperature was not reached after the engine was running for a sufficient time. One of the reason for this code could be a bad thermostat. . Sometimes, a car manufacturer may recommend an engine computer to be reprogrammed to address this problem. Read full article: The code P0128 - Coolant Thermostat.
P0130 - O2 Sensor Circuit (Bank 1 Sensor 1)
The fault code P0130 is set when the voltage from the front O2 sensor is out of range. This code could be caused by an open or short in the oxygen sensor circuit, bad oxygen sensor, too lean or too rich air/fuel ratios, intake leaks, exhaust leaks etc. An oxygen sensor can be checked with a lab scope or OBDII scan tool; take your car to your mechanic for proper diagnostic.
Some car manufacturers may also recommend reprogramming of the engine computer (ECM). For example, the Subaru Service Bulletin WWF-89 dated 04/2002 lists replacing the front oxygen (A/F) sensor and reprogramming the ECM as a solution for codes P0031, P0130 or P1133.
The code P0150 - O2 Sensor Circuit (Bank 2 Sensor 1) has the same meaning, but it relates to a front oxygen sensor of the bank 2.
Read more about an oxygen sensor here: oxygen sensor.
P0132 - O2 Circuit High Voltage (Bank 1, Sensor 1)
Normally the front oxygen sensor produces a small signal voltage (0.2V to 0.9V). The trouble code P0132 is set when the signal voltage is too high. This may happens, for example, when the oxygen signal wire gets shorted to a power wire somewhere in the harness. Too rich air/fuel mixture, a bad ground or moisture on the connectors or inside the wire harness also can cause the same problem. Sometimes the oxygen sensor itself can go bad causing the code P0132. Also, on some cars, using aftermarket oxygen sensors instead of original is known to cause the fault code P0132. Some car manufacturers may also recommend reprogramming of the engine computer (ECM) if the code P0132 is present. An oxygen sensor can be checked with a lab scope or OBDII scan tool; take your car to your mechanic for proper diagnostic. Read more about an oxygen sensor.
P0133 - O2 Circuit Slow Response (Bank 1, Sensor 1)
In general, this code means that on a warmed up engine, the signal from the front oxygen sensor of the bank 1 switches between lean and rich air/fuel conditions too slow or its amplitude (voltage) is out of expected range. This code could be caused by a bad or contaminated O2 sensor itself, sensor wiring problems or plenty of other reasons, such as exhaust leaks, too lean or too rich condition, intake leaks, a bad mass air flow sensor, etc. An oxygen sensor can be checked with a lab scope or OBDII scan tool; take your car to your mechanic for proper diagnostic. Read more about the oxygen sensor.
The code P0153 - O2 Circuit Slow Response (Bank 2, Sensor 1) has the same meaning, but refers too the front oxygen sensor of the bank 2.
P0134 - Oxygen (A/F) Sensor No Activity Detected (Bank 1 Sensor 1)
The code P0134 means that the engine computer (ECM) has detected that the signal from the front oxygen sensor or the air/fuel (A/F) ratio sensor does not change for a certain time when the necessary conditions (engine temperature, rpm, etc.) are met. Read more: OBDII Code P0134 »
P0135 - O2 Sensor Heater Circuit (Bank 1 Sensor 1)
An air fuel ratio (A/F) sensor has a built in electric heating element. The code P0135 indicates a malfunction with the A/F sensor heating element. Read more: Code P0135
P0136 - O2 Sensor Circuit Malfunction (Bank 1 Sensor 2)
Rear Oxygen Sensor
A rear oxygen sensor (Sensor 2) is installed in the exhaust after the catalytic converter. The term Bank 1 typically refers to the bank containing cylinder 1. Read more about an oxygen sensor and what means "Bank 1 Sensor 2" here: Oxygen sensor - illustrated glossary.
The engine computer (ECM) uses the signal from the rear O2 sensor to monitor the catalytic converter efficiency. Normally the rear oxygen sensor's voltage changes slightly when the fully warmed-up engine is accelerated (rich mixture) or decelerated (lean mixture). If the voltage from the rear O2 sensor doesn't change as expected for a certain period of time, the code P0136 is set. This could be caused by a faulty oxygen sensor itself, corrosion in the sensor connector, problem with the sensor wiring, exhaust leak or a number of other causes. Sometimes a too lean or too rich condition can trigger the code P0136. In some cases, a problem with the front O2 sensor or air/fuel sensor or the catalytic converter can also cause the code P0136.
The code P0156 O2 Sensor Circuit Malfunction (Bank 2 Sensor 2) has the same meaning, but it relates to the rear oxygen sensor of the bank 2.
P0141 - O2 Heater Circuit (Bank 1, Sensor 2)
The code P0141 woks the same way as P0135, but it's related to the rear O2 sensor (Sensor 2) of the Bank 1. Again, it could be the oxygen sensor itself, the wiring problem, low battery, and many other things.
For example, A technical service bulletin for 1996-99 Honda Civic mentioned the problem where the engine wiring harness is rubbing on the intake manifold bracket in the back of the engine causing the code P0141 along with some other codes and blown fuse.
A while ago my 2003 Honda Accord threw the check engine light with the code P0141, I just replaced the rear O2 sensor, cleared the code and the problem was fixed.
Read more about Oxygen Sensor.
P0153 - O2 Circuit Slow Response (Bank 2, Sensor 1)
See the code P0133.
A: In this case, I'd certainly start with the code P0174. The code P0174 means the air-fuel mixture is lean, which can cause the code P0153 to set. The Bank 2 is a driver's side in F150 if I remember correctly. Check for vacuum leaks, there are not uncommon in F150: you may hear it as a hissing noise from under the hood. Sometimes, you can see a vacuum pipe or a PCV pipe rubbed through creating a vacuum leak. If you or your mechanic has a scan tool, check the Long Fuel Trim and Short Fuel Trim on Bank 1 and Bank 2. The fuel trim shows whether the mixture is rich or lean. If the air-fuel mixture is normal at high rpms but leans out at idle, most likely you have a vacuum leak. If it's always lean, you may have some other problem. A bank 2 sensor 1 is the oxygen sensor on the driver's side before catalytic converter. If the mixture shows lean at high rpms and at idle, the oxygen sensor could be bad.
P0154 - O2 Sensor Circuit No Activity Detected (Bank 2 Sensor 1)
See the code P0134.
P0155 - O2 Sensor Heater Circuit (Bank 2 Sensor 1)
The code P0155 works the same way as the fault code P0135, but it's related to the front O2 sensor (Sensor 1) of the Bank 2.
P0156 - O2 Sensor Circuit Malfunction (Bank 2 Sensor 2)
See the code P0136.
P0161 - O2 Sensor Heater Circuit (Bank 2 Sensor 2)
The code P0161 has the same meaning as the trouble code P0135, only for the rear O2 sensor (Sensor 2) of the Bank 2.
P0170 Fuel Trim Malfunction (Bank 1)
The code P0170 means that the air-fuel mixture coming in to the engine is too lean, or too rich. Usually it's the lean condition that causes this code. The code P0173 means the same, only for the Bank 2. Some car manufacturers list the description for the code P0170 as self adaptation out of limits.
The code P0170 could be caused by a number of reasons, such as vacuum leaks, bad PCV valve, or other parts of crankcase ventilation system, low fuel pressure, bad oxygen sensor, etc.
The code P0170 Fuel Trim Malfunction (Bank 1) is common in European models. Often a car may exhibit stalling, hesitation and rough idle.
In BMW vehicles vacuum leaks from cracked rubber intake air boot is a common occurrence. The intake air boot connects the air filter box with the intake manifold. Problem with positive crankcase ventilation components also can cause vacuum leaks. The mass airflow sensor problems are also not uncommon.
In some Mercedes-Benz vehicles besides other reasons, a bad mass airflow sensor can cause the code P0170 Fuel Trim Malfunction (Bank 1), as well as P0173 Fuel Trim Malfunction (Bank 2).
To find the exact reason in your car, your mechanic may need to check your vehicle for vacuum leaks, test the mass airflow sensor readings with the scan tool, check fuel pressure, as well as few other things. Read more about Mass Air Flow (MAF) sensor. If the new mass airflow sensor is installed, make sure the air filter is installed properly, as the sand particles coming with the unfiltered air can damage the airflow sensor.
P0171 - System Too Lean (Bank 1)
The code P0171 means that the air-fuel mixture coming in to the engine is too lean, or there is too much air and too little fuel. This could be caused by a number of reasons, such as bad air flow sensor, low fuel pressure, plugged fuel filter, worn fuel pump, vacuum leaks, exhaust leaks, etc.
The code P0174 - System Too Lean (Bank 2) means the same, only for the Bank 2. Read the full article: P0171 - System Too Lean
P0173 - Fuel Trim Malfunction (Bank 2)
See the code P0170.
P0174 - System Too Lean (Bank 2)