
What this code means
P0138 may mean the engine control module is seeing a heated oxygen sensor signal that is higher than expected for the monitored conditions.
What the vehicle may do
- The vehicle may turn on the check engine light.
- It can sometimes have fuel trim or fuel economy concerns.
- It may also run normally from the driver seat while the fault is still stored.
Possible fault areas
- Possible oxygen sensor signal circuit or connector faults.
- Possible wiring issues between the heated oxygen sensor and engine control module.
- Possible heated oxygen sensor concern.
- Possible exhaust, fuel quality, fuel pressure, evaporative, or vacuum-related conditions.
Diagnostic path
Opening context for P0138
On this Silverado 1500 with the 5.3 gas engine, P0138 is a heated oxygen sensor high-voltage fault. In plain language, the control module may be seeing an oxygen sensor signal staying higher than expected. The driver may only notice a check engine light, but the truck can also have fuel trim, fuel economy, or running-quality complaints. Possible fault areas often include the oxygen sensor signal circuit, connector condition, wiring near the sensor and control module, the sensor itself, or broader engine conditions like exhaust, fuel, evaporative, or vacuum issues. Start with the basic system checks, then follow a structured diagnostic approach so you do not chase a sensor before the circuit proves it. Before the pinpoint checks, keep the sensor behavior in mind. Typical scan data lists the parameter normal range as 200 to 800 mV. As the HO2S heats up, it begins to generate voltage within a range of 40 to 1050 mV. A voltage that increases toward 1000 mV indicates a rich fuel mixture, and a voltage that decreases toward 0 mV indicates a lean fuel mixture. For the circuit fault patterns, signal terminal 3 at 0 V is the grounded pattern, while terminal 3 open or high resistance and short-to-voltage patterns are shown at 1.7 to 2.1 V. Signal terminal 4 follows the same idea: 0 V for the grounded pattern, and 1.7 to 2.1 V for the open or high-resistance and short-to-voltage patterns.
Verification before circuit testing
With the ignition on and the vehicle in service mode, first make sure there are no oxygen sensor heater faults active. If a heater fault is present, handle that first because it can affect the rest of this diagnosis. Then run the engine and watch the heated oxygen sensor scan data for the affected sensor group. The value should be between 50 and 1,050 mV, and it should not spike or drop out. P0138 is the high-voltage side of this fault group; it sets when the heated oxygen sensor is greater than 1,050 mV for greater than 13 s once the monitor gates are met. For those monitor gates, fuel alcohol content has to be less than 87%, fuel level greater than 10%, the ignition-off time greater than 8 h, ignition voltage 10 to 32 V, and engine run time greater than 20 s for this high-voltage path. After the running conditions are met, the DTC runs continuously for greater than 5 s. The running conditions are not repairs by themselves; use them to reproduce the operating conditions, including the captured conditions when that data is available. Wiggle the B52 Heated Oxygen Sensor harness and connector, then the K20 Engine Control Module harness and connector. If the value spikes or drops out during that movement, repair the wiring, terminals, or connector issue. If the signal stays stable, reproduce the operating conditions and confirm P0138 does not reset before moving deeper.
Signal circuit terminal 4 testing
If verification points you into circuit testing, shut the ignition and all vehicle systems off, then disconnect the B52 Heated Oxygen Sensor connector. Turn the ignition back on with the vehicle in service mode and the engine off. Be careful here: component damage may occur if the circuit is shorted to B+. Test between signal circuit terminal 4 and ground. You are looking for 1.7 to 3.0 V. If terminal 4 is less than 1.7 V, turn the ignition off, disconnect the K20 Engine Control Module, and test terminal 4 at the component harness to ground for infinite resistance. Anything less than infinite resistance means repair the short to ground. If it is infinite, test terminal 4 end-to-end back to the control module harness for less than 2 Ω. If it is 2 Ω or greater, repair the open or high resistance in that circuit. If it is less than 2 Ω, the path points to the K20 Engine Control Module. If terminal 4 is greater than 3.0 V, turn the ignition off, disconnect the K20 Engine Control Module, turn the ignition on again, and test terminal 4 at the component harness to ground for less than 1 V. If it is 1 V or greater, repair the short to voltage. If it is less than 1 V, the path points to the K20 Engine Control Module. If terminal 4 is in the correct 1.7 to 3.0 V range, then the scan tool parameter should be greater than 1.7 V before you continue.
Signal circuit terminal 3 and jumper response
Next, use the scan tool result to choose the terminal 3 path. If the heated oxygen sensor scan parameter is less than 1.7 V, turn the ignition off, disconnect the K20 Engine Control Module, and test signal circuit terminal 3 at the component harness to ground for infinite resistance. If it is less than infinite resistance, repair the short to ground. If it is infinite, the path points to the K20 Engine Control Module. If the scan parameter is greater than 1.7 V, connect a 3 A fused jumper wire between signal circuit terminal 4 and signal circuit terminal 3. The scan tool parameter should go to 0.0 V. If it stays greater than 0.0 V, turn the ignition off, remove the jumper, disconnect the K20 Engine Control Module, turn the ignition on, and test terminal 3 at the component harness to ground for less than 1 V. If it is 1 V or greater, repair the short to voltage. If it is less than 1 V, turn the ignition off and test terminal 3 end-to-end back to the control module harness for less than 2 Ω. If it is 2 Ω or greater, repair the open or high resistance. If it is less than 2 Ω, the path points to the K20 Engine Control Module.
If the circuit response is correct
If the fused jumper pulls the scan tool parameter down to 0.0 V, the circuit is responding, so look for conditions that can drive the oxygen sensor reading wrong. Check for water intrusion at the B52 Heated Oxygen Sensor connector, a fuel-saturated evaporative canister, an exhaust leak, contaminated or poor-quality fuel, fuel pressure that is high or low, and vacuum leaks at the engine, hoses, or lines. If one of those conditions exists, repair or replace as necessary. If none of those conditions exist, test or replace the B52 Heated Oxygen Sensor. After the repair, verify the repair and confirm the code stays gone. The takeaway is simple: prove the heater is not the issue, prove the signal circuits with voltage and resistance checks, then only condemn the sensor after the circuit and related engine conditions are cleared. For more diagnostic training, visit stepdiagnostics.com.
Final check
P0138 is best handled by separating circuit behavior from sensor and engine-condition causes before making a repair decision.
For more guided automotive diagnostics, visit STEP Diagnostics.





