Restricted fuel filter or weak pump
A restricted filter or a weak pump cannot hold rail pressure as demand rises. Trims are close to normal at idle, grow positive as airflow rises, and the upstream sensor goes lean at WOT, while the MAF agrees with the estimate.
Fingerprint
Trims grow more positive as airflow rises Must be present
Rule: Cruise total trim at least +4 percent and at least 3 points above idle.
Rail pressure sags as fuel demand rises, so each pulse delivers less than commanded and the module adds more as airflow climbs.
Upstream sensor reads lean at WOT Must be present
Rule: At WOT the upstream sensor reads below 0.45 V (narrowband) or above lambda 1.00 (wideband).
At WOT demand is highest and the module is in open loop, so nothing corrects the shortfall and the upstream sensor goes lean.
MAF agrees with the speed density estimate everywhere Must be present
Rule: Airflow check between 95 and 105 percent in all four cells.
The MAF agrees with the estimate, so the air side is honest and the shortfall is on the fuel side.
Why the numbers move
An injector passes fuel in proportion to the square root of the pressure across it. When the supply cannot keep up, rail pressure sags as demand grows, each pulse delivers less than commanded, and closed loop adds fuel. At idle demand is tiny and the pressure holds; by cruise it has started to sag.
At WOT the module is in open loop, commanding a rich mixture and carrying only the long term trim it learned at cruise. Demand is at its highest, the pressure falls furthest, and nothing corrects it, so the upstream sensor reads lean at the moment the engine most needs fuel. The MAF agrees with the estimate throughout, which rules out a metering fault.
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 (%) | +0.3 | +1.8 | +6.5 | open loop |
| Airflow check (%) | 100 | 99 | 99 | 100 |
| MAF (g/s) | 3.02 | 7.61 | 14.09 | 83.89 |
| 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.05 V steady |
| Downstream B1S2 (V) | 0.66 | 0.66 | 0.66 | 0.10 |
| ECT (C) | 90 | 90 | 90 | 90 |
| Misfire per 1,000 revs | 0 | 0 | 0 | 0 |
Easy to confuse with
- Vacuum leak. 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.
- MAF under reporting. Both push the trims up as airflow rises. Check the MAF against the estimate: short and getting shorter means the sensor; honest air with a lean WOT means the fuel side.
On a real car
- Measure fuel pressure and volume under load, not just at idle, following the service information.
- Check the filter and the pump supply circuit for voltage drop.
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 floors rail pressure at 40 percent of rated so the WOT snapshot stays a running engine.
The full model is on how the model works.
An example case
Case C-FS-17, clean tier. Open it in projection mode.
Case C-FS-17
- Engine
- 2.0 L inline four, narrowband upstream sensor
- Customer says
- Long crank after a hot soak
- 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
- 745 rpm
- Vehicle speed
- 0 mph
- Calculated load
- 20.9 %
- MAP
- 30.5 kPa
- MAF
- 3.03 g/s
- ECT
- 90 C / 194 F
- IAT
- 38 C / 100 F
- Fuel system
- Closed loop
- STFT / LTFT bank 1
- -1.0 % / +0.3 %
Live data by load cell
| PID | Idle | 2,500 rpm, no load | Cruise | WOT snapshot |
|---|---|---|---|---|
| Engine speed (rpm) | 745 | 2511 | 2104 | 5012 |
| Vehicle speed (mph) | 0 | 0 | 60 | 45 |
| MAP (kPa) | 30.5 | 22.1 | 41.7 | 97.2 |
| MAF (g/s) | 3.03 | 7.60 | 13.80 | 83.59 |
| Airflow check, MAF as % of speed density estimate (%) worked out | 99 | 98 | 98 | 99 |
| Calculated load (%) | 20.9 | 15.5 | 33.7 | 85.6 |
| IAT | 38 C / 100 F | 35 C / 95 F | 31 C / 88 F | 29 C / 84 F |
| ECT | 90 C / 194 F | 90 C / 194 F | 89 C / 192 F | 90 C / 194 F |
| Fuel system | Closed loop | Closed loop | Closed loop | Open loop |
| STFT bank 1 (%) | -1.0 | +0.1 | +0.3 | 0.0 |
| LTFT bank 1 (%) | +0.3 | +1.7 | +5.9 | +5.9 |
| Total trim bank 1 (%) worked out | -0.7 | +1.8 | +6.2 | +5.9 |
| O2 sensor B1S1 | switching, avg 0.45 V | switching, avg 0.45 V | switching, avg 0.45 V | 0.04 V steady |
| O2 sensor B1S2 (V) | 0.64 | 0.66 | 0.65 | 0.10 |
| Injector pulse bank 1 (ms) | 4.55 | 3.58 | 7.37 | 20.76 |
| 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.