Oxygen Sensor Simulator

Casper Electronics is selling O2 simulator for OBD2 cars. It is about $40 and I ordered it right away to compare with my simulator. The simulator from Casper is very small, and nice looking with 4 wires coming out of it. I connected to battery and looked at the signal using voltmeter. The signal appeared to be quite similar to signal that 555 timer circuit produced, but appeared more random. It should work. I haven't tried on my car, but looking at the signal, it looks even closer to the real O2 data that I had collected earlier. If square wave signal was enough to fool OBD2 MKIV ECU, this one will fool it too. 




What is O2 sensor simulator?
The OBD-II cars (1996-1998) have the two O2 sensors to measure the amount of oxygen in the exhaust gas. First sensor is measuring it right after gases escape engine and this data is used to adjust fuel trim of the engine, as well as catch some faulty conditions. The second sensor is located after the catalic converter, and is used to detect the health of catalic converter. The ECU expects the signal from the sensor to be oscillating from below 0.4v to above 0.6v, but not above 1.2v, every few seconds when cruising.

If you install the aftermarket downpipe with no cat (which as we all know is purely for off-road applications) the ECU will detect this and indicate the error (MIL). The ECU is quite lazy at detection, and detects this condition approximately during second long trip. You can reset the ECU to clear the error code, but it's very inconvenient, as you don't really know if the error was because of oxygen sensor or some important thing is wrong and needs to be taken care of ASAP. It's also quite annoying.


How to build Your Own Oxygen Sensor Simulator!
The rest of the page shows how to build an oscillating signal generator with just the right frequency and voltage to fool the ECU. It is based on classical astable operating mode of 555 timer, so nothing revolutionary there. However we spent few days of fiddling and testing to get the right behavior.

The parts will cost about $15 - $20 from RadioShack. It's not that hard to build if you have some experience.

Electrical diagram:

R1 100 K Ohm
R2 1 M Ohm
R3 100 K Ohm
R4 10 K Ohm
C1 4.7 uF
C2 22 uF
D1 1.7v@20mA LED
D2 1.7v@20mA LED

Power source Ignition, or to the ECU PIN #1
Ground One of the ground points or ECU PIN #80
OUT ECU PIN #47 (disconnect the O2 sensor wire)

Catalog part numbers from RadioShack stores:
(NOT for their online system)
276-309 5mm wide angle red led 1.7v, 20mA
276-1723 The 555 programmable timer
276-1995A The 8 pin socket for timer chip. It makes soldering safer and replacement easier
276-150A Generic PC board
64-3052A Pack of blue tap-in connectors
278-1225 Stranded wires (black, red and green)
270-1801 Small black plastic project box 3 x 2 x 1
272-1024 Capacitor, 4.7uF
272-1026 Capacitor, 22uF


Additional notes:
If you use different flavors of 555 timer chip or LEDs with different parameters you will need to readjust the values of R4 and R2 to get the interval and output voltage right.

Don't attach it directly to the ECU right after assembly. Instead attach it to the battery and check the output. You should get approximately 0v/0.7v flipping about every 3.3 seconds when the car is not running, and 0v/0.9v when the car is running. The current should stay below 10mA.

One LED should be always on whenever the power is supplied. Another LED indicates when the output signal is high, so it should go on and off with the signal.

When tapping the ECU wires, triple check everything before hooking up the oscillator. The power source should read 0v when the key is removed, about 12.6v when they key is at ACC and about 14.3 when the alternator is running. The resistance between ground wire and the body shield of the ECU should be 0 ohms. And it would be best if you run the car and monitor the voltage of the original oxygen sensor wire before cutting it to make sure you have indeed got the right one. The resistance between ECU PIN #47 and ground is about 1.3 to 1.6 M Ohm.

The original sensor should still be dangling around, or plugged into the downpipe. The reason is that ECU also monitors the resistance of heater circuit inside the sensor. If you want to COMPELTELY disconnect it, you will need to measure the resistance of the heater circuit and install the right resistor between ECU PIN #72 and ECU PIN #31 Anyway, there is no need to do it if you just leave O2 sensor alone and only intercept the oxygen signal wire.

Above testing and precautions will prevent you from frying the ECU and spending major $$$$. Anyway, I assume no responsibility if you still manage to do so.

Thanks to:

Mohd A, providing documentation
Nick P, running the www.mkiv.com list,
Oolan Zimmer, encouraging (and testing)
Steve V., RadioShack part numbers
Tovar Millhollin, testing the prototype

Any Feedback is welcome!