Vacuum leak
Air enters below the MAF through a cracked hose, a leaking intake gasket, a PCV hose or an open oil filler. The trims add fuel at idle and fall back towards zero as airflow rises, and the MAF reads short of what the engine is actually drawing at idle.
Fingerprint
Trims positive at idle, near zero at cruise Must be present
Rule: Idle total trim at least +8 percent and at least 6 points above cruise.
A leak lets in a fixed mass of air. At idle that is a big share of what the engine breathes, so the trims climb; at cruise it is a small share, so they fall back towards zero.
MAF short of the estimate at idle, fine at WOT Must be present
Rule: Airflow check at or below 94 percent at idle and at least 94 percent at WOT.
The leaked air never passes the MAF, so the MAF reads short of what the engine actually draws at idle, and agrees again at WOT where the leak barely flows.
Why the numbers move
A leak is an orifice between the atmosphere and the manifold. With manifold pressure below about half an atmosphere the flow through it is choked, so it passes the same mass of air at idle, at 2,500 rpm and at a light cruise. That fixed mass is a big share of idle air and a small share of cruise air, which is why the correction shrinks with load. At WOT the manifold is close to atmospheric pressure and the leak hardly flows at all.
Because the leaked air never passes the MAF, the MAF reading falls short of the speed density estimate by the leak's share of the airflow. That is the second half of the fingerprint and the one that separates a vacuum leak from an exhaust leak, which moves the trims the same way but leaves the MAF honest.
The reference numbers
Computed by the model at build time: the fault at its clean reference size on a 2.0 l inline four, narrowband upstream sensor, with no noise.
| Reading | Idle | 2,500 rpm, no load | Cruise | WOT snapshot |
|---|---|---|---|---|
| Total trim bank 1 (%) | +14.9 | +5.4 | +2.8 | open loop |
| Airflow check (%) | 87 | 94 | 96 | 100 |
| MAF (g/s) | 2.63 | 7.22 | 13.69 | 83.76 |
| MAP (kPa) | 30.0 | 22.0 | 42.0 | 97.0 |
| Upstream B1S1 | switching, avg 0.45 V | switching, avg 0.45 V | switching, avg 0.45 V | 0.90 V steady |
| Downstream B1S2 (V) | 0.66 | 0.66 | 0.66 | 0.90 |
| ECT (C) | 90 | 90 | 90 | 90 |
| Misfire per 1,000 revs | 0 | 0 | 0 | 0 |
Easy to confuse with
- Restricted fuel filter or weak pump. Trims positive at idle and near zero at cruise point to unmetered air, not fuel delivery. A weak supply does the opposite: fine at idle, positive as airflow rises, lean at WOT.
- Exhaust leak upstream of the upstream sensor. Both raise the trims at idle. The airflow check splits them: unmetered air leaves the MAF short of the estimate at idle; an exhaust leak adds no intake air, so the MAF agrees.
- MAF under reporting. Both leave the MAF short. A leak is a fixed mass, biggest at idle; a low reading MAF errs more as flow rises, so its trims grow with airflow and WOT airflow falls well short.
- EVAP purge valve stuck open. Both leave the MAF short at idle, because both let air in below it. The trims split them: a leak brings air only and the trims add fuel; a loaded canister brings vapour too and the trims take fuel away.
On a real car
- A smoke test of the intake with the engine off.
- Watch short term trim while briefly enriching suspect areas, following the service information's safety guidance.
- Inspect the PCV hoses and the oil filler cap: a leak in the crankcase path is a vacuum leak with a different address.
TrimCase is a training aid built on a simulated engine model. It is not a diagnostic instruction for any real vehicle. Follow the service information for the vehicle in front of you.
Where the model is simpler than an engine
The model puts the leak on the common plenum, so both banks see it equally. A leak at one bank's intake runners would show on that bank more than the other.
The full model is on how the model works.
An example case
Case C-UA-0, clean tier. Open it in projection mode.
Case C-UA-0
- Engine
- 2.0 L inline four, narrowband upstream sensor
- Customer says
- Rough or uneven idle when warm
- Check engine light
- Off
- Tier
- Single fault, clean
Warm engine, sea level, 100 kPa barometric pressure. Simulated data for training, not from a real vehicle.
Freeze frame
No code stored. Snapshot saved by the technician at warm idle.
- Codes
- None stored
- Captured at
- Idle
- Engine speed
- 741 rpm
- Vehicle speed
- 0 mph
- Calculated load
- 17.4 %
- MAP
- 29.6 kPa
- MAF
- 2.51 g/s
- ECT
- 89 C / 192 F
- IAT
- 37 C / 99 F
- Fuel system
- Closed loop
- STFT / LTFT bank 1
- +1.7 % / +14.5 %
Live data by load cell
| PID | Idle | 2,500 rpm, no load | Cruise | WOT snapshot |
|---|---|---|---|---|
| Engine speed (rpm) | 741 | 2501 | 2092 | 5000 |
| Vehicle speed (mph) | 0 | 0 | 60 | 45 |
| MAP (kPa) | 29.6 | 21.7 | 42.1 | 97.0 |
| MAF (g/s) | 2.51 | 7.05 | 13.63 | 83.59 |
| Airflow check, MAF as % of speed density estimate (%) worked out | 85 | 93 | 96 | 100 |
| Calculated load (%) | 17.4 | 14.5 | 33.5 | 85.8 |
| IAT | 37 C / 99 F | 35 C / 95 F | 29 C / 84 F | 29 C / 84 F |
| ECT | 89 C / 192 F | 90 C / 194 F | 91 C / 196 F | 90 C / 194 F |
| Fuel system | Closed loop | Closed loop | Closed loop | Open loop |
| STFT bank 1 (%) | +1.7 | -0.2 | +0.1 | 0.0 |
| LTFT bank 1 (%) | +14.5 | +5.1 | +2.6 | +2.6 |
| Total trim bank 1 (%) worked out | +16.2 | +4.9 | +2.7 | +2.6 |
| O2 sensor B1S1 | switching, avg 0.44 V | switching, avg 0.44 V | switching, avg 0.44 V | 0.89 V steady |
| O2 sensor B1S2 (V) | 0.66 | 0.65 | 0.67 | 0.90 |
| Injector pulse bank 1 (ms) | 4.45 | 3.49 | 7.09 | 20.13 |
| EVAP purge command (%) | 0 | 20 | 35 | 0 |
| Misfire count per 1,000 revs | 0 | 0 | 0 | 0 |
Rows marked worked out are arithmetic on the rows above them, done for you: total trim is STFT plus LTFT, and the airflow check divides the MAF by the speed density estimate on the model page.