Warning: Creating default object from empty value in /home1/mkivcom/public_html/wp-includes/nav-menu-template.php on line 341

Oxygen sensor simulator (for 96-98)

Oxygen Sensor

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
PIN #47
(disconnect the O2 sensor wire)

Catalog part numbers from RadioShack stores:
(NOT for their online

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

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
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
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
Millhollin, testing the prototype

Feedback is welcome!



Fatal error: Uncaught Error: Call to a member function populated_children() on null in /home1/mkivcom/public_html/wp-includes/class-wp-comment-query.php:1035 Stack trace: #0 /home1/mkivcom/public_html/wp-includes/class-wp-comment-query.php(468): WP_Comment_Query->fill_descendants(Array) #1 /home1/mkivcom/public_html/wp-includes/class-wp-comment-query.php(357): WP_Comment_Query->get_comments() #2 /home1/mkivcom/public_html/wp-includes/class-wp-comment-query.php(311): WP_Comment_Query->query(Array) #3 /home1/mkivcom/public_html/wp-includes/comment-template.php(1409): WP_Comment_Query->__construct(Array) #4 /home1/mkivcom/public_html/wp-content/themes/eCars/page-template-full.php(19): comments_template('/comments.php', true) #5 /home1/mkivcom/public_html/wp-includes/template-loader.php(74): include('/home1/mkivcom/...') #6 /home1/mkivcom/public_html/wp-blog-header.php(19): require_once('/home1/mkivcom/...') #7 /home1/mkivcom/public_html/index.php(17): require('/home1/mkivcom/...') #8 {main} thrown in /home1/mkivcom/public_html/wp-includes/class-wp-comment-query.php on line 1035