Thermostat stuck open
The thermostat is stuck open, so the coolant never reaches regulating temperature and it drops further at road speed when the radiator gets more air. The trims are only slightly negative from a little warm up enrichment.
Fingerprint
ECT below regulating temperature, and falls at cruise Must be present
Rule: ECT below 82 C at idle and at least 5 C lower at cruise than at idle.
Coolant never reaches regulating temperature, and it drops further at road speed when the radiator gets more air.
ECT frozen at one low value Must be absent
Rule: ECT the same (within 1 C) in all four cells and no higher than 55 C.
It belongs to a neighbouring fault.
Why the numbers move
With the thermostat open the radiator is always in circuit. At idle the engine still gets fairly warm; at cruise, with air forced through the radiator, the coolant falls further. The module sees a real, cool engine and adds a little enrichment, which closed loop takes back out, so the trims are small and negative.
Compare it with a stuck sensor: the thermostat's reading moves between cells, lowest at cruise, while a stuck sensor shows one frozen number.
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 (%) | -1.3 | -1.5 | -3.4 | 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.90 V steady |
| Downstream B1S2 (V) | 0.66 | 0.66 | 0.66 | 0.90 |
| ECT (C) | 74 | 73 | 64 | 66 |
| Misfire per 1,000 revs | 0 | 0 | 0 | 0 |
Easy to confuse with
- ECT sensor stuck cold. Both read cold. A thermostat stuck open lets the coolant move, lower at cruise than at idle; a stuck sensor shows one frozen number in every cell.
- No fault (healthy control). The trims and the airflow are healthy, but the coolant never reaches regulating temperature and it falls at cruise.
On a real car
- Watch coolant temperature on a road test and compare with the thermostat's rating.
- Check upper hose temperature during warm up.
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 uses fixed temperature deficits per cell. Ambient temperature changes them a great deal on a real car.
The full model is on how the model works.
An example case
Case C-CT-A, clean tier. Open it in projection mode.
Case C-CT-A
- Engine
- 2.0 L inline four, narrowband upstream sensor
- Customer says
- Heater slow to warm up
- Check engine light
- On
- Tier
- Single fault, clean
Warm engine, sea level, 100 kPa barometric pressure. Simulated data for training, not from a real vehicle.
Freeze frame
Captured when P0128 set.
- Codes
- P0128
- Captured at
- Cruise
- Engine speed
- 2109 rpm
- Vehicle speed
- 60 mph
- Calculated load
- 34.2 %
- MAP
- 42.0 kPa
- MAF
- 14.04 g/s
- ECT
- 66 C / 151 F
- IAT
- 30 C / 86 F
- Fuel system
- Closed loop
- STFT / LTFT bank 1
- -0.2 % / -2.5 %
Live data by load cell
| PID | Idle | 2,500 rpm, no load | Cruise | WOT snapshot |
|---|---|---|---|---|
| Engine speed (rpm) | 736 | 2504 | 2109 | 4991 |
| Vehicle speed (mph) | 0 | 0 | 60 | 45 |
| MAP (kPa) | 29.9 | 21.8 | 42.0 | 96.7 |
| MAF (g/s) | 2.95 | 7.56 | 14.04 | 83.11 |
| Airflow check, MAF as % of speed density estimate (%) worked out | 100 | 99 | 99 | 100 |
| Calculated load (%) | 20.6 | 15.5 | 34.2 | 85.5 |
| IAT | 39 C / 102 F | 35 C / 95 F | 30 C / 86 F | 29 C / 84 F |
| ECT | 74 C / 165 F | 75 C / 167 F | 66 C / 151 F | 67 C / 153 F |
| Fuel system | Closed loop | Closed loop | Closed loop | Open loop |
| STFT bank 1 (%) | -0.3 | +0.4 | -0.2 | 0.0 |
| LTFT bank 1 (%) | -0.9 | -1.1 | -2.5 | -2.5 |
| Total trim bank 1 (%) worked out | -1.2 | -0.7 | -2.7 | -2.5 |
| O2 sensor B1S1 | switching, avg 0.45 V | switching, avg 0.45 V | switching, avg 0.44 V | 0.90 V steady |
| O2 sensor B1S2 (V) | 0.66 | 0.66 | 0.64 | 0.89 |
| Injector pulse bank 1 (ms) | 4.48 | 3.50 | 7.06 | 19.68 |
| 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.