Check engine light on on 2005 Chevrolet Trailblazer

I have a check engine light staying on. The code is PO128, with listed probable cause being 1. coolant level 2. Thermostat defective, or 3. Engine coolant temperature sensor defective.
The coolant level is fine, adequate anti-freeze, and temperature guage reads normal.

Asked by for the 2005 Chevrolet Trailblazer
most likely the thermostat. the computer looks for temps around 195-215 after a certain time. even though your gauge reads ok, it still may be the issue.
if it was the coolant sensor, you would have other issues with drive ability.

1 more answer
**If you can check the freeze frame data and find what the temp was at when it threw the code then you will be able to determine better whether it is the ECT or the thermostat. The info below is what I pulled up for the code specific to your car.

DTC P0128

An engine coolant temperature (ECT) sensor monitors the temperature of the coolant. This input is used by the powertrain control module (PCM) for engine control and as an enabling criteria for some diagnostics.

The air flow coming into the engine is accumulated and used to determine if the vehicle has been driven within the conditions that would allow the engine coolant to heat up normally to the thermostat regulating temperature. If the coolant temperature does not increase normally or does not reach the regulating temperature of the thermostat, diagnostics that use ECT as enabling criteria may not run when expected.

This DTC will only run once per ignition cycle within the enabling condition. If the PCM detects the calibrated amount of air flow and engine run time have been met, and the ECT has not met the minimum thermostat regulating temperature, DTC P0128 sets.

This diagnostic procedure supports the following DTC:
DTC P0128 Engine Coolant Temperature (ECT) Below Thermostat Regulating Temperature