E46 Fanatics Forum banner

DIY: Pre-cat Oxygen Sensor

148K views 94 replies 61 participants last post by  gnesda 
#1 · (Edited)
I couldn't find any good DIY for this job, so I figure I'll post my own. It's not terribly difficult. I estimate that it should take the average person about 1 hour to do.

First a little background: my car was very hard to start yesterday, which hasn't really happened before. After starting the engine, it ran very badly for a few seconds, clearly misfiring repeatedly, and then it stalled. It did this twice, and finally after the third start, ran normally.

My Peake code reader displayed the following codes:

Pre-cat oxygen sensor voltage, Cyl #4-6
Pre-cat oxygen sensor heater circuit, Cyl #4-6

Plus a few random "Misfire detected" codes.

So clearly, the second bank pre-cat O2 sensor had died. For what it's worth, my car is a 2001 325Ci with 77,000 miles.

More background: your E46 has four oxygen sensors (also called "Lambda probes"). They are all plugged into the exhaust, and assist the car's computer by constantly running a kind of "urinalysis" on the engine; they measure the chemicals in the exhaust, thereby giving the computer information on how the combustion process is going. This is good, because it aids in efficient running (power, gas mileage) and can help diagnose other problems if the car is running poorly.

But oxygen sensors often fail before the other components, and because they're expensive (~$150US), usually aren't changed until they fail, unlike cheap things like spark plugs which get changed every so often no matter what. Worse, when they fail, they throw OBD codes but don't always throw a "check engine light." So it can start going bad and make the car run like crap before you really notice it (poor gas mileage, for example). Even worse, if the sensor is giving bad data to the computer, then the computer may try to compensate by changing mixture or timing, which can cause other problems like fouling plugs or destroying catalytic converters, when nothing was really wrong in the first place!

Oxygen sensors also need to be running at a specific temperature before they give correct readings, so they have built-in heaters. It seems like my sensor-heater failed, so the oxygen sensor was giving wildly bad data to the computer while the car was cold, causing the misfires and stalling.

Two of the sensors are plugged into the exhaust manifold, before the catalytic converter, and are thus called the "pre-cat" sensors. There are two more in the exhaust pipe behind the catalytic converter, and those are the "post-cat" sensors. This DIY is for the second bank pre-cat sensor. The first bank sensors measure cylinders 1 to 3, while the second bank measures cylinders 4 to 6.

You're going to need a special tool to remove the oxygen sensor. It's available at any car parts store, and usually costs between $10 and $20US. It is universal in size, so it's not peculiar to your BMW. It looks like a spark-plug socket, with a long slit in the side:



The only other tools required are: a torque wrench, a ratchet wrench with a long extension, a 10mm socket, a T25 Torx bit, a small flat-head screwdriver, and two cups of hot cocoa (it's cold out).

The exhaust (and thus the oxygen sensors) is on the right side of the vehicle (left side, looking from the front of the car).



The oxygen sensors look like long chrome spark plugs, with thick black cables coming out the back.



We'll have to start by removing the cabin air filter housing, the wiring bracket, and the engine covers. First, unscrew the top of the cabin air filter housing. There are three knobs that you give a half-turn with your hand. The lid lifts off easily then:



Pull out the filter:

 
See less See more
5
#85 ·
Got around to replacing my pre-cat O2 sensors today with Bosch #13477 as preventative maintenance, courtesy of this thread, and wow - the new sensors in comparison to the old ones (which could quite possibly be over 150K miles old) are truly night and day. I was able to get away with using slightly smaller socket extensions (3***8221; and 6***8221; put together), but of course everyone's mileage may vary. Upon finishing the DIY, I was only able to drive about 10 or so miles but I***8217;ve already noticed much better lower-end torque and a smoother idle (and it was already pretty good before replacing the O2 sensors in the first place). I***8217;m sure the long-term effects will give me better gas mileage, as well as other improvements. Thanks for this, still a very helpful thread even after 7 or so years later.
 
#86 ·
Thanks very much for the DIY...finished mine off this morning...will have to see what the impact is on fuel economy.

Here's a pic of my old ones and a new one.

For better access to the front sensor I recommend unbolting the Air Pump and moving it forward out of the way (someone else mentioned this). You can see from the picture how much room that gives you.

For anyone who is waiting to do this because of the high cost check out this link at Amazon.com. They are selling Bosch O2 sensors with the correct OEM length and plug for only $49 - no excuses.

http://www.amazon.com/Bosch-13477-Oxygen-Sensor-Fitment/dp/B000GZEK00/
 

Attachments

#92 · (Edited)
I just did both pre-cats, and it was very straight forward. I only removed the air pump PLUS the bracket from the shock tower. Did not have to remove the cabin air filter, engine cover etc.

The front sensor was super easy, the rear one a little harder to get to. I bought a crow's foot wrench, which worked, but if I had it to do over again I would probably get the socket style.
 
#93 ·
Does the 13477 work for both pre and post-cat? I know it works pre-cat.

Any reason to do the post-cats if my car is not having a problem failing emission inspection? I read earlier they are mainly for emissions, but then others are writing they got some codes thrown until they replaced all four.

Are the post-cat ones as easy as the pre-cat? Anyone have a link to a DIY? I think this was asked a couple of times.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top