P0030 Code: HO2S Heater Control Circuit (Bank 1 Sensor 1)
The P0030 code means the circuit that controls the heater of the upstream oxygen sensor on bank 1 is not responding as the computer expects. It is the general code for that circuit, and its sister codes P0031 and P0032 say whether the voltage is low or high. It is almost always the internal heater element or a fuse.
- Severity
- Medium
- 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 P0030 code means
An oxygen sensor must get above roughly 300 °C (about 570 °F) to give a useful signal. So it does not depend on exhaust heat alone, which would take minutes, it has a built-in heater element that the computer powers and monitors.
The P0030 code is the general code for that control circuit. It says something is not working as it should without saying whether the voltage is too high or too low, which is what P0032 and P0031 spell out.
That hierarchy has a practical use. If P0030 appears alone, the system detected a problem it could not classify and you need to measure the whole circuit. If it appears together with one of the other two, start with the specific one, which narrows things down much more.
The effect on driveability is limited: the engine starts and runs normally. What you lose is closed loop time, so fuel use goes up on short trips, and the chance to pass an emissions test, because the related monitor never completes.
It is worth understanding why this heater draws a lot of current right after startup and very little afterward. The computer applies full power during the first seconds, when the sensor is cold and the exhaust is not yet hot, and gradually reduces it as the exhaust gases do the work. Measuring current thirty seconds after startup can give a low value that looks like a fault and is not. It is normal system management.
A practical note on verifying the repair: after you replace the sensor, check how long the engine takes to enter closed loop, and do not just clear the code. If the heater works, that step should happen in under two minutes from a cold start. If it still takes five minutes or more, the circuit is still not powering the heater properly even though the P0030 code has not come back yet.
P0030 code symptoms
- Check engine light on.
- Higher fuel use on short trips than on the highway.
- The engine takes several minutes to enter closed loop.
- Slightly rough idle during the first minutes.
- The oxygen sensor monitor does not reach ready status.
- Failed emissions test.
- A P0031 or P0032 may be stored too.
- The engine still takes several minutes to enter closed loop after the sensor has been replaced.
Likely causes of the P0030 code
- Sensor heater element open from age. The most frequent cause.
- Blown fuse in the heater circuit.
- Power relay with worn contacts.
- Corroded connector or one with moisture.
- Wiring damaged by exhaust heat.
- Control wire shorted to ground.
- Poor ground in the circuit.
- Universal sensor with poorly made splices.
- Failed output driver in the computer. The last possibility.
How to diagnose the P0030 code step by step
- Check whether heater codes are stored for other sensors. Several at once point to the fuse or to a shared power supply.
- Check the circuit fuse before you remove anything.
- Measure the heater resistance with the connector unplugged. An infinite reading confirms the element is open.
- Verify the 12 volt supply with the key on.
- Measure the real circuit current with a clamp ammeter. A correct resistance with weak power sets the same code.
- Rule out a short to ground on the control wire with the computer connector unplugged.
- Inspect the connector and harness, which are exposed to a lot of heat.
- Check how long the engine takes to enter closed loop. More than two minutes means the heater is not working.
- Time the closed loop entry after the repair. More than two minutes from a cold start means the heater is still not working.
How to fix the P0030 code
- Replace the oxygen sensor when the heater resistance is open.
- Replace the fuse and find out why it blew before you close the job.
- Replace the relay if its contacts are worn.
- Repair damaged wiring with solder and heat-resistant sleeving.
- Clean or replace the connector and protect it with dielectric grease.
- Restore the circuit ground down to bare metal.
- Avoid universal sensors that need splicing, because the added resistance can bring the P0030 code back.
- Verify the repair by timing the closed loop entry, not just by checking that the code does not return right away.
Apply anti-seize to the threads when you install the sensor, and work with the exhaust warm so the sensor does not snap off inside the pipe.
Technical reference data
- Typical cold heater resistance: 2 to 14 ohms depending on the manufacturer.
- Current in the first seconds: 0.8 to 2 amps, dropping as the sensor warms up.
- Time to operating temperature: 20 to 30 seconds.
- Time to enter closed loop with a healthy system: 30 seconds to 2 minutes.
- P0031 means low voltage and P0032 means high voltage on the same circuit.
- Usual sensor torque: 40 to 50 N·m (about 30 to 37 lb-ft).
- With a working heater, closed loop should be reached in under two minutes from a cold start.
Brand-specific notes
When the P0030 code shows up together with heater codes for other sensors, stop suspecting the individual sensors. It is very unlikely that several heater elements fail at once. A fuse, a relay or a shared power supply is the likely cause.
Measure current, not just resistance. A circuit with the resistance within specification but weak power sets exactly this code, and an ohmmeter would pass it as good.
Questions about the P0030 code
There are no questions about this code yet. Tell us about your case: vehicle, symptoms and what you have already checked.