The code P0038: O2 Sensor Heater Control Circuit High (Bank 1 Sensor 2) points out a fault in the oxygen sensor’s heater circuit, and most likely is caused by faulty O2 sensors, wiring issues, or a malfunctioning ECM/PCM.
P0038 quick overview
Meaning | P0038: O2 Sensor Heater Control Circuit High (Bank 1 Sensor 2) |
Is it serious? | Moderately serious. While the vehicle might still run, it can lead to reduced fuel efficiency, increased emissions, and potential damage to the catalytic converter if not addressed. |
Possible causes | – Faulty or old O2 sensors – Wiring harness issues or broken wires – Corroded or poor connections – Malfunctioning ECM/PCM – Carbon buildup in the throttle body – Faulty relay or fuse – Grounding issues |
How to diagnose? | Scan for Codes: Use an OBD2 scanner to confirm P0038 and check for any other related codes. Inspect O2 Sensors: Check the O2 sensors, especially Bank 1 Sensor 2, for any visible damage or wear. Check Wiring and Connections: Inspect the wiring harness and connectors related to the O2 sensors for breaks, corrosion, or disconnections. Monitor Fuel Trims: Clear the codes, run the engine, and monitor the fuel trims to see if they respond correctly. Inspect Throttle Body: Check for carbon buildup and clean if necessary. Test the ECM/PCM: If other diagnostics fail, consider testing the ECM or PCM for faults. Reset and Test: After making any repairs, clear the codes, reset the system, and test drive the vehicle to see if the code returns. |
Test oxygen sensor PDF
- How to locate a specific sensor (bank1, 2)
- How to test with a multimeter
- How to test using an OBD-II reader
- Verify O2 sensor/CAT just with live data
Case study: Fixing P0038 on 10 vehicles
I looked into P0038 service cases at iatn.com website where in the private forums the mechanics seek advice from other mechanics. I looked up a bunch of cases to help you decide how to fix your issue and see what would a real mechanic do to solve it.
Common fixes
Fix | Percentage |
---|---|
Replace PCM (Powertrain Control Module) | 45% |
Replace O2 sensor with OEM parts | 35% |
Repair or replace wiring/connectors | 20% |
Other | 10% |
Common mistakes
- Replacing the O2 sensor with aftermarket parts instead of OEM, leading to incorrect readings or functionality.
- Overlooking wiring or ground issues, especially in older vehicles with corroded connections.
- Failing to check the PCM thoroughly before replacing O2 sensors.
- Ignoring load testing on the O2 sensor wiring, leading to missed faulty wiring issues.
- Not testing the heater control circuit resistance or assuming the heater circuit isn’t the issue.
Key takeaway
- Always use OEM parts, especially for O2 sensors, as aftermarket sensors can cause persistent issues.
- Check and repair the wiring, grounds, and connectors thoroughly before concluding a PCM failure.
- Perform a load test on the wiring to identify any underlying issues with the heater circuit.
- Consider the PCM as a possible cause if other checks do not resolve the code, but ensure it is properly diagnosed before replacement.
- Ensure proper voltage is supplied to the heater circuit and use a multimeter to confirm readings.
Case #1: Dodge
Vehicle Information 2008 Dodge Durango Adventurer 4.7L
Issue + Repair History MIL lamp on. Replaced O2 sensor bank1 sensor2 but code p0038 returns immediately. Wiring and connections are good. Even when unplugged, readings still show on O2 sensor. Previous repair: Replaced O2 sensor on bank 1 but did not solve the problem.
Other OBD2 Codes + Test Results P0038- bank 1 sensor2 heater circuit high Test results: Connections checked – voltage is okay.
Suggestions from Community
- Swap aftermarket O2 sensor for an OE unit.
- If using aftermarket, switch to original equipment.
- Use another OE sensor and voltage drop test the wire.
- Check the heater ground and use only OE sensors.
- Load test the wiring with a headlamp and verify good connections at all connectors.
- Check common voltage source and grounds for O2 sensors. A different O2 sensor might have a bad heater circuit causing the issue.
- Ensure the correct O2 sensor was changed.
- Watch the PID’s in OBDII generic without substituted values.
- Possible causes from Dealerconnect: Issues with O2 1/2 heater control circuit, O2 1/2 heater ground circuit, O2 sensor 1/2 heater control circuit shorted to voltage, and issues with the powertrain control module (PCM).
Final Fix Checked from sensor to PCM. Wiring and grounds were good. Replaced PCM with a preprogrammed one. Problem solved.
Case #2: Chrysler
Vehicle Information 2004 Chrysler PT Cruiser GT 2.4L
Issue + Repair History MIL lamp on. Initially had faults for P0032 and P0038. Replaced O2 sensors. Vehicle returned with P0031 and P0037. After testing, PCM was identified as the problem and replaced. However, after customer drove the vehicle, MIL came on with P0201,202,203,204, P0032, P0038. Signals, voltages, and grounds were rechecked. Ground voltage drop of sensor was 170 mV. After a wire overlay, it dropped by 40mV. Replaced O2 sensors again with OEM sensors. MIL returned with P0032, P0038.
Other OBD2 Codes + Test Results
P0032- O2 sensor heater B1S1 Circuit High
P0038- O2 sensor heater B1S2 circuit High Test
results:
- Voltage at sensor heater: 3-4v
- Ground circuit resistance: 2 Ohms (Spec is 5 per alldata)
- Duty Cycle at sensor: 25% (scan readout is 30% for test)
- Ground voltage drop of sensor: 170 mv
Suggestions from Community
- The O2 sensor heater should have battery voltage, not 3-4 volts. Check for shorts to ground and high resistance.
- Possible causes include faulty O2 sensors, open or shorted harness, poor electrical connection, faulty fuse, or a faulty Engine Control Module.
- Consider a wiring issue, especially on the ground side. Check G183 and S111 and the harness over the transmission.
- The heater circuit might be power side switched; isolate the ground to the O2 heaters and load test it.
- The PCM might be activating 100%, but it will only ever command about 25%. Disconnect the PCM for a few minutes to erase memory of O2 heater resistance values.
- Often, the problem with Chrysler is in the harness. Check the wiring harness with a load.
- Check the loom for any signs of rubbing through the insulation.
Final Fix Rechecked everything and ran spare redundant grounds for the O2 sensors. The issue was a defective new PCM directly from Chrysler. After replacing the PCM again, the vehicle worked properly.
Case #3: Cadillac
Vehicle Information 1994 Cadillac Eldorado 4.6L
Issue + Repair History MIL lamp on. Difficulty locating the IAT sensor. The archives indicated it’s inside the intake manifold, but it couldn’t be found. Mitchell’s guide suggested it should be next to the MAP, but it wasn’t there. The engine had been replaced with what is believed to be a ’95 model. The sensor wasn’t located in the air-box or snorkel. The technician questioned if the upper plenum needed to be removed to locate it.
Other OBD2 Codes + Test Results
P0038
MAT, IAT, ACT, sensor–circuit open
Suggestions from Community
- The IAT sensor might be part of the MAF Sensor.
- The IAT sensor could be in the airbox before the MAF by the air filter.
- For the 4.9 model, it screws into the intake, but for the 4.6, it should be in the airbox.
- The ’93 & ’94 models differ from other Cadillacs. For these, if you have a metal intake manifold, remove the metal lid and the air temp sensor should be on the driver’s side.
- Open the wiring harness conduit by the MAP sensor and look for 2 cut wires where the IAT sensor connector should be.
- Alldata suggests the sensor is inside the intake manifold and the upper plenum might need to be removed.
Final Fix The IAT Sensor was never found on this car because it didn’t exist. The engine had a plastic fuel rail, like some ’95 models. The sensor was located by the Plenum gasket, which is accessed by removal. The car didn’t have the sensor or harness for it. A ’95 Intake snorkel was sourced, where the sensor is located right by the throttle-body, along with the harness and sensor. It was then spliced/wired into the harness. The car didn’t use a MAF either.
Case #4: Porsche
Vehicle Information 2003 Porsche 911 Carrera 3.6L
Issue + Repair History Vent temperature always blowing hot air and cannot be adjusted to the colder side. Has code 0038 related to CAN timeout PCM. The code cannot be cleared. The vehicle had been in the shop for a leaking heater core, which was replaced. During the road test post-repair, the vent temperature issue was discovered.
Suggestions from Community
- Check the temperature blend door control/motor/door. It might have been disconnected and not reconnected during the heater core repair.
- Try disconnecting the battery to potentially reset the system.
- Check if the software can move the blend doors and fresh air flap.
- Fault code 38 indicates a CAN timeout for PCM. This can occur if the battery has been disconnected. The PCM2 (Porsche Communication Management) might need the code input again. This controls various systems including the A/C heater controls. If the heater circuit of the O2 is high, P0038 is set.
- The fault could be due to an open circuit of CAN-high lead or CAN-low lead between PCM(2) and CAN comfort connection point. The PCM(2) might not be connected or could be faulty.
Final Fix The issue was with the actuator, which came unsecured during the heater core repair.
Case #5: Hyundai
Vehicle Information 2004 Hyundai Elantra GT 2.0L
Issue + Repair History Intermittent stalling and cutting out. The check engine light is on, possibly due to O2 sensor codes. The vehicle behaves as if there are misfires, but there’s no indication of it on the scanner. Previous repairs include a used mass airflow sensor installed by a different shop, head gasket replacement approximately 6 months ago by a different shop, and a fuel pump replacement by a different shop.
Other OBD2 Codes + Test Results P2626- Linear O2 pumping current Trim P0032- O2 Heater Control Ckt High B1S1 P0038- O2 Heater control ckt High B1S2 Scanner reading showed 2000 plus mv with little change.
Suggestions from Community
- Replace both O2 sensors.
- The vehicle uses a linear air-fuel ratio sensor instead of a standard O2. If these sensors fail, they will affect the fuel trim. Clear the codes, run the engine, and monitor the fuel trims. If the fuel trims don’t respond correctly, the air-fuel ratio sensors might be defective.
- Double-check grounds at the battery for corrosion, which is known to cause these symptoms. Also, check at the transmission/block.
- Possible issues could be the wiring harness to the coil packs having a broken wire or the fuel pump relay.
- There might be a crank sensor problem. Also, check for excessive end play in the crank. High mileage manual transmission engines can wear out the crank thrust bearings, which can misalign the crank sensor tone ring.
- Consider cleaning the throttle body for carbon buildup.
- Check the wiring to the fuel pump and its pins/connection. Also, consider replacing the power control relay.
- Check the alternator for voltage peaks that might be affecting the ECM.
Final Fix The issue was traced back to a bad connection at the coil pack. After repairing the connection, the problem was resolved. The MIL lamp remained on due to the customer declining to replace the O2 sensor.
Case #6: Dodge
Vehicle information: 2007 Dodge Nitro R/T 4.0L
Issue + repair history:
MIL (Malfunction Indicator Lamp) on with code P0038. The technician initially found the Bank 1 Sensor 2 (B1S2) oxygen sensor heater to be open and replaced the O2 sensor. Despite clearing the code and starting the engine, the code returned almost immediately. Various tests, including checking resistance and power in the heater circuits, were conducted. Swapping heater drivers between Bank 1 and Bank 2 also suggested a possible PCM issue, but the problem persisted until ECM replacement was planned.
Other codes + test results:
- P0038: O2 Sensor 1/2 Heater Circuit High
- Resistance of B1S2 heater – open
- Resistance of new O2 heater – 4.5 ohms
- Heater control circuit resistance – 1.5 ohms
- Heater test pulsing 11.4 VDC
Other mechanics’ suggestions:
- Ensure OEM (MOPAR) oxygen sensor is used
- Check for potential PCM reflash
- Verify the integrity of O2 sensor wiring and connectors
- Scan O2 heater data to observe rapid voltage drop to validate function
- Confirm PCM is not damaged due to previous shorts in the circuit
Final fix:
Replacing and reprogramming the ECM (Engine Control Module) resolved the issue. The faulty driver in the ECM was no longer powering the B1S2 heater, and after the replacement, the MIL was off, and the vehicle passed inspection.
Case #7: Mercedes-Benz
Vehicle information: 2009 Mercedes-Benz E350 4Matic 3.5L
Issue + repair history:
MIL (Malfunction Indicator Lamp) is intermittently on, with recurring O2 sensor heater and air-fuel ratio issues. Over several months, the technician replaced the Mass Air Flow (MAF) sensor and all four oxygen sensors, initially resolving the problem, but the codes returned after approximately 300 miles. Despite thorough testing of fuel trims and sensor function, the problem persisted, with no obvious signs of malfunction in the fuel system or sensor wiring.
Other codes + test results:
- P0038: LR O2 Heater
- P0141: RR O2 Heater
- P2270: RR O2 Aging
- P2272: LR O2 Aging
- P2195: RF O2 Lean
- P2271: B1S2 Rich
Other mechanics’ suggestions:
- Check ECM box and connectors for corrosion
- Inspect wiring diagram for O2 heater power source
- Conduct smoke test for fuel mixture codes
- Re-flash Motor Electronics Module or replace if necessary
- Ensure only OEM (Mercedes) oxygen sensors are installed
Final fix:
Water accumulation in the rear mufflers caused shorting of the O2 sensors. The customer’s driving habits (short trips and a sloped driveway) allowed water to collect in the mufflers, which then flowed into the O2 sensors when backing up. The issue was resolved by drilling drain holes in the mufflers and replacing all four O2 sensors. The vehicle has been operating without issues since the repair.
Case #8: Dodge
Vehicle information: 2005 Dodge Neon SXT 2.0L
Issue + repair history:
The vehicle initially came in with the check engine light on and code P0038, indicating an issue with the downstream O2 sensor heater. After replacing both O2 sensors with Bosch sensors and running tests, a new code, P0141 (Bank 1 Sensor 2 heater), appeared. Despite following diagnostic procedures and tests, the issue persisted.
Other codes + test results:
Other mechanics’ suggestions:
- Use only OEM sensors, as Dodge vehicles often reject Bosch sensors
- Perform a memory reset or battery disconnect to allow the PCM to relearn the new O2 sensor resistance
- Ensure the sensors reach operating temperature before testing
- Check heater circuit duty cycle and the PCM’s driver circuit
- Inspect for loose grounds that can spike current and damage the heater element
Final fix:
After replacing the Bosch sensor with an OEM sensor, the check engine light remained off during testing and operation. The problem was resolved by switching to the correct sensor type.
Case #9: Chrysler
Vehicle information: 2004 Chrysler PT Cruiser GT 2.4L
Issue + repair history:
The vehicle came in with intermittent stalling and the check engine light on, showing codes P0038 and P0032 for the O2 sensor heater circuits. The O2 sensors were recently replaced by another shop along with a new catalyst. The technician discovered broken PCM connectors causing the vehicle to stall when wiggled. After replacing all four connectors, the vehicle no longer stalled during testing. However, the issue persisted when driven by the customer, with new codes P0508 (IAC circuit low) and P0300 (random misfire) appearing despite no apparent misfires.
Other codes + test results:
- P0038: Downstream O2 sensor heater circuit high
- P0032: Upstream O2 sensor heater circuit high
- P0508: Idle Air Control (IAC) circuit low
- P0300: Random/multiple cylinder misfire
Other mechanics’ suggestions:
- Check crank and cam sensors and their wiring for possible issues
- Perform a hard reset (battery disconnect) to force the PCM to relearn O2 heater resistance
- Inspect and test IAC and its connectors; ensure they are functioning properly
- Tap test or wiggle test the PCM for intermittent faults
- Verify fuel pressure and check wiring for heat damage or poor routing
Final fix:
The problem was resolved by replacing the PCM with a factory remanufactured unit. After programming the VIN and other parameters, the stalling and check engine light issues were eliminated. The vehicle has since been running well with no further stalling or codes.
Case #10: Jeep
Vehicle information: 2008 Jeep Wrangler Sahara 3.8L
Issue + repair history:
The vehicle was brought in from another shop after a short in the PCM. A new PCM was installed and programmed using J2534, but the vehicle would not crank. The technician programmed the keys and verified that the operating software and VIN were correctly installed, but the car still did not start. Various parameters were checked, including fuel pulse and ASD relay functionality, but no signal was detected from the PCM to the starter relay.
Other codes + test results:
Other mechanics’ suggestions:
- Ensure the VIN and SKIM pin are correctly written to the PCM via WCM
- Check for hidden codes that could be blocking the start signal
- Inspect the TIPM for issues with the starter control
- Perform a battery reset to clear any WCM errors
- Verify that the clutch pedal is being depressed during start attempts
- Check for any issues with the O2 sensors or wiring that may trigger the codes
Final fix:
The issue was resolved by depressing the clutch pedal during the start attempt, which had been overlooked. Once the clutch was depressed, the vehicle started without issues. The PCM had been correctly programmed, and the vehicle was able to start and run as expected.
Test oxygen sensor PDF
- How to locate a specific sensor (bank1, 2)
- How to test with a multimeter
- How to test using an OBD-II reader
- Verify O2 sensor/CAT just with live data
I test OBD-II scanners and make DIY Engine diagnostics guides to help you solve your car problems without having to depend on the mechanic. A lot of them will try to scam you or are just no help at all. About Juraj Lukacko