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 Nissan mass air flow sensor 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
The code P0101 means that the signal from the mass air flow sensor (MAF) is out of expected range. The MAF sensor is installed in the intake air duct between the engine air filter and the throttle body; it measures the amount (mass) of air entering the engine through the throttle. The engine computer (ECM) uses the signal from the MAF sensor for operating the fuel injection system. If the signal from the MAF sensor is out of expected range, the ECM detects a fault and sets the OBDII code P0101. A few things need to be checked. Read more »
P0102 - Mass Air Flow Sensor Circuit Low
The code P0102 is set when the signal from the mass air flow sensor is lower than expected. The mass air flow or MAF sensor measures the amount of air entering the engine. The engine computer (ECM) uses the mass air flow signal to calculate the amount of fuel injected. Often a car may also have some driveability issues, for example, lack of power, surging, hesitation on acceleration, hard starting, etc. Read more »
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 achieved in a certain time. Most often this code indicates a bad or stuck open thermostat. Read more about the thermostat. A bad coolant temperature sensor (ECT), low coolant level or some other problem of the coolant system can also cause the trouble code P0128 to be set. Sometimes, a car manufacturer may recommend an engine computer to be reprogrammed to address this problem.
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 aftermaket 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)
Front Oxygen Sensor
The code P0134 - Oxygen (A/F) Sensor No Activity Detected (Bank 1 Sensor 1) 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. The term "Bank 1" means the side (bank) of the engine that contains the cylinder number 1; if it's an in-line 4-cylinder engine, it has only one bank: bank 1.
If there are other trouble codes stored along with the P0134, they might need to be looked at first. If you have codes for both banks (P0134 and P0154) stored at the same time, the problem is more likely not with the oxygen sensors, as both sensors would rarely fail at the same time. The code P0154 - Oxygen (A/F) Sensor No Activity Detected (Bank 2 Sensor 1) has the same meaning, only for the front O2 or air/fuel ratio sensor of the bank 2.
What can cause the code P0134:
- a faulty front oxygen sensor or air/fuel ratio sensor
- open or short at the O2 sensor signal circuit wiring or connector
- open or short at the oxygen sensor heater circuit
- vacuum leaks
- a faulty engine computer (ECM)
- lean air/fuel mixture
A service bulletin for 2006-2008 Honda Civic Si describes a problem where the grease would drip onto the air/fuel (A/F) ratio sensor connector causing the code P0134 or some other codes. Honda recommends replacing the A/F sensor and installing a sub-harness kit as a solution.
In some Hyundai V6 engines, a faulty oxygen sensor could cause the code P0134 along with misfiring codes (P030x) and rich condition; replacing the oxygen sensor should solve the problem.
A TSB for 2000-2001 Nissan Maxima mentions possible intermittent connection at the ECM causing the code P0134 or others.
A bad front air/fuel ratio sensor causing the code P0134 is a common occurrence in some Honda vehicles. A new air/fuel ratio sensor usually fixes the problem.
In some Volkswagen cars, a bad mass air flow sensor could cause a lean condition that could in turn cause the code P0134 along with some other fault codes.
How the front O2 sensor or air/fuel ratio sensor works:
The front or upstream oxygen sensor is located in the exhaust manifold or in the exhaust down pipe before the catalytic converter. The front oxygen sensor monitors the amount of oxygen in the exhaust gases and provides the feedback signal to the engine computer (ECM) whether the air/fuel mixture entering the engine is lean (too little fuel and too much air) or rich (too much fuel and too little air). Read more about an oxygen sensor here: oxygen sensor.
Some newer cars have an air/fuel ratio sensor (the right photo) installed instead of the oxygen sensor. An air/fuel ratio sensor works differently, but serves the same purpose. The code P0134 refers to whichever sensor is installed.
When replacing the front oxygen or air/fuel ratio sensor, it's always recommended to use an OEM part. The other thing to be aware of, If the vehicle is California certified, it might need a special oxygen sensor that is a different from the regular sensor. Your dealer can verify the correct part number by your vehicle's VIN number.
Replacing the front oxygen or air/fuel ratio sensor may cost from $50 to $200 in labor and $70-$300 for the part.
How to check the front oxygen sensor or air/fuel ratio with a scan tool:
Connect the scan tool and check the front O2 sensor or air/fuel sensor readings with the fully warmed up engine idling. The front O2 sensor voltage should cycle between about 0.2 and 0.9 Volts. If the air/fuel ratio sensor is installed, the signal voltage should stay within specified voltage for the type of air/fuel ratio sensor installed. Also check the short fuel trim and long fuel trim for too lean or too rich condition.
A: I think this Honda has the air/fuel ratio sensor, not the oxygen sensor. The code p0134 doesn't necessarily mean that it's a bad air/fuel ratio sensor; there could be some other issues; poor connection at the plug, or corrosion in the wiring, for example. However, if you replace the air/fuel ratio sensor, at least you know that the sensor is good in case the code comes back. These sensors deteriorate anyway; it won't hurt to have a new one installed. The air/fuel sensor failures are not uncommon in Honda vehicles of this generation. The only thing to be aware of, it's best to use the OEM part from Honda.
P0135 - O2 Sensor Heater Circuit (Bank 1 Sensor 1)
An oxygen sensor or O2 sensor measures the amount of oxygen in the vehicle exhaust. Read more about an oxygen sensor and what does it mean "Bank 1 Sensor 1" here: Oxygen sensor - illustrated glossary.
Modern cars have a heating element installed inside of the oxygen sensors. A heating element helps the oxygen sensor to reach the operating temperature faster. A heating element is controlled by the engine computer. If the computer detects an open, short, or an excessive current draw in the heating element circuit of the front oxygen sensor of the bank 1 (Bank 1 Sensor 1), it sets the code P0135.
The problem could be with the sensor itself, or with the sensor wiring or connectors. A low battery voltage or a problem with engine computer can also cause this code.
P0141 - O2 Sensor Heater Circuit (Bank 1 Sensor 2),
P0155 - O2 Sensor Heater Circuit (Bank 2 Sensor 1) and
P0161 - O2 Sensor Heater Circuit (Bank 2 Sensor 2) work the same way, just for different oxygen sensors.
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 low fuel pressure, plugged fuel filter, worn fuel pump, vacuum leaks, exhaust leaks, etc. For example, a Toyota Technical Service Bulletin (TSB) for 2003-2008 Toyota Corolla and 2003-2008 Toyota Matrix lists a leaking intake manifold gasket as a possible reason for the code P0171 along with some other codes.
From my experience, problems with a mass air flow (MAF) sensor are fairly common; sometimes the mass air flow sensor just gets dirty and gives false air flow readings causing lean condition and the code P0171. Read more about Mass Air Flow (MAF) sensor.
The code P0174 - System Too Lean (Bank 2) means the same, only for the Bank 2. Often the codes P0171 and P0174 are set together. For example, a Ford TSB for a number of late 90-s Ford vehicles describes a problem with MAF sensor contamination where both codes, P0171 and P0174 would appear together.
The code P0171 is very common, so we dedicated a separate page for this code. Read the full article: P0171 - System Too Lean
P0173 - Fuel Trim Malfunction (Bank 2)
See the code P0170.
P0174 - System Too Lean (Bank 2)