Rough idle and no fault code: where to start
What you notice
At a red light, the engine vibrates, the rev counter swings by ±100 rpm, and sometimes it stalls. While driving, everything is fine. You plugged in a code reader: zero codes, warning light off.
Why there is no code
The OBD system monitors thresholds. As long as a value stays within the range the control unit considers “acceptable”, no code is created, even if the engine runs badly. This is exactly where the app is most useful: looking at the live data, and describing the symptom to the AI chat, which suggests leads even without a code.
Possible causes, ranked
Air side
- Dirty throttle body: the small flow of air at idle is disturbed. Very common after 100,000 km.
- Small air leak (too small to set a P0171): breather hose, injector seal, intake manifold gasket.
- Very dirty air filter.
Ignition / fuel side
- Spark plugs at the end of their life, gap too wide.
- Slightly clogged injector (uneven flow between cylinders).
- Poor-quality or stale fuel (car rarely driven).
Mechanical side
- Worn engine mounts: the engine is not running badly, the vibration is simply reaching the cabin.
- EGR valve staying slightly open at idle (see P0401).
- Uneven compression between cylinders.
Accessories side
- Alternator or A/C compressor loading the engine in jerks.
How to investigate with DiagAuto AI
- Also read the pending codes and permanent codes, and compare them with the history of your diagnoses.
- In the “Sensors” screen of DiagAuto AI, with the engine warm and idling, display:
- Engine speed: regular swings of more than ±50 rpm = the control unit is struggling to hold the idle.
- STFT/LTFT fuel trims: if they are beyond ±8 % at idle but return to normal at 2,500 rpm, an air leak is likely (explanations).
- Throttle position and air flow: values that jump around with the engine speed give away a dirty throttle body.
- Ignition timing advance: if it moves a lot at idle, the control unit is compensating for irregular combustion.
- Switch on the A/C: if the idle collapses, the control unit is struggling to compensate (throttle body, idle control valve).
- Describe it all to the AI chat: “idle swinging between 650 and 800 rpm, LTFT +9 % at idle, +2 % at 2,500 rpm, Clio 1.2 16v 2012”. It will suggest an order of checks. You can also start the “AI diagnosis with monitoring”: the app reads the confirmed and pending codes, then follows the sensors for a few minutes before suggesting leads.
What you can do yourself
Clean the throttle body (dedicated cleaner, cloth, 20 minutes), replace the air filter, change the spark plugs if they have more than 60,000 km, inspect the hoses. After cleaning the throttle body, some cars need an idle relearn (ignition on for a few minutes, or the manufacturer's procedure).
When to go to the garage
If the fuel trims are fine, the ignition parts are new and it still shakes: engine mounts or compression, which requires a physical inspection.
Frequently asked questions
Why does the scanner find nothing when the engine is shaking?
The control unit only creates a code when a value goes outside the limits it monitors. A slightly worn spark plug, a dirty throttle body or a tired engine mount push no value outside those limits.
Do “pending” codes count?
Yes, check them: they are faults detected once but not yet confirmed. They do not turn on the warning light, but they point the diagnosis in the right direction.