Was this article helpful?
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.
P0505 “Idle Air Control System”, with its neighbours P0506 (idle below target) and P0507 (above), all say the same thing: the module cannot hold idle where it wants it.
How it works
At idle the engine must receive exactly enough air for a stable 700–800 RPM — and slightly more when the air conditioning engages, the alternator loads up, or the power steering is working.
That is managed either by a dedicated idle control valve (older cars) or by the electronically actuated throttle body itself (modern ones). The module commands a position and checks the resulting RPM.
The code appears when commanded and actual diverge: the module asks for 750 and gets 1200 or 500.
Causes by probability
1. Carbon on the throttle plate
The most common, especially on direct-injection engines with active exhaust gas recirculation. A carbon layer narrows the gap that feeds idle air. The module opens the plate further, hits its adaptation limit, and logs a code.
Here cleaning genuinely works. With one important condition below.
2. No adaptation performed after cleaning
The main reason behind “I cleaned it and nothing changed” or “I cleaned it and it got worse”.
The module remembers how far it had to open the plate with the old carbon layer. Cleaning changed the geometry; the memory did not. The result: 1500 RPM instead of 800, or the reverse.
Any cleaning must be followed by adaptation — resetting the learned position. On some cars that happens automatically over a few cycles; on others it needs a command.
3. A vacuum leak
Produces an identical code, and cleaning will not help at all. Air bypasses the plate, the module tries to close it to its limit and cannot keep up.
How to tell: look at fuel trims. A leak also produces P0171 or high long-term trim at idle — covered in the lean mixture guide. Pure carbon barely affects trims.
4. The idle control valve
On older designs — a sticking pintle, a worn motor.
5. The throttle position sensor
Misreporting actual position, leaving the module to control blind.
6. A load the module does not know about
A seizing air conditioning compressor, a dying power steering pump, an alternator with a shorted winding. The engine is loaded and the module has no idea.
Quick diagnosis
Display commanded and actual throttle position plus long-term fuel trim at warm idle:
| Picture | Conclusion |
|---|---|
| Plate open wider than normal, trims normal | Carbon |
| Plate closed to minimum, trim +15 % or higher | Vacuum leak |
| Commanded and actual disagree | Actuator or throttle sensor |
| RPM jumps when air conditioning engages | Load or adaptation |
What to do, in order
- Check fuel trims — rule out a vacuum leak.
- Inspect hoses and vacuum lines.
- Clean the throttle body.
- Perform adaptation, or drive a cycle if it is automatic.
- Clear the code, drive a cycle, re-check.
- Still there — look at the position sensor and actuator.
Step 4 is the one people skip, and it causes most of the disappointment.
What it risks
The engine, nothing. The risk is practical: stalling at a junction or in traffic. Plus higher urban consumption and unpleasant vibration at lights.
But if the cause is a vacuum leak, a lean mixture follows with all its consequences, misfires and catalyst damage included.
In short
- The code means commanded and actual idle diverged.
- The most common cause is carbon, and cleaning genuinely works.
- Adaptation after cleaning is mandatory, or it gets worse.
- High fuel trims alongside the code mean a leak, not carbon.
- Harmless to the engine, but it can stall the car in traffic.
Download the app — throttle position, RPM, and fuel trims are read with an ELM327 adapter over Bluetooth SPP on Android.
Comments …
Loading…