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:
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: