E46 Fanatics Forum banner

O2 Sensor and Heater Circuit Monitors Not Setting

1 reading
5.8K views 20 replies 6 participants last post by  arcana  
#1 ·
Hey everyone,

Ok, so after reading several threads trying to understand why my monitors aren't setting, I decided to post this thread for additional support. I have replaced both precat O2 sensors within the last month. I have a 2006 330cic ZHP that uses the Wideband precat O2 sensors. I have been having trouble interpreting the functionality of my O2 sensors due to majority of the threads and subsequent OBD Fusion logs utilizing narrowband O2 sensors. I will post links to my logs below.

I have recently learned that the Wideband O2 sensors read opposite of narrowband in that low voltage (~0.85 - 1.1ish) indicates a rich condition and high voltage (>1.8) indicates a lean condition. The tricky part for me is that my cold starts and cruise logs do not have the same kind of oscillation that I see in other graphs. My cold starts do not have the classic dip into lean condition then constant oscillation between lean and rich like others report. Mine pretty much stay rich the whole time with minor oscillations between 0.8ish to 1.2ish. The only time I will get a lean oscillation up to 1.99 is when I am off the throttle and engine braking while in gear resulting in no extra fuel but more air entering intake. Is this normal for wideband O2 sensors?

Also, I have oscillations in my post-cat O2 sensors of 0.3ish to 0.7ish. Is this normal? I was under the impression that it should be tight band of around 0.42 - 0.45ish to reflect proper lambda AFR. My catalyst monitor has set and does so very quickly within the drive cycle. This indicates my post-cat O2 sensors are working correctly, right? I am wondering if there is any chance that lazy post-cat O2 sensors would cause my O2 sensor and heater circuit monitors to not set? Additionally, do the post-cat O2 sensors affect fuel trims at all? I thought they did not, but I have recently read somewhere that they do have some impact on fuel trims. Anyone have input on this?

While I am thoroughly enjoying my top down evening cruises trying to get the monitors to set, I would really like to get my car smogged as I am way overdue for it! Should I just keep doing more drive cycles being very strict during drive cycles and all driving to stay within limits / parameters of the bmw drive cycle to ensure every drive is helping the monitors?

Thanks for the help everyone!

+ arcana +
 
#2 ·
Which monitors aren't setting?
I'm assuming you have the BMW drive cycles
for MS45.1.

I'm not going to be much help with BMW in particular,
but I have a bit of wideband experience.

The wideband is a 'shaped' signal- there's a significant
bunch of electrochemistry going on to get the thing to
indicate the range that it does. And then electronics to regulate and control
that process. I recall a 'charge pump' feeding a 'Nernst cell'- but it's been a while.

So wideband sensor output voltage is designed to be pretty close
to linear from 10:1 (0 v) to 20:1 (5v)
The tiny 'jitters' around 14.7 are no longer needed, as the car knows
that (made- up numbers as an example)
2.3v is 14:1, 2.35 is 14.25, 2.4 is 14.5, 2.45 is 14.75, and 2.5 is 15:1.
So it can make very small fuelling corrections and look for very
small A/F ratio responses.

The narrowband system can't do that- it has to jump from one side
of 14.7 to the other occasionally, because it doesn't get a linear sensor
response from a linear fuelling change. In other words, it never really
knows for sure how FAR lean or how FAR rich it's gone, so it interpolates
that from figuring out how far it has to go BACK to get the narrowband to
switch states. And it really is just looking for the 'switch' from low
to high and back again.

I don't know why you're getting 1v readings on a wideband- that would indicate
to me that the car is running pretty darned rich at 12:1 or so. It's quite possible
that your software isn't reading the actual output voltage of the sensors.
What you OUGHT to see is both sensors settling into a 2.3v (ish) band at
controlled driving around, way lean (4.5v ish) on engine braking,
and maybe 2.1- 2.2 under heavy acceleration. But again, your software
may not be reporting real voltages. Or the car may not be.
I use several aftermarket gauges, and after some initial fiddling, use
the voltage> A/F tables in them, so I'm not super- familiar with what the
absolute voltages indicate.

As to the post- cats, they're narrowband, so you'd expect them to
move rapidly between low and high states, kind of like they are.
'Lazy' doesn't seem to matter much on narrowband cars-
again, with MS45.1, things may be different, as the input to the cats
can be much more precisely monitored in a non- Lambda state.
In other words, the car knows how rich or how lean the exhaust in the
manifold is.

All this to say- hell, I dunno.

t
 
#4 ·
Which monitors aren't setting?
I'm assuming you have the BMW drive cycles
for MS45.1.
The total monitors that are not setting include the Secondary Air Pump, O2 sensor and the O2 heater circuit monitors. Both Precat O2 sensors have been replaced in the last month.

I do not have the drive cycles for the MS45.1 DME. I did not know that it was different. I am learning just how unique the 2006 ZHP really is. lol... Any recommendations or links to the drive cycle? I will start searching as well.
 
#3 ·
@TobyB hahahaha... Thanks for your reply!

Very interesting regarding the values that my precats should be at. I forgot to upload some of my logs to demonstrate my values. yeah, the highest mine go to are 1.99 with deceleration. and they hover around the 1.0ish range. Very weird. I have another thread going regarding my SAP monitor not setting either and Bali mentioned that my DME might have a tune on it. I have INPA and am trying to get it to read out in English so that I can check the version that it is.

it is interesting though because I am not getting any rich codes and my fuel trims are rarely in the negative. I had another MAF on and it was actually reading out lean pending codes on both banks. I have a newer used one now that seems to be better and have not had any codes or pending codes pop up now since monday with 3 drives per day since then.

here are my logs with datazap. Select the PIDs below the graph. to zoom in click and highlight the area you're interested in and it will zoom in for you.

Cold Start with Original MAF that was underreporting
Highway Cruise at 52mph Log
Mild Cruise with Warm Idle at end Log
 
#6 ·
To drag something over from your other thread,
something's not right with the DME. O2 heater current
is a very basic 'how much voltage do I see at this point in the circuit'
function.

oh, damn, datazap is a time suck! that's really useful...

Yeah, you have a lazy postcat sensor- I can't imagine that...

oh. I wonder if your postcat sensor is causing the heater code.

Everything else kinda made sense, except the scale on the precats..

So looking at just the o2's, I think you have a postcat sensor problem.
They don't heat up fast enough, one is lazy, and in the data chart with the
idle at the end of it, there's no reading from them at all.
I don't know 45.1 a-tall, but even MS43 would get a little grumpy about that.
Making the crass assumption that 45.1 pays more attention to emissions,
those postcat readings would count as 'not responding like I'd expect them to'.

Up side- they're not expensive.
Down side- they're a bugger to get to, and if one's going to get stuck, it's going
to be the least- accessible of the 2.

That's my guess. Over the internet!

t
now in love with datazap. Off to get married!
 
#7 ·
To drag something over from your other thread,
something's not right with the DME. O2 heater current
is a very basic 'how much voltage do I see at this point in the circuit'
function.

oh, damn, datazap is a time suck! that's really useful...

Yeah, you have a lazy postcat sensor- I can't imagine that...

oh. I wonder if your postcat sensor is causing the heater code.

Everything else kinda made sense, except the scale on the precats..

So looking at just the o2's, I think you have a postcat sensor problem.
They don't heat up fast enough, one is lazy, and in the data chart with the
idle at the end of it, there's no reading from them at all.
I don't know 45.1 a-tall, but even MS43 would get a little grumpy about that.
Making the crass assumption that 45.1 pays more attention to emissions,
those postcat readings would count as 'not responding like I'd expect them to'.

Up side- they're not expensive.
Down side- they're a bugger to get to, and if one's going to get stuck, it's going
to be the least- accessible of the 2.

That's my guess. Over the internet!

t
now in love with datazap. Off to get married!
Hahahaha!!!! Oh my gosh that’s so funny! Yeah since I found it I have also fell in love. It is free to use once you register. It keeps track of all of your logs too. You can also upload a link to the log as well, for example a YouTube link of a video of you driving/testing/racing that accompanies it. Pretty sweet!

Very interesting take on the postcat analysis. I was beginning to think the same thing last night. I was on INPA and could verify that my precat heaters were actively on, but the postcat heaters were not. I was able to manually turn them on, but when I returned them to DME control they turned off.

I also read in another thread this morning that the dme reads all 4 O2s for functionality and heater circuit functions, so it seems that if one of four is off then the monitors don’t get set. Yaaaaayyyy! More money! Lol… at least the post cat ones are less expensive.
 
#10 ·
Anyone leaning towards or support the finding that my post-cat o2 sensors are lazy/old and recommend replacing them?

Can you tell me what you make of my MAF readings as well?

Thanks everyone!
Pre-cat O2 sensors look normal.
Post cat sensors: not efficient -- too lean and not hot enough as could be seen as they dropped lower when car slowed down to idling. Should be around 0.7v - 0.8v.
SAP: DME never commanded to run the SAP -- should switched from 0 to 1 (sap on), then to 4 (sap off).
 
  • Like
Reactions: arcana
#9 ·
Hey everyone,

Ok, so after reading several threads trying to understand why my monitors aren't setting, I decided to post this thread for additional support. I have replaced both precat O2 sensors within the last month. I have a 2006 330cic ZHP that uses the Wideband precat O2 sensors. I have been having trouble interpreting the functionality of my O2 sensors due to majority of the threads and subsequent OBD Fusion logs utilizing narrowband O2 sensors. I will post links to my logs below.

I have recently learned that the Wideband O2 sensors read opposite of narrowband in that low voltage (~0.85 - 1.1ish) indicates a rich condition and high voltage (>1.8) indicates a lean condition. The tricky part for me is that my cold starts and cruise logs do not have the same kind of oscillation that I see in other graphs. My cold starts do not have the classic dip into lean condition then constant oscillation between lean and rich like others report. Mine pretty much stay rich the whole time with minor oscillations between 0.8ish to 1.2ish. The only time I will get a lean oscillation up to 1.99 is when I am off the throttle and engine braking while in gear resulting in no extra fuel but more air entering intake. Is this normal for wideband O2 sensors?

Also, I have oscillations in my post-cat O2 sensors of 0.3ish to 0.7ish. Is this normal? I was under the impression that it should be tight band of around 0.42 - 0.45ish to reflect proper lambda AFR. My catalyst monitor has set and does so very quickly within the drive cycle. This indicates my post-cat O2 sensors are working correctly, right? I am wondering if there is any chance that lazy post-cat O2 sensors would cause my O2 sensor and heater circuit monitors to not set? Additionally, do the post-cat O2 sensors affect fuel trims at all? I thought they did not, but I have recently read somewhere that they do have some impact on fuel trims. Anyone have input on this?

While I am thoroughly enjoying my top down evening cruises trying to get the monitors to set, I would really like to get my car smogged as I am way overdue for it! Should I just keep doing more drive cycles being very strict during drive cycles and all driving to stay within limits / parameters of the bmw drive cycle to ensure every drive is helping the monitors?

Thanks for the help everyone!

+ arcana +
Focus on whether your SAP is actually running or not. It was 84 on the day mine finally worked.
For 2 weeks I did various things. The SAP pump would not always come on, but several days it did... for varying short lengths of time 10sec-ish. it was 110-120 every morning before I was even awake. I did the BMW drive cycle again one day & was careful to hold it at 55 per the BMW profile. That same day Kaboom checked his SAP and we found out his was staying on much longer (over 30 sec), so I had something to compare it to. Lucky for me .. that night it rained when I woke up it was 84.

I went out & tried it. The SAP came on .. and it completed.

One other point ( I may have mentioned this already) if you exceed 3000 RPM even once the drive cycle profiling ends. (That came from MrMcar .. MrMcar is usually correct).
There is one thing we may have missed mentioning .. I am pretty sure the SAP will only run on the first start of the day. I'm not sure why, but all 3 of our BMW ... Once a day on first start.
 
#15 ·
Don't know why it didn't pop the post cat code.
Check the voltage between the 2 heater wires for each sensor:
4-wire cable: red/white: 12v; Brow should be 0v or switching 12v and 0v, and if it's 12v constant then check at DME connector x60002 pin12. Do the same on both sensors.
 
  • Like
Reactions: arcana
#17 ·
Hey everyone! Time for an update. It’s been a while since my last post. It took longer than I anticipated to get new rear O2 sensors.

I replaced them last night and finally have functioning o2 sensors! Woohoo!!! My logs look great with oscillations between 0.1 -0.9 volts as expected and stay 0.7-0.8v at warm idle and highway cruise.

So my question now is, do I need to clear my obd codes, even if I don’t have any, in order to restart the O2 sensor and heater circuit monitors test process?

The only monitors not setting are my O2 sensor and heater circuit monitors and my secondary air monitor. I’m pretty sure I have a DME tune on my car at this point, because every time I cold start the car under proper conditions the secondary air status goes straight to 4 indicating the pump is turned off. I have verified that it works properly by manual activating with INPA. I thought this would actually set the readiness monitor for me, but alas it did not.

Anyone know how to verify if my DME has a tune on it? I checked through WinKFP and my version is 7561538. WinKFP says this is also the updated version. Any thoughts?

Thanks!
 
#18 · (Edited by Moderator)
Hey everyone! Time for an update. It’s been a while since my last post. It took longer than I anticipated to get new rear O2 sensors.

I replaced them last night and finally have functioning o2 sensors! Woohoo!!! My logs look great with oscillations between 0.1 -0.9 volts as expected and stay 0.7-0.8v at warm idle and highway cruise.

So my question now is, do I need to clear my obd codes, even if I don’t have any, in order to restart the O2 sensor and heater circuit monitors test process?

The only monitors not setting are my O2 sensor and heater circuit monitors and my secondary air monitor. I’m pretty sure I have a DME tune on my car at this point, because every time I cold start the car under proper conditions the secondary air status goes straight to 4 indicating the pump is turned off. I have verified that it works properly by manual activating with INPA. I thought this would actually set the readiness monitor for me, but alas it did not.

Anyone know how to verify if my DME has a tune on it? I checked through WinKFP and my version is 7561538. WinKFP says this is also the updated version. Any thoughts?

Thanks!
Hello Arcana

Regarding Emissions Readiness
There may be some who disagree with me .. but I would not clear your codes just yet. Two things I learned about can slow you down; The first is clearing your OBD data after every fail. When you visit "the smog man", he plugs into your OBD. It is your OBD that keeps track of your "smog factor" . The smog man just reads the output of the "process" that does that. PID actuall stands for Process ID. There are a bunch of processes (they should be called specialized programs). There is a certain PID(s) for monitoring stuff related to exhaust. There may be more than one .. but I tested till I became pretty sure "Mode $06" is the main process for that and it collects up data every time you drive. If you reset all the "good data" is gone as well as the bad...so all that data has to be rebuilt. You may see the little yellow triangle (if you are using the Fanatic favorite "OBD Fusion" ). as your smart phone/ OBD app. That triangle means "not ready for testing".

There's a simple, standard drive cycle (you likely know about) which delivers most of what Mode $06 PID needs to declare "ready for testing". The 3 "hard things" (which when tended to) often accelerate your test progress.
Here's what worked for me (I should say us because i had E46 helpers).
-1.) I didn't clear my codes. Every prior day I ran that stinking test I cleared my code after I failed
-2. ) Confirm SAP comes on 1st start in the morning.) Mode $06 is watching your o2 sensors. and wants to see that SAP air blowing past your sensors. The SAP has no sensor of any kind so the DME watches the O2. What can go wrong: If the air temp is over 90 degrees .. the SAP may not run long enough to make the DME happy (I figured this out with the aid of Kaboom who had an 85 degree morning . His SAP ran about 90 seconds. The same morning my SAP (118 that morning) ran 9 seconds .. not enough. It rained after about 3 mornings of fail. That morning my SAP ran about 30 seconds .. then my Pid changed to "ready" as I watched.
- 3.) Run a BMW drive cycle. What can go wrong=> If you go over 3000 RPM the test is over. Use the Cruise control, and hold that RPM to about 2500-2700. What else can go wrong? => you run low on gas and be forced to get gas .. but when you stop the car for gas ... the test is over. You have to start again. You don't need a full tank. I did mine on 1/2 tank and used only 1/8.
-4.) Know what the Red "X" and Green "check" mean .. What can go wrong=> you might think all the red "X" on the page will turn green when all is OK. NOPE. This fooled me (as a rookie) for a long time. On the "monitors" page under the "mode$06" at the top, a green Check means the item is "monitor-able". Therefore a result can be presented in the next column to the right.
Image

For instance: AC refrigerant cannot be tested (column to right can only remain Red X). The Catalyst has a green check mark .. and so does have a sensor and the ability to be reported. (column to the right can be green or red).
-5.) EVAP This is a test your car randomly does to test for Gas fume leaks What can go wrong=>This is a useful test.. but it is not part of emissions readiness test (laughing). Nice they let you know that isn't it!! It is useful to know EVAP has its own little light on the instrument panel, and it runs when it wants.
What else can help ? Drbobme1, (also another fanatic) suggested I use premium gas while trying to get emission ready. The E10 % in regular gas apparently changes the O2 readings to your benefit . I'm pretty certain that helped. I put 1/2 tank in just before my successful run.

I do hope this helps. - OurManDan -
 
#19 · (Edited)
@OURMANDAN thank you so much for your help!

Yes, I do use OBD Fusion, every. Damn. Drive. Lol… I’m like addicted to my dashboard data lol…

I have done the drive cycle many many times. Like you said, I’ve been reluctant to clear codes again because it does erase all drive data, the bad and the good.

If I’m hearing you right though, it sounds like you are saying that as long as the DME is collecting good data, as noted in Mode $06, then it is possible to pass smog even if the monitors are not checked to “ready/complete” on the right column. Is this what you are saying?

I have no check engine light or codes present at all. I guess I should just go and actually take the smog test and see what happens tomorrow regardless of what OBD Fusion tells me. It’s free if I don’t pass, so nothing to lose but time and much to gain, even if it’s only more data.

The piece that has been confusing for me is why I am not getting any engine codes for my SAP system and for my oxygen sensors. As mentioned, I have a 2006 with ms45.1 DME which means my SAP has the MAF sensor for running detection. I have no error codes stating anything related to SAP and on OBD Fusion my commanded secondary air status always goes straight to 4. It acts as if it may have a tune running that has coded out the SAP. I’m not sure how to verify this though.

Additionally, my post cat O2 sensors were giving very bad data, especially since running this morning and seeing the data for these new ones. If you look through previous logs, my post cat O2s appear lazy. I had one sensor that would just hang around 0.4-0.5v with cruise and idle around 0.43v and another that would move from 0.35-0.6v and run around 0.6v at cruise and idle. Horrible, but no codes at all. With the new ones in and logging data today, they oscillate nicely between 0.1-0.9v with steady states of 0.7-0.8 at highway cruise and warm idle. I’m wondering if the tune has coded out post cats too?

If there is a tune on the DME, would it be possible to read the data still from post cat O2 sensors even if they were coded out, as long as they were plugged in?

Hmmm…

Well, wish me luck at the smog station tomorrow! 🤞[emoji120][emoji92]
 
#20 · (Edited by Moderator)
@OURMANDAN thank you so much for your help!

Yes, I do use OBD Fusion, every. Damn. Drive. Lol… I’m like addicted to my dashboard data lol…

I have done the drive cycle many many times. Like you said, I’ve been reluctant to clear codes again because it does erase all drive data, the bad and the good.

If I’m hearing you right though, it sounds like you are saying that as long as the DME is collecting good data, as noted in Mode $06, then it is possible to pass smog even if the monitors are not checked to “ready/complete” on the right column. Is this what you are saying? If your screen looks exactly like mine it will pass, at least in AZ.

I have no check engine light or codes present at all. I guess I should just go and actually take the smog test and see what happens tomorrow regardless of what OBD Fusion tells me. It’s free if I don’t pass, so nothing to lose but time and much to gain, even if it’s only more data.

The piece that has been confusing for me is why I am not getting any engine codes for my SAP system and for my oxygen sensors. As mentioned, I have a 2006 with ms45.1 DME which means my SAP has the MAF sensor for running detection. I have no error codes stating anything related to SAP and on OBD Fusion my commanded secondary air status always goes straight to 4. It acts as if it may have a tune running that has coded out the SAP. I’m not sure how to verify this though.

Additionally, my post cat O2 sensors were giving very bad data, especially since running this morning and seeing the data for these new ones. If you look through previous logs, my post cat O2s appear lazy. I had one sensor that would just hang around 0.4-0.5v with cruise and idle around 0.43v and another that would move from 0.35-0.6v and run around 0.6v at cruise and idle. Horrible, but no codes at all. With the new ones in and logging data today, they oscillate nicely between 0.1-0.9v with steady states of 0.7-0.8 at highway cruise and warm idle. I’m wondering if the tune has coded out post cats too?

If there is a tune on the DME, would it be possible to read the data still from post cat O2 sensors even if they were coded out, as long as they were plugged in?

Hmmm…

Well, wish me luck at the smog station tomorrow! 🤞[emoji120][emoji92]
Iow .. when I first looked at that screen I believed it wouldn't pass till everything was a green check. I did not fully understand at the time, and thought it would be "all green" I thought a Evap pass was required for readiness. I've learned since the evap test isn't even running most of the time. It has its own PID, & runs only occasionally. There is no sign it is running (when it does), and has nothing to do with emissions readiness (though its presented on the screen. I would summarize by saying the screen isn't only about about what will pass emissions .. its more about what gets monitored, and what can't. I don't know why its grouped like that and I no longer care (what does "components" tell me?). I care only about getting us to pass. There is a readiness indicator in Fusion. I'm not near my BMW or I'd hook it up and show you. When its not ready I believe a little yellow triangle is present .. memory fading already now that I passed emissions.

P.S. Here's something else not obvious: At the top see the green line under "monitor tests"? you can click on O2 right beside it (or R-L swipe your screen ) and get the voltages there. You don't have to add gauges for that .. though I did.

P.S. I don't know what state you live in .. but I've read here in fanatics that some states allow 1 item on the list to fail, and the car will still pass. I know nothing more than that.
 
#21 ·
Alright, here is a summary of how I got my oxygen monitors to set.

My situation is a combo of three factors that I believe together contributed to the oxygen sensor monitor and oxygen sensor heater monitor not setting to ready. I will list them in the order that they were completed, but really this took place all within a few days of each other. It is hard to put them into an exact order of importance or know conclusively what the exact cause was. I think the key culprit overall though was the DME had a tune with at least the oxygen sensor monitor, the oxygen sensor heater monitor, and the secondary air system SAP monitor deleted or coded out.

  • Post Cat Oxygen sensor, Rear Cat Oxygen Sensor lazy / failing
    • Problem
      • Both Bank 1 & 2 downstream oxygen sensors had lazy voltage values.
      • Both banks would be at ~ 0.41 volts at warm idle and cruise speeds
      • Bank 1 would oscillate between 0.18 volts to 0.52 volts
      • Bank 2 would oscillate between 0.03 volts to 0.75 volts
      • No DTCs or check engine lights for oxygen sensor or oxygen sensor heater circuit
    • Assessment
      • Post cat oxygen sensor values at warm idle and cruise should be between 0.7 to 0.8 volts
      • Rear cat O2 sensor values with varying acceleration should oscillate between 0.01 volts to 0.99 volts
    • Solution:
      • Bosch OE spec narrowband post cat O2 sensors replaced on banks 1 & 2
      • Banks 1 & 2 warm idle and highway cruise post cat o2 sensor values 0.7v - 0.8v
      • Banks 1 & 2 rear cat o2 sensor values with varying acceleration oscillate between 0.01v - 0.97v
    • Status after Rear O2 Sensor replacement
      • Long Term Fuel Trims were very rich
        • Idle -7% to -12.5%
        • Varying acceleration while driving -2% to -25%
        • steady cruise speed -2% to -7%
      • Question: Do post cat o2 sensors contribute, even partially, to fuel trims in MS45.1 DME? Other fanatics have reported they might play a part, but I have not to-date found any confirmation.
  • Bad Battery or Soft Failing Battery
    • Battery was monitored by accessory power / cigarette lighter voltage reader, BMW OBC, & OBD Fusion app
    • Overnight morning battery values range from 12.4v - 12.6v
    • While driving / engine running battery values range from 13.5v - 14.0v
    • In preparation for DME Flash, drove 18 mins to autoparts store to check battery health = "Bad Battery"
    • Swapped in ~ 6 month old battery from my e39 touring
    • Thought process: A bad battery or soft failing battery may not provide enough current for oxygen sensor heater circuit to operate efficiently and effectively
  • All Adaptations Reset with INPA
    • After installing the rear o2 sensors, adaptations were not reset. In fact, adaptations were never reset after all of the maintenance items that were replaced (coils, plugs, disa, fuel filter/pressure regulator, fuel pump, MAF), except throttle body adaptation was reset twice to see if it would help with acceleration.
    • It was suggested that I reset all adaptations with INPA
      • No DTCs or check engine codes followed
    • After resetting adaptations following new battery and post cat O2 sensors replacement, long term fuel trims went to 0.0% at idle and -2% to +3.4% under acceleration and steady cruise. Average LTFTs 0.0%
  • DME Tuned with Post Cat O2 Sensor and Oxygen Sensor Heater delete
    • Problem
      • Suspected DME tune with potentially a EU2 or variant thereof due to monitors not setting
    • Knowns
      • Siemens/VDO MAF w/in spec at ~ 4 g/s @ warm idle
      • Bosch Pre Cat O2 sensors w/in spec ~ 0.95v to ~ 1.3v @ idle & steady cruise, 2.0v deceleration
      • Bosch Post Cat O2s w/in spec 0.7v - 0.8v @ warm idle & cruise, proper oscillations acceleration
      • Vin number in DME not showing correctly when hooking up OBD Fusion app (thought it was weird at first, but settled with thinking it was just "normal" for OBD Fusion and didn't look again)
      • Attempted Smog and inspector commented that the DME had incorrect vin and would need to be corrected by "BMW dealer" before passing certificate would be issued. additionally, he noted that the SAP, O2 sensor and O2 Sensor heater monitors were not ready.
      • Vin as listed on DME had generic bmw vin# prefix of WAAA00000
      • Spoke with local bmw indy shop with motorsport division, he confirmed above signs suggest a new DME with a tune and potentially EWS delete as that is what he commonly sees. He mentioned that most likely it also would have the SAP and O2 sensor and heater monitors deleted / coded out
      • After suggestion of another fanatic, rev limiter was tested to assist in confirmation of DME tune due to the working hypothesis that most tuners will additionally raise the rev limiter 200rpms. My car is a 2006 zhp with a rev limiter set at 6800rpm which is above a stock 330ci rev limit of 6400rpm. Rev limit test confirmed rev limiter set to 7000rpm.
    • Solution
    • Results
      • Confirmed vin# was correct with INPA and with OBD Fusion
        • After successful flash and vin write, checked AIF in INPA and saw 2 previous vin writes on the DME before mine. First one is the vin of the original car DME came from. Second is the same last 7 digits WD20259 from original car's vin with the generic bmw vin prefix of WAAA00000. Third is my vin#.
      • Car started and ran with no problems and acceleration was still smooth and perfect all the way through the rev range in all gears with excellent performance as well! :)
      • Next morning BMW drive cycle performed with cold start and 12 mile commute to work following proper procedures. When I parked SAP monitor, O2 sensor monitor and O2 sensor heater monitors were all set! Only Evap monitor was not set.
      • After work (7hours parked), allowed car to idle up to operating temperature and Evap monitor set.
      • Drove to Smog station and was given a passing smog certificate with ALL OBD monitors ready and correct vin# on DME!
    • Potential Problems that could have gone wrong
      • While there were many things that could have gone wrong here, there is one that stands out the most
      • Did not confirm EWS vin# with INPA (e46>Body>External Immobilizer System EWS) or BMW Scanner (did not have it at the time) prior to flashing DME with WinKFP
        • Why
          • honestly forgot to do it while preparing for flashing process even though I was prepared to do it and had planned on doing it
        • Potential problem
          • If DME had an EWS delete coded due to the EWS being original to the car and not from the same car that the DME came from, then car would not have started.
        • Current Status of EWS Vin#
          • unable to confirm if EWS vin is correct.
          • after checking EWS vin within INPA under coding, VIN # listed is my vin# that I wrote to the DME during the flash
          • Not sure if this is correct or normal or what the status is.
          • Have tried to download and install BMW Scanner 1.4 / PA Soft, but need to purchase PA Soft cable before I am able to test and confirm this. Will update thread if and when possible.

I hope this was helpful and covered all of the major bases to document the process for future fanatics searching for a solution as to why their oxygen sensor monitors are not setting. Again, my situation was unique and hopefully will not affect anyone else due to the more complex nature of this problem. It is not fully known if the battery was a contributing force to the monitors not setting or if the original post cat O2 sensors would have thrown a DTC after the DME was flashed and the rear o2 sensors were "back online and reporting to the monitors." I suspect that the O2 sensors would have triggered a DTC due to the values they were reporting, but again cannot confirm.

Let me know if there is something obvious or big that I missed or if you have any questions about the process and my steps! I am definitely stoked that I was able to solve this problem and successfully pass emissions and have a better performing zhp! I could not have done it without the amazing team of fanatics here! Thank you to all!

+ + + arcana + + +