Engine, fuel and ignition codes
P00xx to P03xx and P05xx: metering, injection, misfire and idle control. ← Browse sections
-
P0530 to P0533: A/C refrigerant pressure sensor circuit
Air conditioning that refuses to engage on a hot day is usually not a broken compressor. It is a pressure reading the system does not trust.
-
P0545 and P0546: exhaust gas temperature sensor circuit
These sensors protect the turbocharger and control DPF regeneration. When one fails, the ECU stops trusting the whole exhaust after-treatment system.
-
P0560 to P0563: system voltage malfunction, unstable and high
Every module on the car runs on the same supply. When that supply misbehaves, you get a scattering of unrelated codes and one actual fault.
-
P0571: brake switch A circuit and the cruise control that quit
A cheap switch behind the brake pedal disables cruise control, blocks the gear selector and confuses the stop lamps. All three complaints, one part.
-
P2101 and P2110: throttle actuator control motor range and forced limited RPM
P2110 is not a fault in itself — it is the ECU announcing it has capped your engine speed. The fault that caused it is somewhere else in the list.
-
P2119: throttle actuator control throttle body range/performance
The throttle plate did not return to where the ECU expects it to rest. Nine times out of ten that is carbon, and the fix has a mandatory second step.
-
P2122 and P2123: accelerator pedal position sensor D circuit
The fault is at the pedal, not at the engine. That single distinction saves people from cleaning a throttle body that was never the problem.
-
P2135 and P2138: throttle and pedal sensor correlation faults
Two codes that tell you exactly which end of the drive-by-wire system to look at. Reading them correctly is the difference between a pedal and a throttle body.
-
P2146 to P2149: injector group supply voltage circuit
Injectors are fed in groups. A supply fault takes out several cylinders at once, which looks like a catastrophic engine problem and usually is not.
-
P2176: throttle actuator idle position not learned after cleaning
The code that appears after a job that should have gone well. Cleaning the throttle body moved the physical zero and nobody told the ECU.
-
P2178 and P2180: system too rich off idle
A rich condition that appears once you are off idle points somewhere different from one that is present all the time. The load dependency is the diagnosis.
-
P2191 and P2192: system too lean and too rich at higher load
Mixture errors that only appear under load are the ones that hide from an idle test. On a turbocharged engine they usually point at boost, not fuel.
-
P2195 and P2197: oxygen sensor signal biased or stuck lean
The sensor is not out of range and not dead. It is simply not moving the way a working sensor moves, and the ECU has noticed the difference.
-
P3400: cylinder deactivation system and the lifters that fail
Shutting off half the cylinders saves fuel and adds a mechanism that fails in a specific, expensive way. Oil condition is what decides which you get.
-
P0010 and P0013: camshaft actuator circuit — the solenoid, not the phaser
These two codes name a circuit, and the circuit is usually fine. What actually fails is the oil control solenoid, and what causes that is the oil.
-
P0017 to P0019: crank-cam correlation on bank 2 and what it costs to ignore
These codes say the camshaft is not where the crankshaft expects it. On an interference engine that gap has a hard limit, and the warning window is short.
-
P0030 to P0037: oxygen sensor heater circuit faults explained
A heater code is not a mixture code. It means the sensor cannot get to working temperature fast enough, and the consequences show up during warm-up.
-
P0053 and P0054: heater resistance out of range — an ageing sensor, measured
These codes are unusual: the circuit works, but the number is wrong. That makes them one of the few codes that predict a failure instead of reporting one.
-
P0071 to P0073: ambient air temperature sensor and the systems that trust it
A cheap sensor in the front bumper feeds the climate control, the ice warning and sometimes the engine. When it lies, several unrelated things misbehave at once.
-
P0087: fuel rail pressure too low — pump, filter or regulator?
P0087 means actual rail pressure fell short of the commanded value. Comparing desired against actual pressure under load tells you whether to blame the filter, the pump or a leaking regulator.
-
P0088: fuel rail pressure too high and what it does to injectors
P0088 is rarer than its low-pressure twin and more urgent. Excess rail pressure stresses injectors and pipework, and the cause is nearly always a control valve that stopped controlling.
-
P0090 and P0091: fuel pressure regulator control circuit
On a common rail diesel the ECU controls rail pressure with a solenoid. These codes mean it cannot, and the difference between a circuit fault and a hydraulic one matters.
-
P0093: fuel system large leak detected — stop driving and find it
This is one of the few codes that justifies stopping where you are. Diesel at rail pressure onto a hot turbo is a fire, not an inconvenience.
-
P0101: MAF sensor range/performance — why airflow does not match expectation
P0101 is not a dead sensor code. It means measured airflow disagrees with what the ECU calculated. Here is how to tell a dirty MAF from a vacuum leak, a clogged filter and a tired engine.
-
P0102 and P0103: MAF circuit low and high input
These two codes mean the MAF signal left its electrical window entirely. Unlike P0101 they point at wiring, connectors and power supply far more often than at the sensor itself.
-
P0106: MAP sensor range/performance and the vacuum leaks behind it
P0106 compares manifold pressure against what the ECU expects from throttle position and RPM. Most of the time the sensor is honest and the intake is leaking.
-
P0107 and P0108: MAP circuit low and high — hose, connector or sensor
These are electrical codes, and the electrical part is usually intact. What fails is the vacuum hose feeding the sensor, and that costs almost nothing to check.
-
P0111 and P0112: intake air temperature sensor faults
The IAT sensor corrects fuelling and ignition timing for air density. A wrong reading does not stop the car, it just makes everything slightly worse, all the time.
-
P0116 to P0119: coolant temperature sensor performance and intermittent faults
The coolant sensor drives fuelling, fans, the gauge and the heater. A drifting one causes four unrelated-looking complaints, and the thermostat gets blamed for all of them.
-
P0121 to P0123: throttle position sensor circuit faults
On a drive-by-wire engine the throttle sensor is a safety-critical input, which is why these codes send the car into limp mode rather than tolerating an error.
-
P0130 to P0134: upstream oxygen sensor circuit and no activity
P0134 is the one that matters here: no activity detected. It means the sensor never woke up, and that changes what you check first.
-
P0131 and P0132: oxygen sensor voltage stuck low or high
A narrowband oxygen sensor should swing constantly. These two codes fire when it stops swinging and parks at one end. The cause is often the mixture, not the sensor.
-
P0133: slow oxygen sensor response — the code that precedes P0420
P0133 measures how fast the upstream sensor reacts, not what it reads. Catching it early is what stops it turning into a catalyst code and a four-figure bill.
-
P0138 and P0140: downstream oxygen sensor high voltage and no activity
The rear sensor does not control fuelling — it grades the catalyst. That changes what these codes mean and why replacing the sensor sometimes fixes nothing.
-
P0148: fuel delivery error on a diesel — commanded versus achieved
The ECU asked for a fuel quantity and did not get it. That is a whole-system verdict, not a component fault, which is why the code names nothing specific.
-
P0170 and P0173: fuel trim malfunction, and why it is not the same as lean
P0171 says the mixture is lean. P0170 says the correction system itself has run out of authority. The difference decides where you look.
-
P0176 to P0178: flex fuel composition sensor faults
On a flex fuel vehicle the ECU measures ethanol content in real time. When that sensor fails, the engine falls back to a safe assumption and you feel it.
-
P0191 to P0193: fuel rail pressure sensor circuit and performance
Before you conclude the fuel system cannot hold pressure, confirm that the thing measuring pressure is telling the truth. These codes are about the instrument.
-
P0217: engine over-temperature condition — the code after the damage starts
Most codes warn you. This one records that the engine already exceeded its safe temperature, which makes it a damage-assessment code as much as a diagnostic one.
-
P0230 to P0232: fuel pump primary circuit faults
These codes are about the circuit that switches the pump, not the pump itself. The distinction is worth several hundred in parts.
-
P0251: injection pump fuel metering control on a diesel
The metering valve decides how much fuel the high pressure pump takes in. When it stops obeying, the whole rail pressure loop loses its main lever.
-
P0263 to P0266: cylinder contribution and balance faults
These codes name a cylinder that is not pulling its weight. Unlike a misfire code, they can appear while the engine still feels smooth.
-
P0301-P0304: misfire on a specific cylinder and how to localise it
A cylinder-specific misfire code hands you the location for free. The swap test then tells you whether the fault travels with the part or stays with the cylinder.
-
P0305 to P0308: misfire on cylinders 5 to 8 and V-engine numbering
The diagnosis is the same as any misfire. What is different is finding the cylinder, because on a V-engine the numbering is rarely what you would guess.
-
P0313 and P0314: misfire detected with low fuel level
This is a code with a built-in explanation. The engine misfired, and the ECU noted that the tank was nearly empty — so it declined to blame the ignition system.
-
P0316: misfire detected on startup — the cold-start-only fault
P0316 only counts misfires in the first seconds after cranking. That narrow window points at a specific short list of causes that a warm-engine test will never reproduce.
-
P0320 to P0322: ignition and engine speed input circuit
Without a reliable RPM signal the ECU cannot time a single injection or spark. These codes describe losing that signal, and the symptom is usually a car that stops.
-
P0327 and P0332: knock sensor circuit low on bank 1 and 2
The knock sensor is the engine hearing itself detonate. When it goes quiet, the ECU protects the engine by removing timing — and you lose power for a reason you cannot see.
-
P0336: crankshaft position sensor range/performance and the reluctor ring
P0335 means no signal. P0336 means a signal that is present but wrong, and that difference frequently points at the toothed wheel rather than the sensor.
-
P0341 and P0344: camshaft sensor range and intermittent signal
An intermittent camshaft signal is one of the harder faults to pin down, because the car works perfectly most of the time. Here is how to catch it.
-
P0351 to P0358: ignition coil primary and secondary circuit by cylinder
These codes name the cylinder, which is more than a misfire code does at first. But the code names a circuit, and the circuit includes more than the coil.
-
P0365 to P0369: camshaft position sensor B circuit
Sensor B is usually the exhaust camshaft. On a twin-cam engine with variable timing on both shafts, that sensor is doing real work — not sitting there as a spare.
-
P0506: idle speed lower than expected and the stall that follows
The ECU is holding the throttle where idle should be correct, and the engine is turning slower than that. Something is taking torque, or something is restricting air.
-
P0507: idle speed higher than expected — hunting the vacuum leak
P0507 means the engine idles faster than the ECU commanded and it has run out of authority to bring it down. Almost every case is unmetered air entering somewhere.
-
P0520 to P0523: oil pressure sensor circuit — sensor or actual pressure?
This is the one category where guessing wrong destroys the engine. Treat every oil pressure warning as real until you have proved it is the sensor.
-
P2187 and P2189: system too lean at idle only
A lean condition that exists at idle and vanishes under load points almost exclusively at unmetered air. The load-dependence is the diagnosis, and it costs nothing to observe.
-
P0113 and P0118: temperature sensors — cheap parts that cost you fuel
A sensor costing a few dollars can raise consumption by a third, ruin starting, and break the cooling fan. The two most important temperature sensors, and why their failures are so easy to miss.
-
P0135 and P0141: oxygen sensor heater — the code often cured by a fuse
An oxygen sensor does not work until it reaches 570 °F, so it carries its own heater — and the heater is what fails first. Why this does not always mean replacing the sensor.
-
P0171 and P0174: lean mixture — seven causes, and why the sensor is not one of them
The most common code after misfires. It means the module is adding fuel and still cannot keep up. Seven causes in order of probability, and how to narrow the search using fuel trims alone.
-
P0172 and P0175: rich mixture — why it smells of fuel and where the fuel goes
The mirror image of P0171: too much fuel, and the module cannot remove enough of it. The causes, why the catalyst suffers, and how a rich mixture kills an engine through its oil.
-
P0201–P0206: injector circuit — when the wire is at fault, not the injector
These codes name a specific cylinder, which is why they get read as "the injector died". In fact the module is complaining about an electrical circuit, and the injector is only one of three elements in it.
-
P0335: the crankshaft position sensor — the one the engine cannot start without
The car cranks and never catches. No spark, no fuel, and possibly no codes stored. The sensor without whose signal the control module will not even begin to try.
-
P0340: camshaft position sensor — why the car only starts on the second try
The engine will not start first time, occasionally stalls and restarts immediately. That is the camshaft sensor signature: it does not stop the engine permanently, it makes it unpredictable.
-
P0500: the vehicle speed sensor — when the speedometer lies, half the car stops working
The speedometer sits at zero, and with it the cruise control, the power steering assist, and the transmission all misbehave. Why one speed signal is needed by almost every module at once.
-
P0505: hunting idle — and why cleaning the throttle body does not always fix it
Idle swings between 500 and 1200 RPM and the car stalls at lights. The universal advice is to clean the throttle body. When that works, and when it merely postpones the real cause.
-
P0128: why the engine won't warm up — thermostat, sensor or something sneakier
Deep dive into P0128: when it appears, why thermostats fail stuck open, how to diagnose without teardown, and why a "cold" engine burns 10-15% more fuel.
-
P0300: random / multiple misfire — 12 causes and a step-by-step diagnostic algorithm
Deep dive into P0300: why misfires are "random", how to narrow 12 possible causes to one in 30 minutes, what the AI agent reads from Freeze Frame and Live Monitor.