EDIT #2: I rescanned, looking at the correct data, and found the rear O2 sensor was definitely bouncing up and down with the forward sensor's lambda reading. Since I have looked for leaks and couldn't find any, I decided to just go for a new catalytic converter. I have read that you can use propane to create a rich condition and a vacuum leak to force a lean condition, and this is a more thorough test to make sure your sensors are working properly, but the rear O2 sensor moving with the forward, and not having any leaks, I feel confident enough that this really is a bad cat. I'm going to replace it myself, and I'll make sure to post the results. I do wish I knew more about why the cat went bad, as I understand there may be an underlying problem, and even if a new cat fixes the code, it may go bad quickly due to the underlying issue. But then, the car has 170000 miles, so it's surpassed its life expectancy.

EDIT: the red/blue plots are Fuel/Air Commanded Equivalence Ratio. I think I need to put this on hold and get more info, but I don't know how...

My 2005 Prius is throwing a P0420 code (catalytic converter). I just got a scan tool that works on my phone, and got the two plots below.

In the first picture, I was coasting (which shuts the engine off) then I hit the throttle, momentarily, then coasted again. I'm noticing that when the engine goes off and starts up again (green upper-left RPM plot), the o2 sensor readings (big plot with red upstream and blue downstream) go nuts. Is this normal?

In the second picture, I took my foot off the throttle, let the RPMs drop (but the engine didn't stop) and then hit the throttle. You can see that under normal conditions the o2 sensor is fine (red wobbles up and down, blue is mostly constant), but then I hit the throttle (RPM's pick way up) and the readings of the o2 sensors move quite drastically.

The catalytic converter code was cleared and the test passed (an Evap test is still pending) but I've cleared the code many times, no luck. I have tried the magic bottle of cat cleaner, followed the instructions closely, but it didn't help. Now that I can read codes and plot sensors, I'm hoping to diagnose the problem instead of just throwing stuff at it.

Also, everything I read says o2 sensors operate around .7 volt, but mine seem to center around 1V. Is my car just different? Could it be the Dash Command software not interpreting the data properly?

I can add any additional test conditions anyone asks for in the comments, and would like to say thanks in advance, I know how smart and talented this community is.

O2 Sensors

o2 Sensors

3 Answers 3


Okay, I fixed it.

Turns out, I had a bad catalytic converter and I was reading the wrong thing in my original post. I identified the bad cat by looking at the correct sensor data. The data posted (red and blue) is the lambda measurement, which is a derived (not actual) measurement. It's useful for the forward A/F, but useless (as far as I have seen) for the downstream O2 sensor. The reason it fluctuates around 1 instead of the usual .7 volts is because it is a ratio that, by definition, hangs out around 1... So that answers that part. (Note that the A/F sensor stays closer to 3.2 volts or something like that if you choose to read the actual A/F sensor voltage instead of the lambda reading).

Before the repair, when I looked at the rear o2 sensor readings (which centered around .7 volts), they were wildly swinging up and down with the A/F's lambda reading. This is an indication that the catalytic converter might be bad (though, I recommend doing a bunch of reading and testing before drawing your own conclusions, because there can be other issues that cause similar signs; e.g. I had a bad exhaust gasket on a Tacoma and it threw a P0420 code. The o2 sensor was swinging up and down, though probably not as tightly correlated as this one was with the front sensor. $20 gasket and some grinding was a lot less painful than a new cat, and it fixed the problem. YMMV).

I ordered an aftermarket cat from Advanced Auto Parts; make sure to use the 20% off code (they always have one going) and they shipped it free to my door ($240 total for the cat). I had to cut the pipe at the correct place with a hack saw (I actually cut so I'd have extra, and then cut again for an exact fit; the fit of old vs new was exact enough that I could have measured and made one cut, but I didn't want to risk coming up short, and it's a complex shape to be certain it will line up just the same). I clamped the pipes together with a piece of tube that came with the cat, and that sealed it/made it permanent (big U clamp with nuts to tighten a cross-member). After a little smoke as the new cat sort of burned in (during which the rear O2 sensor was swinging up and down and my heart was sinking; this took about 10 minutes), finally the rear o2 reading steadied and has held ever since.

Also of note: I tried an aftermarket flange gasket, and it didn't work, it was too small and wouldn't go on. The flange was 2.4 inches across, and the after market gasket was 2.3 inches ID. I went OEM so I could get the car back together with no further delays ($52 from Toyota, ouch!). Of course the OEM part fit perfectly. Also, my spring-bolts were in perfect shape, and I reused them (which is shocking for a 10 year old exhaust part to not be rusted out in New England). That saved me from having to get new hardware.

Of interest, when watching the downflow O2 sensor on a Prius, it will drop down to almost 0 when the engine stops or is braking (no fuel, so it shows lot of oxygen, which looks like a very lean condition on an o2 sensor). It's tough to get a good measurement over a long period of time, because the sensor drops down all the time, and then kicks in when the engine kicks in, then steadies, then falls as you coast and stop producing power with the engine. I took the car to a hill, just to make absolutely sure it was working right, and laid on the engine for a good minute, with the o2 sensor reading staying steady. I'll report back if I find anything else, but it looks really good so far.

Also, I have before/after data (logged sensor data). I'd be willing to post it here for future reference, but I'm not sure how to attach a data file.


The Prius has an exhaust system unique to the Prius. As it is a hybrid the engine does not operate continuously, and so the cat has to be a special case in retaining its temperature to 'light-off'. Exhaust vacuum valves and controls require servicing; heat adsorbers have to be working; air/fuel ratio sensors are used as against a straight forward O2 sensor and thier controls operarate on very small electrical changes; add in the electronic controls. Your vehicle would need to be scanned by an OEM Toyota scanner, or compatable before condemming any components. Also an OEM scanner will be able to carry out a 'Maintenance Reset' which could eliminate any 'ghost faults' caused by weather or some sort of adverse operation. Your codes are telling you what the engine ECU thinks is happening but not actually why.

  • Turns out,I was looking at lambda's before,which are derived for the A/F sensor (which is the upstream sensor on a Prius), and I'm not sure how trustworthy Lambda is for O2 sensors. When I looked at lambda for the A/F and actual voltage for the downflow O2 sensor, I got the picture: the downflow is almost continuously switching, which is "the" sign of something wrong with the cat. I'm going to try a couple tests (propane, vacuum leak) to see if the downflow responds to rich/lean, and check for leaks. A working downflow and no leaks pretty much means it's a bad cat from what I've found so far
    – Bob
    Dec 13, 2014 at 14:11

I'm just wondering why you aren't considering the downstream O2 sensor as being the culprit? If it is sending back erroneous information back to the computer, the computer might think the cat is bad. The O2 sensor can be bad (or on the way out) and never throw a code. Something an O2 will do over time while going bad is get what is called lazy. Normally, when an O2 sensor is reading correctly, it's graph would be all over the place. It is quickly going up and down. When it gets lazy, this motion (if you want to call it that) slows down. It doesn't adjust as quickly to the amount of oxygen which is in the exhaust stream. And, while it is being lazy, it is still within tolerance, so doesn't throw a code. This erroneous information could be read by the computer as a bad catalytic converter.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .