P0128 - OBD-II Trouble Code
OBD II Fault Code
- OBD II P0128
Fault Code Definition
- Engine temperature has not increased and/or reached the correct level within a specified amount of time after engine startup
- Check Engine Light on
- Vehicle may not shift into the highest gear at freeway speed
- Decrease in fuel economy
- In unusual cases, there are no adverse conditions noticed by the driver
Common Problems That Trigger the P0128 Code
- Defective Engine Thermostat
- Defective Engine Coolant Temperature Sensor
- Defective Intake Air Temperature Sensor
- Defective Cooling System
- Low Engine Coolant
- Dirty Engine Coolant, causing incorrect Coolant Temperature Sensor readings
- Defective, always running Engine Cooling fan(s)
- Engine Cooling Fan
- Internal Engine problem
- Oxygen Sensor problem
- Engine Coolant Temperature Sensor problem
Polluting Gases Expelled
- HCs (Hydrocarbons): Unburned droplets of raw fuel that smell, affect breathing, and contribute to smog
- CO (Carbon Monoxide): Partially burned fuel that is an odorless and deadly poisonous gas
Want to Learn More?
The purpose of code P0128 is to track the amount of time the engine requires to reach and maintain the correct operating temperature. This enables the fuel system to operate in a "closed loop" condition, where the Fuel Control or Air Fuel Ratio is being actively influenced by the two or more Oxygen Sensors located in the Exhaust System.
Generally, most Powertrain Management Systems require that the Engine Coolant Temperature Sensor rise above a reading of 160–170º F within fifteen minutes after engine startup. Additionally, the engine temperature must not drop below the 160–170º F threshold during vehicle operation. If the engine temperature, as measured by the Coolant Temperature Sensor, fail either of these operational criteria, the Powertrain Control Module (PCM) will record this event. If either of these fault conditions are repeated during the next engine startup, code P0128 will set and the Check Engine Light or MIL will illuminate.
P0128 Diagnostic Theory for Shops and Technicians
When the code P0128 is set in the Powertrain Computer, the engine is either taking too much time to warm up to the proper operating temperature—more than fifteen minutes, as measured by the Coolant Temperature Sensor—or the operating temperature is going below the 160–170º F range during vehicle operation. This causes the Fuel System to go back into a warmup mode, which is a much richer mixture. This raises the level of CO and HCs being released out of the tailpipe. It also increases fuel consumption.
Here's how to diagnose the P0128 code:
- It is critically important to record the freeze frame data to determine which operational mode set the code. Pay close attention to the MPH, TPS, LOAD, RPM, and of course, the Engine Coolant Temperature and Intake Air Temperature. These values will help determine if the vehicle was being driven at freeway or slower, in town driving speeds. This distinction will help you verify the code setting conditions.
- Connect the scanner and select the most factory-like data stream for the engine sensors. Start the vehicle and watch the Coolant Temperature values change with the heater off.
- If the Coolant Temperature readings will not go above the 160–170º F mark within fifteen minutes, try putting your foot on the brake, shifting into Drive, and pressing on the throttle for two to three minutes to see if the Coolant Temp readings rise at all. If the readings do go into the proper range, then the Thermostat is the most likely cause.
- If the vehicle does not reach the 160–170º F range, then turn on the heater and raise the RPM to about 2000 while in Park. If the Coolant Temp readings fall out of the required range, then the Thermostat is the culprit.
When doing the P0128 diagnosis, be sure to verify that either the electric or mechanical cooling fan is not stuck in the "On" position because this will cause the engine to run at a very reduced operating temperature. Also, be sure to verify that the Intake Air Temperature Sensor readings are within reason, meaning that they are not too hot or too cold in relation to the outside air temperature and under-hood air temperature. A good rule of thumb is that the Intake Air Temperature reading is usually about 100º F below the Coolant Temperature readings after warmup. When cold starting the vehicle, the readings should begin at nearly identical values.