P0420 Oxygen Sensor Simulator Hack




Here's how to diagnose and hack around the P0420 Inefficient catalytic converter code on a Honda.

DIY video:


Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Oxygen Sensor Basics

The catalytic converter's performance is measured by the secondary Oxygen sensor.

If the output is less than 95% it throws the P0420 code. Graphing the output on an OBDII scanner shows an erratic curve with varying amplitude and frequency.

Step 2: RC Circuit Basics

To smoothen out the curve, an RC low pass filter circuit is used.

An RC circuit is a filter that will slowly charge and discharge giving us a curve that the computer will accept without throwing an engine code.

The time constant governs the smoothness and recovery of the output relative to the input.

Superimposing the O2 output and RC filter gives a nice smooth curve.

Step 3: Wiring Diagram

Here's the wiring diagram for the RC circuit in the Honda Accord. The values are starting points and not necessarily optimized.

Step 4: Oxygen Sensor Output - Before

Notice how the curve is erratic and the amplitude range is between 0.1V and 0.9V.

Step 5: Oxygen Sensor Wiring

The O2 plug is located under the seat. The white and blue wires were spliced into to wire in the resistor and capacitor.

Everything is soldered together and insulated with tape.

Step 6: Oxygen Sensor Output - After

Notice how much smoother the curve is and the amplitude isn't as large.

Step 7: Passed an Emissions Test

After driving 40 km, all of the monitors in the computer except for one read "ready", and the vehicle passed an emissions test! No more P0420 code.

Note: if you get another code for an O2 sensor frozen, its because the resistance and capacitance values were not optimized to match the curve.

The computer uses the readings from the narrow band oxygen sensor before the catalytic converter and the secondary sensor to determine if the cat is working properly.

Be the First to Share


    • Furniture Contest

      Furniture Contest
    • Reuse Contest

      Reuse Contest
    • Hot Glue Speed Challenge

      Hot Glue Speed Challenge

    7 Discussions


    2 months ago

    In August 2019, worked on a 2003 Chevy Blazer on the downstream (behind the catalytic converter) oxygen sensor after the catalytic converter was completely gutted. Purely for experimental reasons of course, and the converter was replaced with a new working one shortly thereafter. Used the same resistor and capacitor values as above.


    Question 7 months ago on Step 5

    Hi there
    I have a 1uf 50v capacitor, will it work?


    Question 7 months ago on Step 5

    I have a 1uf 50v capacitor will it work?
    Or is there a special one i should get?


    7 months ago

    My son has a 2003 Saab 9-5. The two O2 Sensors mirror each other (sinusoidal trace from 0.2 to 0.8v), so I installed the RC circuit above (1M ohm, 1uF) on the downstream sensor and it worked as described (slight fluctuations around .75v). But the Upstream sensor suddenly only reads 0.2v steady and it throws a code on the upstream sensor. When I remove the RC circuit it springs back to the sine wave from 0.2 to 0 8v, as does the downstream sensor. Any idea on why the two sensors are "talking" to each other?


    7 months ago

    What I find extremely unsatisfying is that the downstream O2 sensor is there specifically to check the catalyst system. If the catalyst system monitor wasn't ready, this fix didn't definitely do anything.

    However, I admit it should work, it's just matter of getting a "time constant" that fixes a weak catalyst but doesn't trip a bad O2 sensor code.


    2 years ago


    Great work!
    I am planning to do that on my Mitsubishi Outlander XLS 2007 but I am not sure which sensor exactly is causing the problem.
    Is it for sure the one attached to the catalyst?
    I've attached pictures from my OB2 scanner at Low RPM and at 2000 RPM.

    Thank you!! :)

    Low RPM.png2000 RPM.png