Technical Description
Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
What is the meaning of this?
This diagnostic trouble code (DTC) is a generic powertrain code, which means that it applies to OBD-II equipped vehicles. Brands of vehicles that may encounter this code include but are not limited to Pontiac, Toyota, Mazda, Dodge, Chevrolet, Honda, Jeep, Ford, VW, etc. Although it is a generic code, the specific repair steps may vary depending on the make and model of the vehicle.
This indicates that the engine’s powertrain control module (PCM) has detected that the engine has not reached the required temperature level within a specified amount of time after starting the engine. Often, the P0128 code is an indication of a faulty thermostat that is likely stuck in the open condition. Similar codes: P0125
In determining that 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. In some cases, you may experience symptoms such as:
A photo of a typical thermostat:

Causes
A code P0128 may indicate that one or more of the following has occurred:
Possible Solutions
Note: Please ensure that the engine is turned off and cool when working on the cooling system. When the engine is warm, the cooling system is pressurized and very hot, which can cause burns or other personal injuries if not handled with care.
Past experience indicates that the most likely solution for a P0128 is to replace the thermostat. However, here are some suggestions for troubleshooting and repairing a P0128 OBD-II code:
Regardless of the vehicle’s year, make, and model, it is advisable to check for TSBs because if there is a known fix provided by the automaker, it can save you time and money in the diagnosis and repair.
Other ECT sensor and circuit related DTCs: P0115, P0116, P0117, P0118, P0119, P0125