DIY: Do It Yourself
Post here to share or improve your wrench turning skills! All BMW E46 DIY tips, tales, and projects discussed inside. Learn to work on your car and know the right BMW parts you will need!
||Thread Tools||Search this Thread||Rating:||Display Modes|
|05-21-2008, 09:28 PM||#1|
Join Date: Feb 2006
Location: London UK
My Ride: BMW 335i 2007 Coupe
De-mystifying DIY OBDII fault code reading and clearing.
De-mystifying DIY OBDII fault code reading
1) Pre requisites - You will need:
a) a Standard Laptop with a USB port (mine's Windows XP, other OS are fine, see Scantool website, download link below).
b) ELM 327 OBD2 CAN-BUS USB Fault code reader
(Search ebay for "ELM327" for results like the one below):
Mine came with Scantool software (follow the instructions on the CD's readme.txt to install).
Scantool can also be downloaded free from:
This guide will show you how to use Scantool, although similar software is probably just as easy to use.
2) Locate your ODB socket cover (here on a UK RHD 2001 325Ci)
Place your finger where the red dot is and flick the flap down to reveal your OBD2 socket.
You'll note from the insert that the plug is keyed (squared off corners at one end). This is the way to insert your plug.
With laptop running and ignition off, connect ELM 327 to laptop and car.
3) Turn key to make ignition live and start Scantool software.
Scantool will detect the car (You will see lights flicker on the ELM 327 box indicating communication).
The main menu then comes up like this:
4) Click on "Read Codes". "MIL is ON" indicates your engine light is notifying you of a fault.
Your OBD2 Fault Code will be displayed.
You can look up more info about your fault here:
In my case it was "P0420 Catalyst System Efficiency Below Threshold (Bank 1)".
(I suspect the problem may be the bank 1 post-cat O2 lambda sensor, as the car has since passed an MOT with emission test, so the cats must be doing their job).
5) Having made a note of of your Diagnostic Trouble Code and definition, Click on "Clear" to clear the fault.
Click "Yes" on the confirmation screen.
Your MIL (engine fault light) is now OFF, you no longer have any DTCs (Fault codes).
6) Start the engine, confirming this is true. Click on "Main Menu"
7) With the engine running, click on "Sensor Data".
You will notice "Fuel System Status" at the bottom of the page
It will stay "Open Loop" for a few minutes while the engine / sensors warm up.
In the "Open Loop" state, the sensors / emission controls are not yet working.
You'll also notice the high RPM when idling during warming up.
In a few moments when the engine / sensors have warmed up the "Fuel System Status" will go "Closed Loop".
This indicates the O2 lambda sensors are now operating.
If your MIL (Fault light) hasn't come back on then all seems well.
Clicking "Next" through to page 3 displays readings from your O2 lambda sensors.
There are several other pages giving more information including engine temp and air temp.
You can now switch off the ignition and disconnect the ELM 327. It takes a few minutes and you're done.
There is lots of conflicting information regarding how to interpret O2 sensor readings.
I found this site most informative:
(Disclaimer: I make no guarantees about this process, just that it works for me.)