P0128 (and P0116) on 2006 GMC Sierra v-8, 5.3L,
P0116 - Engine Coolant Temperature (ECT) Circuit Range/Performance Problem
The ECT (Engine coolant temperature) sensor is a thermistor which changes resistance based on temperature of the coolant in contact with it. The ECT sensor will be located in the block or coolant passage. Usually it is a two wire sensor. One wire is a 5 Volt supply from the PCM (Powertrain Control Module) to the ECT. The other is a ground to the ECT.
As the temperature of the coolant changes the resistance on the signal wire changes accordingly. The PCM monitors the reading and determines coolant temperature in order to perform essential engine fuel management. When engine coolant is low, sensor resistance is high. The PCM will see a high signal voltage (low temperature). When coolant is warm, the sensor's resistance is low and the PCM will see a high temperature. The PCM expects to see slow resistance changes on the ECT signal circuit. If it sees a quick change in voltage that isn't consistent with an engine warming up, this P0116 code will set. Or if it sees a lack of change in ECT signal, this code may set.
Symptoms: There may be no noticeable symptoms if the problem is very intermittent, however the following may occur:
MIL (Malfunction Indicator Lamp) illumination
Poor drivability
Black smoke at tailpipe
Poor fuel economy
May not idle
May exhibit stalling or misfires
Causes: Potential causes of the P0116 code include:
Missing or stuck-open thermostat
Bad ECT sensor
Short or open on signal wire
Short or open on ground wire
Poor connections in wiring
Possible Solutions: If there are any other ECT sensor codes, diagnose them first.
Using a scan tool, check the ECT reading. On a cold engine, it should match the IAT reading or should be equal to ambient (outside) temperature reading. If it does match the IAT or ambient temp, check the freeze frame data on your scan tool (if equipped). The saved data should tell you what the ECT reading was when the fault occurred.
a) If the saved info indicates that the engine coolant reading was at the coldest exreme (around -30 deg. F) then that's a good indication the ECT resistance was intermittently high (unless you live in Anchorage!) Check for an open in the ECT sensor ground and signal circuits and repair as necessary. If they appear okay, warm the engine up while monitoring the ECT for any intermittent jumps high or low. If there are replace the ECT.
b) If the saved info indicates that the engine coolant reading was at the warmest exreme (around 250+ deg.F) then that's a good indication the ECT resistance was intermittently low. Check for a short to ground on the signal circuit and repair as necessary. If it appears okay, warm the engine up while monitoring the ECT for any intermittent jumps high or low. If there are replace the ECT.
Other ECT sensor and circuit related DTCs: P0115, P0117, P0118, P0119, P0125, P0128
--------------------------------------------------------------------------------------------------------------------
P0128 Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
This means that the engine's PCM detected that the engine has not reached the required temperature level within a specified amount of time after starting the engine. The intent of the P0128 code is to indicate a faulty thermostat. Similar codes: P0125
In determining the engine did not reach a "normal" temperature, it takes into account the length of time the vehicle has been running, the intake air temperature (IAT) sensor reading, the engine coolant temperature (ECT) sensor reading, and the speed of the vehicle.
Symptoms: You will likely not notice any drivability problems other than the MIL illumination.
Causes: A code P0128 may mean that one or more of the following has happened:
Low engine coolant level
Leaking or stuck open thermostat
Faulty cooling fan (running too much)
Faulty coolant temperature (ECT) sensor
Faulty intake air temperature (IAT) sensor
Possible Solutions: Past experience indicates that the most likely solution is to replace the thermostat. However here are some suggestions on troubleshooting and repairing a P0128 OBD-II code:
Verify coolant strength & level
Verify proper cooling fan operation (check if it's running more than it should). Replace if necessary.
Verify proper engine coolant temperature (ECT) sensor operation, replace if necessary.
Verify proper intake air temperature (IAT) sensor operation, replace if necessary.
If the above items check out good, replace the thermostat
If Nissan vehicle, check for Technical Service Bulletins (TSBs), as the ECM may need to be reprogrammed to correct the P0128 code
These codes are telling you that the engine temperature is not sufficient. This can be caused by a faulty coolant sensor,air in the cooling system,or a faulty computer.
The engine should run at 190 F & higher when warmed up. Scan the computer system to view engine temperature.
Keep us updated.