E46 Fanatics Forum banner

O2 Sensor and Heater Circuit Monitors Not Setting

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 +
 
Discussion starter · #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
 
Discussion starter · #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.
 
Discussion starter · #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.
 
Discussion starter · #8 ·
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!
 
Discussion starter · #11 · (Edited)
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).
Thanks for the info Sapote!

Regarding the post cat sensors, I thought they should be right around 0.45v which would demonstrate that proper lambda is being achieved. Is this not the case? Additionally, being that the post cat sensors are narrowband, would it be expected for them to have a wider range for them to oscillate, for example from 0.1v - 0.9v like narrowband pre cat sensors? If so, then mine currently do not have such a wide oscillation band. I'm still relatively new to reading and interpreting the charts so I very much appreciate all of the valuable insights and help. :)

Regarding the SAP: What PID are you looking at that shows switching from 0 to 1 and then to 4? Is that the "secondary air status?" silly question as I write it. If it is, then that PID is starting to make more sense now, and I feel silly.

Thanks!
 
Discussion starter · #12 ·
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.
How can you tell the post cat sensors are not hot enough? Is it from the voltage readings, or something else? Do you think this is due to the heater circuit not functioning well enough thus resulting in the heater circuit monitor not setting? Could lazy post cat sensors also be responsible for the oxygen sensor monitor not setting?
 
Discussion starter · #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!
 
Discussion starter · #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]
 
Discussion starter · #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 + + +