P0038 Code: HO2S Heater Control Circuit High (Bank 1 Sensor 2)
The P0038 code means the control side of the heater circuit on the oxygen sensor behind the catalytic converter is reading high voltage. An open heater element is the most likely cause, but because the sensor hangs under the vehicle, the wiring deserves as much attention as the part.
- Severity
- Low
- Can I keep driving?
- Yes, no immediate risk
- Estimated cost
- $50 to $400
- Difficulty
- Medium
- System
- Air and Fuel
- Applies to
- All OBD2 vehicles
On this page
What the P0038 code means
The oxygen sensor heater is controlled by switching its ground: the computer supplies constant voltage on one side and decides on the other side whether the circuit conducts. When the heater is working, the voltage on the control side drops to nearly zero.
The P0038 code is set when that voltage stays high even though the system has commanded heating, on the bank 1 sensor behind the catalytic converter. Its opposite is P0037 and its general code is P0036.
The most likely cause is an open heater element: if no current can flow, the control side voltage stays up permanently. Next come a control wire shorted to a voltage line and an output stage in the computer that does not close.
The location adds a twist, though. This sensor lives under the vehicle, with five feet or more of wiring exposed to rubbing, water and salt. A cut wire along that route produces the same effect as an open heater, and it costs far less to fix.
It is worth placing this code in perspective. It does not affect the engine, it does not compromise safety, and its only tangible effect shows up on the day of the emissions test. That lets you handle it without urgency, but it also explains why you should not leave it indefinitely: inspection day arrives, the catalyst monitor has not completed, and the rejection is automatic even though everything else on the vehicle is fine.
One detail matters for verification. Because this heater is switched on with a deliberate delay, the system does not evaluate its circuit right away either. It waits until that time has passed and the engine has been running a while. So the P0038 code can take several minutes to come back after you clear it, and a quick test after the repair proves nothing.
P0038 code symptoms
- Check engine light on.
- No noticeable change in how the engine runs.
- The catalyst monitor does not reach ready status.
- Failed emissions test.
- The downstream sensor signal takes a long time to settle.
- Slight increase in fuel use on some vehicles.
- A P0036 code may be stored along with it.
- The code takes several minutes to come back after being cleared.
- No symptom you can feel while driving, apart from the check engine light.
Likely causes of the P0038 code
- Heater element open, which stops current from flowing.
- Control wire cut along its route under the vehicle.
- Control wire shorted to a voltage line.
- Connector with water or corrosion.
- Computer output stage that does not close the ground.
- Thermal shock from puddle water hitting a hot sensor.
- Rodents chewing the harness.
- Universal sensor with poorly made splices.
How to diagnose the P0038 code step by step
- Measure the heater resistance with the connector unplugged. An infinite reading confirms the element is open.
- If the resistance is correct, follow the wire along its whole route under the vehicle. A break has the same effect and is much cheaper to repair.
- Check the connector for water, green corrosion and backed-out pins.
- Verify 12 volts at the supply pin with the key on.
- Wait one or two minutes before measuring current, because this heater is switched on with a deliberate delay.
- Look for shorts between the control wire and voltage lines.
- Check whether other heater codes are stored. That would point to a shared power supply.
- Flex the wire with the engine running and watch whether the code comes and goes.
- Do not call the repair good two minutes after clearing. The system evaluates this circuit with a delay, and the code can take a while to return.
How to fix the P0038 code
- Repair the cut wiring with solder and heat-resistant sleeving, and secure it along the original route.
- Replace the sensor when the heater resistance is open.
- Clean or replace the connector and protect it with dielectric grease.
- Fix the short on the control wire.
- Restore the circuit ground.
- Avoid universal sensors that need splicing.
- Loosen the sensor with the exhaust warm and penetrating oil applied well ahead of time.
- Verify the repair over several full drive cycles, not just at idle after clearing the code.
- Make sure the catalyst monitor reaches ready status before you go in for the emissions test.
Technical reference data
- Typical cold heater resistance: 2 to 14 ohms. Infinite means an open heater element.
- The downstream sensor heater comes on one or two minutes after startup.
- Control side voltage: high while the heater is off, close to zero while it works.
- P0037 specifies low voltage and P0036 is the general code for the same circuit.
- Expected sensor signal with a healthy catalytic converter: steady between 0.6 and 0.8 volts.
- The system evaluates this circuit with a delay: the code can take several minutes to return after being cleared.
Brand-specific notes
Measure the heater resistance first. If it reads infinite, the diagnosis is closed. If it reads correctly, the wire is the suspect, and on this sensor the route is long and exposed. Ten minutes with a flashlight under the vehicle can save you the cost of the part.
The threads seize easily because of the exposure to water and salt. Apply penetrating oil ahead of time, because if the sensor snaps off inside the pipe, getting it out can mean replacing the whole pipe section.
Questions about the P0038 code
There are no questions about this code yet. Tell us about your case: vehicle, symptoms and what you have already checked.