P0038 – Heated oxygen sensor (HO2S) 2, bank 1, heater control -circuit high


By Reinier (Contact Me)
Last Updated 2016-06-10
Automobile Repair Shop Owner

Trouble CodeFault LocationProbable Cause
P0038 Heated oxygen sensor (HO2S) 2, bank 1, heater control -circuit high Wiring short to positive, HO2S, ECM

We recommend Torque Pro

What Does Code P0038 Mean?

OBD II fault code P0038 is defined as “Oxygen Sensor Heater Control Circuit High (Bank 1 Sensor 2), and is set when the PCM (Powertrain Control Module) detects a signal voltage from oxygen sensor #2 that does not fall within the predefined range for that sensor. Note that “Bank 1” refers to the bank of cylinders that contains cylinder #1, and that “Sensor 2” refers to the oxygen sensor that is located after (downstream of) the catalytic converter(s).

Regardless of the number of oxygen sensors present in a vehicle, each sensor is provided with a dedicated circuit to control the heating of the sensor element. Heating the element electrically brings the sensors into operation much sooner than would have been the case if the sensors were heated by the exhaust stream; by bringing the sensors into operation sooner, emissions are reduced significantly.

On most applications, the electrical resistance of an oxygen sensor will be 8 Ohms (or very close to it), and deviations of 10% of this value will set code P0038 and trigger the CHECK ENGINE light. Input voltages in all oxygen sensor heater control circuits should be equal to battery voltage; deviations of 10% will also set code P0038 and trigger the CHECK ENGINE light. Note that the electrical resistance may differ on some applications- consult the manual on the exact values for the application being worked on.

During normal (closed loop) engine operation, the signal voltage from the #2 oxygen sensor(s) will vary constantly, and in cases where the PCM detects no changes in the sensor signal voltage(s) for a period of about 8 continuous seconds, code P0038 can be set and the CHECK ENGINE light triggered.

Oxygen sensor #2 monitors the functioning of the catalytic converter, whereas sensor #1 monitors fuel/air metering. In practical terms, this means that sensor #1 measures the amount of oxygen in the exhaust stream (as a function of the combustion process) before it enters the catalytic converter, while sensor #2 measures how well the converter(s) copes with cleaning up the exhaust stream.

NOTE: Some Japanese cars, such as Toyota, do not use conventional oxygen sensors. Instead, these applications use AIR/FUEL RATIO sensors that are NOT interchangeable with conventional oxygen sensors. Consult the relevant repair manual for these applications for the correct testing/diagnostic/repair procedures. The image below shows the differences between conventional oxygen sensors and air/fuel sensors.


Note: Circuit High Input codes are mostly caused by defective alternators that develop excessive voltages, although there may be other causes as well, such as short circuits that “leak” current into a particular system from other, unrelated systems that work on higher voltages. Note that in the case of short circuits that leak power into a control circuit, there is likely to be other, seemingly unrelated trouble codes present along with the code(s) being investigated. Diagnosing a “high input” code will always involve a thorough testing of the charging system as a first step, followed by measures to isolate the system from all other possible sources of power during resistance, continuity, and reference voltage tests.

What are the common causes of code P0038 ?

Common causes of code P0038 include the following-

  • Burnt wiring caused by wiring that runs too close to hot exhaust components
  • Short circuits caused by burnt wiring
  • Bad connections caused by corrosion, or impact damage caused by road debris
  • Bad ground connections
  • Blown fuses (where applicable) on the heater control circuit

Note that vacuum leaks that cause unmetered air to enter the engine are more likely to cause Oxygen Sensor Range/Performance issues than high input voltages in the control circuit.

What are the symptoms of code P0038 ?

While the symptoms of code P0038 are much the same on all vehicles, the severity of one or more symptoms may differ from vehicle to vehicle. Typical symptoms include the following-

  • Rich-running condition
  • Lean-running condition
  • Increased fuel consumption
  • Loss of power
  • Rough idling
  • Visible black smoke from the tail pipe
  • Hard starting in some cases
  • Illuminated CHECK ENGINE light
  • Stored trouble code(s)

How do you troubleshoot code P0038 ?

NOTE #1: It should be noted that code P0038 indicates a fault in the oxygen sensors’ heating control circuits, rather than issues with fuel/air metering. In cases where codes relating to fuel/air metering are present along with P0038, these codes must be resolved before starting an electrical diagnosis of code P0038.

NOTE #2: At the risk of overstating the case, code P0038 relates to oxygen sensors that are located after the catalytic converter. To avoid confusion, and prevent testing/replacement of the wrong oxygen sensors, always consult the repair manual to determine the location, color-coding, and routing of the wiring associated with #2 oxygen sensors.

NOTE #3: Check for, and repair all exhaust leaks before starting an electrical diagnosis of code P0038. Exhaust leaks can contaminate the atmospheric air used by oxygen sensors, which contamination can result in inaccurate readings.

Step 1

Record all fault codes and available freeze frame data. This data can be useful in cases where an intermittent fault is diagnosed later on.

Step 2

Perform a thorough visual inspection of all associated wiring and connectors. Look for damaged, shorted, burnt, or broken wiring and connectors. Replace wiring and/or connectors as required, and rescan the system to see if the code returns.

NOTE: On some applications, the input voltage is supplied through a fused circuit. Be sure to check associated fuses during the initial inspection of the wiring.

Step 3

If the code persists, perform reference, continuity, and resistance tests on all associated wiring. Input voltage must be equal to battery voltage (12.6 to 13.8-volts), so be sure to check that the battery is fully charged. Be sure to disconnect the sensor from the PCM before starting continuity checks to prevent damage to the controller.

Pay particular attention to the resistance of the sensor, which should be 8 Ohms, or very close to it. Compare the obtained resistance reading to the value stated in the manual, and replace the sensor if it deviates from the stated value. Remove the sensor from the exhaust system, and be sure to unplug the connector to get the most accurate resistance reading.

NOTE: Be aware that on some applications, the input voltage is supplied by the PCM, and in these cases the input voltage will not be routed through a fuse. On some applications the ground is also supplied by the PCM in Key-On-Engine-Off mode, while on other applications the engine needs to run for a ground to be present. Consult the manual on this point.

Step 4

While the oxygen sensor is removed from the system, inspect the element for signs of discoloration, or the presence of deposits. Some aftermarket fuel and oil additives contain silicone-based compounds that can cause deposits to form on spark plugs and oxygen sensors. Note that oxygen sensors cannot be cleaned to remove deposits; the only reliable remedy is to replace the sensor, and not to use any sort of oil/fuel additives

Step 5

It deposits and discoloration is found, replace the sensor, and retest the system to verify that all voltages/resistances fall within the manufacturers specifications. If all readings check out OK, start the engine and allow the PCM to enter closed loop operation.

If the sensor was replaced and the wiring is in good shape, the code scanner should indicate a reading that falls close to the mid-point between a rich-, and lean running condition. A variation of around 100-, to 200 millivolts to either side of the mid-point is acceptable, but the reading should remain constant if the engine speed does not change.

Changing the engine speed should produce an almost immediate change in the displayed reading; if no change is observed, or there is a significant time lag (more than 5 to 8 seconds or so) before the reading changes, the sensor is defective- assuming of course that there is no damage or corrosion present on the connector.

Check the connector again; if it is in a less-than-perfect condition, repair/replace it, and check the sensors’ operation again. If the fault persists after repairing the connector, replace the sensor if it was not replaced previously after the inspection for discoloration or the presence of deposits.

NOTE: Bear in mind that the overall state of repair of an engine can have significant effects on the performance of oxygen sensors. If there are no electrical issues in the heater control circuit of an oxygen sensor, there is little point in trying to diagnose oxygen sensor related issues if the engine is affected by excessive oil burning, poor combustion, vacuum leaks, exhaust leaks, or other issues that affect the overall performance of the engine and/or exhaust system.

Step 6

At this point, the repair should be complete, but to be sure, clear all codes and test drive the vehicle to see if the code returns. In the unlikely event that the code does return, there may be an intermittent fault present.

Finding and repairing an intermittent fault can be extremely challenging, and in some cases, the fault may have to be allowed to worsen before an accurate and definitive repair can be made.

Codes Related to P0038

P0037 – Relates to Oxygen Sensor Heater Control Circuit Low (Bank 1 Sensor 2)”

BAT Team Discussions for P0038

  • PT cruiser P0038 fault
    Hi The wifes PT Cruiser2004 Non turbo automatic has a P0038 fault Should I replace the sensor ? or is it something else and if I'm not mistaken this is the one after the Cat ? Thanks for your help, Ed...
  • 03 PT Cruiser Turbo CEL Issues
    Spent Saturday afternoon stripping all the tape from the harness junctions everywhere I could reach. Slid the mesh covering back to check the actual harness splice points and to look for damaged wires. I found no issues with the harness. I also pulled all the connectors and checked for corrosion but...
  • 2007 Nisssan Versa
    friend has a 2007 nissan versa 1.8L auto getting trouble codes P0038 and P1148 the first is saying H02S heater control circuit high bank 1 sensor 2 and the P1148 is nissan specific showing closed loop control bank 1 i don't have alot of tech goodies to do better figure just generic scan tool and a b...
  • Intermittent O2 sensor code
    You state you suspect it was the downstream sensor which in my language means B1S2 sensor. Check for heater circuit in conjunction with codes P0037, P0038 and P0141. P0136-139 are for oxygen sensor circuit malfunction, B1S2. Provided are flow charts for those codes if they are to appear. Although...