
What this code means
P0128 may indicate the engine coolant temperature is not warming up the way the PCM expects.
What the vehicle may do
- The vehicle may warm up slowly.
- Cabin heat may feel weaker than expected.
- The driver may only notice a warning light or stored code.
Possible fault areas
- Coolant level may be involved.
- The ECT sensor or its circuit can be involved.
- A cooling system condition may keep the engine from reaching operating temperature.
Diagnostic path
Opening context and starting point
On this 6.7 Power Stroke Super Duty, P0128 means the PCM may be seeing engine coolant temperature behavior that does not match the expected warm-up pattern. The truck may warm up slowly, heater performance may feel weak, or the code may show up with very little driver complaint. Broadly, this can involve coolant level, the ECT sensor and its wiring, or a cooling system issue that keeps the engine from reaching operating temperature. Start with the basic system checks and confirm the code is actually present. If other temperature-related codes are stored with it, check what they mean first so you do not chase the wrong path. Also, if regeneration occurs during testing, let it finish before continuing because it can bias the values you are watching.
Check coolant level first
Before getting into sensor and circuit testing, check both the engine coolant level and the secondary cooling system level. Let the engine cool before opening the cooling system. Do not loosen the pressure relief cap with the engine running or while the system is hot, because hot coolant and steam can come out under pressure. If the coolant fill level is correct, continue with the ECT checks. If the level is not correct, stay in cooling system diagnosis, correct that issue first, then clear the PCM codes and repeat the self-test.
Cold ECT sensor resistance check
Next, make sure the engine is at ambient room temperature before continuing. A soak period of 8 hours may be required. With the ECT sensor connector disconnected, measure resistance between C1064 Pin 1 and C1064 Pin 2 on the component side. Compare that reading to the temperature-versus-resistance values for the actual engine temperature. Use these table points for that comparison: 100 °C / 212 °F / 2,080 Ohms; 90 °C / 194 °F / 2,803 Ohms; 80 °C / 176 °F / 3,836 Ohms; 70 °C / 158 °F / 5,337 Ohms; 60 °C / 140 °F / 7,556 Ohms; 50 °C / 122 °F / 10,908 Ohms; 45 °C / 113 °F / 13,216 Ohms; 40 °C / 104 °F / 16,092 Ohms; 35 °C / 95 °F / 19,696 Ohms; 30 °C / 86 °F / 24,329 Ohms; 25 °C / 77 °F / 30,000 Ohms; 20 °C / 68 °F / 37,352 Ohms; 15 °C / 59 °F / 46,797 Ohms; 10 °C / 50 °F / 59,016 Ohms; 5 °C / 41 °F / 74,940 Ohms; 0 °C / 32 °F / 95,851 Ohms; -5 °C / 23 °F / 123,485 Ohms; -10 °C / 14 °F / 160,313 Ohms; -15 °C / 5 °F / 209,816 Ohms; -20 °C / -4 °F / 276,959 Ohms; -30 °C / -22 °F / 496,051 Ohms; and -40 °C / -40 °F / 925,021 Ohms. If the resistance is within specification, move on to the circuit checks. If it is not within specification, install a new ECT sensor, then clear the PCM codes and repeat the self-test.
ECT circuit checks
With the ignition off, disconnect the PCM-E connector. Check resistance between C1232E Pin 8 and C1064 Pin 1, and also between C1232E Pin 28 and C1064 Pin 2. The resistance should be less then 5 ohms. If it is not, repair the open circuit, clear the PCM codes, and repeat the self-test. If that check passes, measure resistance between C1064 Pin 1 and ground. That resistance should be greater than 10000 Ω. If it is not, repair the short circuit, clear the PCM codes, and repeat the self-test. If that check passes, turn the ignition on and measure voltage between C1064 Pin 1 and ground. If any voltage is present, repair the short circuit, clear the PCM codes, and repeat the self-test. If no voltage is present, continue to the hot sensor check.
Hot ECT check and P0128 decision point
Now verify the engine is at operating temperature before taking the ECT reading. Connect the ECT sensor, run the engine until the temperature stabilizes, then turn the ignition off and disconnect the ECT sensor again. Measure resistance between C1064 Pin 1 and C1064 Pin 2 on the component side, and compare it to the same temperature-versus-resistance values. If the resistance is not within specification, install a new Engine Coolant Temperature sensor, clear the PCM codes, and repeat the self-test. If the resistance is within specification, continue on the P0128 path. Run the engine until temperature stabilizes, verify the radiator hoses are hot and the cooling system is pressurized, then monitor the ECT1 TEMP PID in the PCM. If the PID is greater than 77°C (170.6°F), this test is complete. If it is not greater than 77°C (170.6°F), diagnose why the engine does not reach operating temperature, repair as necessary, clear the PCM codes, and repeat the self-test.
Verification and takeaway
Keep verification separate from the testing. After any repair made during this path, clear the PCM codes and repeat the self-test to confirm P0128 stays gone. The takeaway is simple: do not jump straight to a cooling system repair. Prove coolant level, prove the ECT sensor cold and hot, prove the circuit, and then confirm whether the engine is actually reaching operating temperature. For more diagnostic training, visit stepdiagnostics.com.
Final check
P0128 diagnosis should separate sensor accuracy, circuit integrity, and actual engine warm-up behavior.
For more guided automotive diagnostics, visit STEP Diagnostics.





