Engine Coolant Temperature Below Thermostat Regulating Temperature

P0128 often means the engine coolant temperature may be lower than the control module expects for thermostat regulation, or the temperature signal may not be believable.

Article vehicle: 2020-2025 Chevrolet Silverado 2500 6.6 diesel

Technical guidanceConfirm the exact vehicle configuration and follow applicable safety procedures before testing or repair.
P0128 Engine Coolant Temperature Below Thermostat Regulating Temperature diagnostic guide

What this code means

P0128 often means the engine coolant temperature may be lower than the control module expects for thermostat regulation, or the temperature signal may not be believable.

What the vehicle may do

  • The engine may take longer than expected to warm up.
  • The cooling fan may run when the fault is active.
  • A service emission or exhaust fluid warning message can appear.

Possible fault areas

  • Possible coolant level or coolant condition concern.
  • Possible thermostat operation concern.
  • Possible engine coolant temperature sensor or intake temperature sensing concern.
  • Possible signal circuit or low-reference circuit concern.
  • Possible control module concern after circuit checks prove good.

Diagnostic path

Opening context

On this Silverado 2500 with the 6.6 diesel, P0128 means the engine coolant temperature is being judged below the thermostat regulating temperature. In plain terms, the truck may not be warming the way the control module expects, or the temperature signal may not be believable. You may see cooling fans come on, and a service emission or exhaust fluid message can show up with this fault. Keep the broad fault areas in mind: coolant level or condition, thermostat operation, temperature sensor inputs, the signal and low-reference circuits, and only after the circuit checks prove out, the engine control module. Start with the basic system checks, keep the diagnosis structured, and do not chase P0128 in isolation if other temperature-related sensor codes are present.

How the circuit is supposed to work

The engine coolant temperature sensor is a negative temperature coefficient thermistor. As temperature goes up, sensor resistance goes down, and that changes the voltage on the signal circuit. The control module input circuit has an internal resistance connected to 5 V, and the low reference is grounded through the control module. For normal scan-tool data, use an idling engine at normal operating temperature: the ECT parameter normal range is 88 to 105°C (190 to 221°F). Typical fault-pattern data shows the signal circuit at 150°C (302°F) for a short to ground, open at −40°C (−40°F), and short to voltage at −40°C (−40°F). On the low-reference side, an open or a short to voltage also shows −40°C (−40°F). Be careful with any short to B positive, because internal control module or component damage may occur. For P0128, the monitor gates include Start-Up ECT = −40 to 50°C (−40 to 122°F), Engine Coolant Thermostat Heater Command = Less than 20% — For greater than 5 s, Engine Off Time = Greater than 30 min, and Engine Run Time = 20 s to 25 min. The code sets when engine coolant temperature is not within a calibrated range, so treat those gates as the conditions needed to evaluate the fault, not as a parts call.

First checks before forcing the fault

The first actual check is coolant level and coolant condition. If the level or condition is wrong, correct that before going any deeper. If the coolant check passes, look for codes tied to the coolant temperature and intake air temperature sensing. If those are present, check what they mean first. One useful sanity check is a cold-soak comparison: intake air temperature and engine coolant temperature should be within 3°C (5°F) of each other if the ignition has been Off for greater than 8 h. Also remember that high resistance in the related circuits may set P0128 without setting a separate component code.

Verification before circuit testing

Now run the engine for greater than 15 min with the air conditioning Off, and slowly increase engine speed to 3,000 RPM. Watch the scan tool ECT Sensor parameter. It needs to be warmer than 80°C (176°F). If it is not warmer than 80°C (176°F), the diagnostic outcome is engine coolant thermostat replacement. If it is warmer than 80°C (176°F), operate the vehicle within the monitor gates, or under the captured conditions from the fault data, and verify P0128 does not reset. If the code does not reset, the result is All OK. If it does reset, move into circuit and sensor testing.

Low-reference circuit check

For circuit testing, turn the ignition and vehicle systems Off before disconnecting connectors. It may take up to 2 min for all vehicle systems to power down before an accurate ground or low-reference continuity test can be made. Disconnect the B34 engine coolant temperature sensor. Test between low-reference circuit terminal 1 and ground for less than 10 Ω. If it is 10 Ω or greater, disconnect the appropriate K20 engine control module connector and test the low-reference circuit end to end for less than 2 Ω. If that end-to-end test is 2 Ω or greater, repair the open or high resistance in the circuit. If it is less than 2 Ω, the diagnostic outcome is K20 engine control module replacement.

Disconnected sensor response

If the first low-reference-to-ground test is less than 10 Ω, turn the ignition On with the vehicle in Service Mode. With the coolant temperature sensor disconnected, the scan tool ECT Sensor parameter should be colder than −39°C (−38°F). If it reads −39°C (−38°F) or warmer, turn the ignition and vehicle Off, disconnect the appropriate K20 engine control module connector, and test signal circuit terminal 2 at the component harness to ground for infinite resistance. If you have less than infinite resistance, repair the short to ground on the signal circuit. If resistance is infinite, the diagnostic outcome is K20 engine control module replacement.

Jumper response and signal circuit checks

If the disconnected sensor reading is colder than −39°C (−38°F), connect a 3 A fused jumper wire between signal circuit terminal 2 and low-reference circuit terminal 1. The scan tool ECT Sensor parameter should now be warmer than 149°C (300°F). If it is warmer than 149°C (300°F), test or replace the B34 engine coolant temperature sensor. If it is 149°C (300°F) or colder, turn the ignition and vehicle Off, remove the jumper wire, disconnect the appropriate K20 engine control module connector, then turn the ignition On with the vehicle in Service Mode and test signal circuit terminal 2 at the component harness to ground for less than 1 V. If it is 1 V or greater, repair the short to voltage on the signal circuit. If it is less than 1 V, turn the ignition and vehicle Off and test the signal circuit end to end for less than 2 Ω. If that test is 2 Ω or greater, repair the open or high resistance. If it is less than 2 Ω, the diagnostic outcome is K20 engine control module replacement.

ECT sensor component test

For component testing, turn the ignition and vehicle Off and disconnect the B34 engine coolant temperature sensor. Test resistance between signal terminal 2 and low-reference terminal 1. The broad check is 42 to 78,834 Ω. If it is not between 42 and 78,834 Ω, replace the B34 engine coolant temperature sensor. If it is between 42 and 78,834 Ω, compare the value to the correct temperature-versus-resistance data for that sensor. If the value is not in the specified range, replace the sensor. If it is in range, test for infinite resistance between each sensor terminal and the sensor housing. Less than infinite resistance means replace the sensor. Infinite resistance means All OK. If you do not have the exact temperature-versus-resistance values at that branch, pause and do not guess the sensor call.

Repair verification and closing

After the repair is complete, verify the repair and confirm P0128 stays gone. Keep that verification separate from the category-specific testing you just performed. If the Service Emission System or Service Exhaust Fluid System message is displayed, perform the Reductant System Tamper Warning Service Bay Test only under that condition; that procedure clears the applicable driver information message. The takeaway is simple: prove the engine reaches the required temperature first, then prove the ECT signal and low-reference circuits before condemning a module or sensor. For more diagnostic training, visit stepdiagnostics.com.

Final check

P0128 diagnosis should prove warm-up performance first, then prove the temperature sensor circuits and component before making a final repair call.

For more guided automotive diagnostics, visit STEP Diagnostics.

Continue diagnosing

Related guides for this vehicle