When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
2002 CR-V EX with 226k to 280k+ miles. The engine power pulses smoothly in and out (both at idle and while driving).
I have to give some background on this car.
When I bought this car in 2019, it had a lot of issues and 226k miles on it but the price was right (and the pandemic hadn't messed everything up yet). I am the 5-6th owner and at some point the engine maintenance was ignored causing oil starvation and excessive wear. I had issues with both the VTEC and VTC solenoid screens getting clogged up with metal shavings. The VTEC one caused my rev limit to be at 2800 RPM and the VTC one caused a huge lack of power. After those gasket/screens were replaced, the car ran a lot better, but not perfect. The oil pressure looked fine so I didn't think there was any catastrophic damage. There were still some random misfire problems along with poor fuel economy (22MPG average when my commute is ~80% freeway). I always had a complaint about the lack of power and how the car pretty much has to downshift to accelerate on the freeway. At the end of July 2020, the catalytic converter was stolen off of the car and the O2 sensor wires were hacked up. It is definitely possible that the sensor lines to the ECU got exposed to +12v from the heater circuit. After replacing the exhaust (minus header and muffler), O2 sensors, and gaskets, I don't recall a change in behavior. At some point I started noticing how the power was slightly pulsing in and out at times (usually during acceleration) and how my fuel economy was getting worse. The car never let me down and always got me from A to B, but the problem was noticeable though it wasn't anywhere near as bad as it is today. I thought the power pulsing was due to the high oil consumption (like needing a quart every time I would get gas) causing misfires or detonation being detected and ignition or cam timing being pulled so I did nothing about it. Well, it continued to get worse all the way up to when I replaced the engine in October 2021 (due to the high oil consumption and getting 18-19MPG consistently). After the engine was replaced, I never got any of the same CEL codes as I did before, but the power pulsing issue continued along with the poor fuel economy (18-19MPG). I'd like to say that the pulsing was slightly worse than before since the new engine had better power overall so the effect was more noticeable, but I can't say for certain. Regardless, after the swap is when I consistently got the P0171 code for "system too lean". I didn't get any other codes (See edit below). I figured that the high oil consumption contaminated the O2 sensor and was feeding the ECU bad data so after a while, I unplugged the sensor to see what would happen. Immediately the power pulsing issue went away and the car felt like it had more power (at least it was consistent power it if wasn't full power). The idle was rough (like it was too low or something), the fuel economy didn't improve, and I had another CEL code, but overall it was a better experience. For some reason, in Feb 2022, my fuel economy suddenly shot up to 22-24MPG consistently without me changing anything with the car, my commute, or how I was driving. I ended up driving it like that until I finally replaced the $150 O2 sensor a few days ago. As soon as I plugged the new sensor in, the power pulsing issue is back and the the P0171 code returned after 1 day.
Now, I have plugged in a USB scan tool and monitored the PIDs while idling and driving at various speeds. Everything looks fine outside of the O2 sensor voltage and the fuel trim values. What I am seeing is that the short-term fuel trim (STFT) is spiking to as much as 50% before rapidly returning under 10% and repeating the cycle. It seems that the O2 sensor voltage jumps to 1.1-1.2 volts, the STFT spikes, the O2 voltage falls between 0-0.5 volts, the STFT falls below 10%, the O2 voltage spikes again, and the cycle repeats over and over. This cycle happens within 1-2 seconds. It seems that the STFT is massively overshooting and causing this issue, but I have no idea why. On top of that, this issue doesn't always happen. It seems to happen most when the car is running from a cold start, driving around town, accelerating, and going up hills, but not every time and only for a few minutes at a time. Sometimes it happens when I am parked and idling (full temp or cold). When cruising down the freeway, it is usually fine (the majority of my 40 mile commute).
When this cycle is not happening, the O2 sensor voltage shows "0" and the STFT also shows "0%" without fluctuating at all. Regardless of if the issue is happening or not, the MAP, IAT, ECT, TPS, RPM, and ignition advance values all stay pretty consistent as long as I am on flat road maintaining the same speed. I have not noticed SFTF go below 0% except for a few brief moments and LTFT has always been 0% or higher.
Maybe this is a vacuum leak with the EVAP system? As in when the EVAP solenoid is opened up, there is a leak to atmosphere where extra air is getting into the intake? Then again, this is a MAP vehicle so wouldn't the MAP see that pressure change and the ECU compensate accordingly? I have checked for vacuum leaks by sound and feel, but didn't find anything. If it were a static leak, the issue would be consistent instead of intermittent, right? Beyond that, I can only think that either A) the ECU is getting a bad signal or is damaged, or B) there is some other issue with the fueling system like injectors, fuel pressure regulator, or fuel pump.
I plan on welding in another O2 sensor bung on the exhaust and installing my old wideband to see what it reads, but it hasn't been used in years and I don't know if it will calibrate properly yet. I thought about trying a different ECU, but then I remembered that these cars have an immobilizer and that plan won't work without a matching key. I will be replacing the intake air filter this weekend and possibly trying a different set of injectors (also from a K24A1) and/or fuel rail with regulator just in case.
What do you think? Is there something I am missing or could try? Again, P0171 is the only CEL code I get.
EDIT: Now I am also getting P1164 and P1167 codes in addition to the P0171 code. I am going to work through the service manual and see if I can find some electrical fault somewhere.
Your first step is to make sure you have no leaks at engine and exhaust side.
After this, look at live data pids and see what the ECT, Map sensor are readings are, ECT cold temp should be very close to ambient and Map should read close ambient pressure for your area.
It will be nice to see what the fuel pressure readings but on CRV is very difficult to install a gauge.
Your first step is to make sure you have no leaks at engine and exhaust side.
After this, look at live data pids and see what the ECT, Map sensor are readings are, ECT cold temp should be very close to ambient and Map should read close ambient pressure for your area.
It will be nice to see what the fuel pressure readings but on CRV is very difficult to install a gauge.
I tried finding vacuum leaks a while back, but didn't hear anything and spraying flammable brake cleaner around the engine while running to see if the idle would change resulted in nothing. As for the exhaust, I don't hear or feel any leaks from the manifold or collector. When the engine was swapped, I used all new gaskets for the intake plenum, throttle body (didn't take the metal manifold, fuel rail, or injectors off), exhaust manifold, and collector. I'll have to doublecheck everything and see if anything has changed since I last checked.
ECT, IAT, and MAP all look normal. All ambient at a cold start. ECT gets up to the 180F range at most. IAT is usually a little warmer than ambient when driving and increases when idling. MAP is about 7-8inHg at idle and gets into the mid-upper 20s when full throttle.
I'll test the fuel pressure eventually, probably after I get back from my extended work trip coming up.
I did swap in the old O2 to see what happens with it. We'll see how things go over the next few days.
So, using the old sensor gives me the exact same behavior as the new sensor (at least in the two days and 200 miles I've driven it since putting the old sensor back in).
Going through the PIDs some more, I did find that when this issue isn't happening, the vast majority of the time it is because it goes into open-loop. This happens when the engine load is too low (like when decelerating/braking) and when the engine temp is too low. What doesn't make any sense to me is that I can get the "engine temperature is too low" reason when the ECT is reporting 188-190F cruising down the freeway at 70MPH. I've also had it at 199F when idling in my driveway and got the "temp too low" reason though I have also had it running closed-loop at 188F so I can't make much sense of it. Things really aren't lining up especially considering other Honda vehicles go into closed-loop at much lower ECT temps (the above video being one example). Anyway, the other small part of the time the issue isn't happening is when I have caught it (both with the new sensor and old) where the primary O2 holds around 0.40-0.45 volts without swinging (I presume this is the bias voltage). When that happens a full +46.8% short-term fuel trim value is locked in and if the long-term fuel trim is already "maxed" out at +17.17% to +17.97%, then it doesn't go any higher. Driving in this condition feels no different than driving when in open-loop, there is no power pulsing or hesitation. However, as soon as I get off the throttle and it kicks back into open-loop, it is very rare for it to return to that 0.40-0.45v range instead of swinging like crazy again. I need to unplug the sensor and check the bias voltage. If that matches what I am seeing, it seems that there is a dead short somewhere (sensor or harness) to be investigated.
When the issue is occurring, the majority of the time it is swinging from max low (0 volts) to max high (1.10-1.15 volts) every second or so. On the secondary O2, it also swings a bit, but tends to stay in a range of 0.2 volts to 0.85 volts. It doesn't flatline out which isn't surprising considering how much fuel is being added and removed every second, but at least it seems to be operating in a more desirable range (maybe it is fine and doesn't need replaced?). I have caught it a few times now (both with the new sensor and old) where the primary O2 does hold around 0.40-0.45 volts without swinging (I presume this is the bias voltage). When that happens a full +46.8% short-term fuel trim value is locked in and if the long-term fuel trim is already "maxed" out at +17.17% to +17.97%, then it doesn't go any higher. Driving in this condition feels no different than driving when in open-loop, there is no power pulsing or hesitation. However, as soon as I get off the throttle and it kicks back into open-loop, it is very rare for it to return to that 0.40-0.45v range instead of swinging like crazy again. I need to unplug the sensor and check the bias voltage. If that matches what I am seeing, it seems that there is a dead short somewhere (sensor or harness) to be investigated.
I did weld a 3rd bung onto the exhaust and installed my wideband sensor, however, the sensor is bad and was giving erratic and erroneous readings. That isn't surprising, the sensor has been in several cars in several years and abused. I'll get a new sensor at some point and get a better idea of what the AFR pattern really looks like.
It has been cold and raining the last few days so I have not gotten under the car to check for any exhaust leaks or loose manifold bolts. I'm also looking to find a power supply I can use in the car so I can connect my oscilloscope to the sensor input to the ECU and get a raw voltage reading from the sensor. No luck with finding a suitable power supply yet, but I've got an idea that should work in a pinch.
Full throttle, car should go into open loop. If the upstream sensor is reading lean, it either means the sensor is lazy/ lying or you got fuel problems!
I forgot to add, at wide open throttle creates a low vacuum condition. Your Map sensor should read the same as when the car is cold and key on position 2.
Corrections to my previous post! When the PIDs report a fuel system status of 1 (which is the most common reason for it to go into open-loop), it says "insufficient engine temperature" which I believe to be incorrect. I don't know what the description should actually be, but I get the "1" status frequently regardless of the ECT value. The system usually goes into closed-loop shortly after starting the engine cold and I've seen as low as 88F on the ECT while in closed-loop. On the other hand, I have seen as high as 199F and still getting a "1" status for the fuel system. I can't tell if perhaps this is related to the O2 heater duty cycle, secondary O2, some other sensor, or a combination of factors, but I am fairly confident it is not actually an engine temp issue.
For some background, I have tuned a few Hondas from base maps so I would like to claim that I am familiar with what the MAP, ECT, IAT, TPS, Ign Advance, etc. all should read under different conditions. I'm not an expert by any means, I'm all self-taught, but I am fairly confident in my abilities and experience. As far as I can tell, the MAP, ECT, IAT, TPS, and ignition advance all look normal and show the ranges I have come to expect under various driving conditions. I do not believe there is a vacuum leak since the engine idles fine at around 650-700RPM and the MAP reads 7-8inHg at idle (within factory spec). At WOT, the MAP reads 27-28inHg as expected for my area (slightly less than with the engine off). ECT is almost always 188-190F when driving on the freeway (within factory spec) and IAT typically is around 5-10F higher than ambient (but gets a lot higher when stopped, as expected). TPS looks normal and consistent with throttle input; around 20-40% cruising on the freeway, as much as 60-70% when accelerating from stops or passing, around 100% at WOT. Ignition advance changes rapidly with load, throttle position, and O2 readings but generally follows what I have come to expect from 4-cylinder Hondas. The key takeaway is that all of these values are consistent and do not fluctuate in any way like the O2 sensor readings. I can cruise down a flat part of road with no changes to throttle, these values all stay about the same while the O2 will swing from max low to max high and back again over and over. The values remain consistent when in open-loop as well. The PID refresh rate with my USB scan tool is not very fast (around a 1s refresh) so there is always some room for error so again, those all look good as far as I can tell.
That said, I spent about 8 hours on this today and found a few things out.
I took the ECU out and opened it up looking for corrosion, water damage, blown components, etc. but everything looked fine as far as I could tell.
Then I had to figure out what wire went where for each O2 sensor. Turns out my wiring doesn't match the factory service manual for wire color or pin position for most of the wires (at least in the manual I have which does not seem to include US models). After mapping out each wire color and pin position, I was then able to hook up my multimeter and oscilloscope. What I found was that the primary O2 sensor wires were showing ~2.1v and ~1.8v with the sensor unplugged, engine cold, and the engine not running (secondary was 0v and 0.43v). Those same values carried over when I plugged the sensor back in (old sensor, haven't tested the new one yet) and had the car on, but still cold and not running (same for the secondary). With the engine at full temp and running, the ~2.1v pin drops to ~2.055v while the other line fluctuates with the AFR. The difference between the two values is, I presume, the actual voltage the ECU reads and is what I switch over to reading. When in open loop at full temp, the differential is typically around 0.50 - 0.55v when driving around. If the throttle suddenly closes, the value drops to around 0.45v and slowly climbs back up to the 0.50 - 0.55v range in about 5 seconds or so. When under heavy acceleration, this value gets up in the 0.6 - 0.7v range. As soon as the system goes into closed-loop, the values are all over the place just like the ECU reports in the PIDs. Occasionally I can get the car to run in closed-loop and maintain a steady O2 sensor voltage. In this condition, the value reported by the ECU can be anywhere from 0.2 - 0.6v with slow fluctuations up or down, but is most often in the 0.3 - 0.4v range. What doesn't make sense to me is that the ECU often reports values that do not closely match the ones from the oscilloscope and multimeter. It appears to almost be backwards in a way where the ECU says 0.22v and the multimeter/scope says 0.50v or the ECU says 0.55v and the multimeter/scope says 0.44v. I haven't done enough testing to confirm this behavior is consistent, but I found it odd nevertheless.
As for the secondary O2, if the ECU is in open loop, it seems to ground the secondary O2 signal as I get 0v when this happens and no readings in the PIDs. As soon as closed-loop kicks in, I get readings from the PIDs and my multimeter/scope. I see the range is 0 - 0.9v and when 0.8 - 0.9v is showing on my multimeter/scope, the engine progressively starts to chug more and more, the voltage drops to ~0v, the engine suddenly recovers and the RPMs go up, voltage jumps back into the 0.8 - 0.9v range, and repeats in a 1-2 second interval. In my limited testing, I have not seen this sensor consistently report anything other than ~0v or 0.8 - 0.9v for more than a brief moment in closed-loop (as in it appears to swing from max low to max high). This seems to follow what the primary O2 sensor reports which is what I expected. However, when I can get closed-loop to stay running and the primary O2 reports steady in the 0.2 - 0.6v range, the secondary is has remained around 0.8v +/- 0.05v so far.
I also hooked into the #1 injector wire and found it to be behaving as expected. When in closed-loop with the primary O2 value swinging, the duty cycle varies a few percent when idling and around 10% or so when driving around, accelerating, etc. The cycle of increasing and decreasing the duty cycle seems to follow exactly with the engine power pulsing.
At this point, none of these measurements have got me any closer to understanding why the ECU is going from 0% fuel trim to maximum additional fuel then back again every second or two instead of being a slow and progressive change. I need to check for vacuum leaks and exhaust leaks again. If that checks out, swap back to the new O2 sensor just to see if there is any different behavior. Beyond that is swapping to my old injectors, getting a new wideband sensor so I can get AFR values I can actually trust, and ordering an adapter to test the fuel pressure in the rail. My old injectors have about 260k miles on them versus the roughly 75k the current ones do, but they did work when I swapped the engine so I doubt much will change there. I kind of doubt there is a fuel pressure issue since WOT feels fine, no power pulsing, and the injector duty cycle maxes out around 70% at redline, but I really can't say for certain. I don't know if there is anything else I will get to try before June, but I do have a co-worker with a 2nd gen CR-V. I might see if I can talk him into letting me probe his ECU to see what normal values are on the primary and secondary O2 sensor lines.
Lastly, below is the mapping for my O2 sensors to the ECU pins.
That is the second time you've posted that Accord video. I have watched both the Accord video and the Tacoma one. I think you are getting stuck on the P0171 code when I also have a P1164 and P1167 (the P1164 always pops up before the P0171).
There are multiple issues that prevent me from using those techniques to diagnose the root cause of my problem. The biggest one is simply not knowing if the O2 sensor values are trustworthy. Both the old and the new sensor appear to behave the same way where the ECU reports erratic, cyclitic readings, slightly lean conditions when it does decide to stop cycling even though it is at maximum additional fuel (+46.88% STFT and +17.97% LTFT), and I can read a slightly rich condition directly from the O2 with my oscilloscope when in open-loop (ECU just drops to "0") which is normal behavior. This leads me to believe that either I have two bad sensors that are bad in the same manner (unlikely), or that they are fine and I have a different issue. Either way, both sensors are going out of the expected "normal" range by hitting 0v and exceeding 1v (P1164 code). It is almost like the sensor is too sensitive, or the ECU is simply overcompensating instead of making gradual changes to trims.
Beyond that, it does not appear that I have a vacuum leak since idle doesn't behave any differently than when driving. This is further backed up by the fact that the open-loop voltage I get from the O2 at idle also closely matches that of when driving (slightly rich, not the lean condition that I would expect from a vacuum leak at idle). Though, this is hard to determine for certain since I don't have an O2 sensor reading that I can verify as trustworthy.
Lastly, the K24A1 does not have a MAF like the Tacoma does. Sure, the MAP sensor could be faulty and influence the fuel trims in a bad way, but it would be consistent (like consistently low in the Tacoma video), not the erratic, cyclitic behavior I am currently getting.
Where I am at now, I don't have a way to prove that the AFR that the ECU is reporting is correct or incorrect. That also means I can't tell if the sensor, wiring, or ECU are good or bad. I did find your post from earlier this month where you measured the voltages on each of the O2 sensor lines and did find that mine matched yours. Considering you are having a similar issue with P0134, I don't know if our cars showing the same voltages is a good or bad thing. As I said in my last post, there are a few things I need to check on before I can get any further in understanding what is going on and correcting the issue.
Another thing of note: I get the P1164 code before any others the vast majority of the time. After resetting the ECU, the fuel trims get all messed up swinging around like crazy and then the P0171 code pops up. Sometimes I can get the P1167 code to pop up within 10 seconds of starting the car, sometimes the first time I am decelerating while in closed-loop, other times it happens after an hour of driving. I think I am causing the P1167 code to pop up most of the time due to me probing around the various wires at the ECU, not because there is an actual heater issue. Nevertheless, I do need to investigate that just in case it is a loose connection or faulty relay. It would be wild if it is the heater circuit causing all of this, but I suppose I can't rule it out just yet. Oh, and I have some videos of the readings I am getting. I'll have to post them up sometime soon.
I swapped in my old injectors from the original motor. No change in behavior that I could tell.
I then swapped back to the new AFR sensor. I don't believe I have mentioned it before, but it is a Delphi ES10937 with a 1 year warranty which is shown as a replacement for the OEM sensors 36531-PPA-305 (current) and 36531-PPA-A01 (superseded). While the behavior overall is the same, I believe it is worse with the new one. What I mean is that the pulsating is the same timing wise, just more aggressive. I would like to attribute that to the fact that it probably responds faster than the old sensor making the ECU overcompensate even more, but that is just a theory. Either way, I also checked the heater circuit and the duty cycle clearly changes with how much load is on the engine. At idle, full temp, it sits in the low 40% range and when cruising down the freeway it is in the low 20% range. I haven't spent a ton of time monitoring it, but I have not caught it doing nothing on the new sensor (I have not checked with the old sensor). Additionally, I de-pinned the sensor lines from the ECU and measured the sensor voltage directly while driving in open loop. What I found was not what I expected. Overall, the sensor works fine and generally reads rich (like when cruising) but does read lean with certain throttle input (light acceleration at lower RPMs, primarily). However, after the sensor gets hot (i.e. when running down the freeway), it starts doing weird stuff. I've seen it fluctuating all over the place (including the voltage flipping and going -1v) before not responding at all anymore (staying around the 0v mark). After I slow down to highway speeds (~55MPH) and give it a few minutes, the sensor starts to respond again. I don't know what any of this means, but it acts like the sensor is not hot enough to produce its own voltage which doesn't make sense if the heater duty cycle decreases with additional load on the engine. Perhaps it is getting too hot? But if that is the case, why would the ECU still be cycling the heater under the same freeway driving conditions? I'm really not sure what to make of this behavior. Nevertheless, I put the sensor lines back into the ECU connector and monitored the voltage of the positive and negative sides of the circuit. At cold idle, the positive side (A6) shows about 2.09v which decreases to around 2.04-2.05v at full temp. Then the voltage seems to decrease proportionally with the load on the engine. At freeway speeds, it floats around in the 2.01-2.03v region, tending lower under load and higher when coasting down a hill. The negative side of the circuit (A16) is all over the place. At cold idle, it starts around 1.8v. Once the sensor is warm enough to produce its own voltage, it swings anywhere from 0.8v to 2.1v. I've been trying to make sense of how the ECU can be outputting 1.8v on A16 with the sensor unplugged or plugged in (cold idle) and then the voltage can drop once the sensor is producing its own voltage. It just doesn't make sense to me that the negative side of the circuit can have less voltage on it when the sensor is working. I would have figured that the positive side of the circuit (A6) would be the one increasingabove 2.1v but it isn't. Does that mean the ECU is determining when the sensor is creating its own voltage and dropping the 1.8v it outputs? Does it mean the ECU is controlling the negative side of the circuit so the positive side maintains 2.1v like the feedback sense in a power supply? I'm struggling to make sense of how this all works. The secondary O2 sensor operates exactly how I would expect but it doesn't have a bias voltage being applied to it, it just monitors the voltage the sensor creates on the positive line and leaves the negative at the same ground potential as the rest of the vehicle.
I have also tested the fuel pressure and it is sitting at 48 psi with the engine running at idle with a tiny drop at 3k RPM (less than 1 psi). I have no idea how accurate the gauge actually is, but the pressure generally looks to be in spec or close enough rather than an obvious issue.
So, all that work and I still don't have a clue what is going on. I have ordered a new wideband sensor that will hopefully arrive before I leave on my extended work trip, but no guarantee. Once I can get that installed and compare its readings to that of the ECU in open loop and closed loop, hopefully that points me in the right direction. At this point, I am starting to think that either both of my sensors are bad/incorrect for the ECU, or the ECU is bad. I did manage to find a TSB for the P1164 code and my VIN number does fit within the range of affected vehicles. Perhaps the ECU has never received an update and this whole fiasco is because of that, but I'll cross that bridge if I get to it. I really just hope I don't have to replace the ECU as that is going to be a big pain dealing with the dealership or having someone else program a new key and cut it to my car. Getting the dealership to update the ECU 20 years after the fact will probably be a fun endeavor as well. We'll see what happens after I get the wideband going!
I've monitored the knock sensor with my oscilloscope thinking it might be picking up something that the ECU doesn't like, but it doesn't seem to indicate knock as far as I can tell. It is a pretty noisy signal with some obvious peaks that are less than 1ms in duration, but the noise increase seemed to follow RPM and load while the peaks didn't change much at all.
I got a new wideband sensor and was able to monitor the actual AFR in the exhaust to compare it to what the ECU reports. What I am seeing is the AFR cycles between very rich (10-12:1) and very lean (16-18:1) every second or so at idle. The cycling gets faster and more extreme under load and freeway cruising (hitting 10:1 and 20:1 AFR, the maximums of the sensor I have, often multiple times a second). What is interesting is that when the sensor seems to "die" when cruising down the freeway and the ECU reports the sensor voltage to be around 0.3v (i.e. a lean condition and about what the bias voltage is), the fuel trims max out at full rich and the AFR stays locked in the 10.5-10.8 region. It is almost like the sensor is wired in backwards or the bias voltage is wrong. In addition, the O2 voltage that I am reading on my scope shows a low voltage for the O2 sensor (A16) when the AFR is lean, which is wrong. If the A6 pin is showing 2.03v and the A16 pin shows 1.3v, that is a signal voltage of 0.73v, a rich condition yet the ECU shows it as a lean condition.
I'm going to try swapping the O2 sensor pins around and seeing what happens. At this point, I don't have anything to lose. If I kill the sensor or the ECU, well, those are the only two things I can think to replace anyway.
Wow, that's a lot.
Being a simple man, not-a-mechanic, I figured new engine, same symptoms, must be the O2 sensors. I've been down the P0171 (multiple possibles) road myself. Seems you've addressed the O2 sensors, so....
What's left, wires? I first saw the P0171 code a year ago, went away when we filled the tank with fuel, came back persistent a year later. Something crazy like junk in the tank??
2002 CR-V EX with 226k to 280k+ miles. The engine power pulses smoothly in and out (both at idle and while driving).
I have to give some background on this car.
When I bought this car in 2019, it had a lot of issues and 226k miles on it but the price was right (and the pandemic hadn't messed everything up yet). I am the 5-6th owner and at some point the engine maintenance was ignored causing oil starvation and excessive wear. I had issues with both the VTEC and VTC solenoid screens getting clogged up with metal shavings. The VTEC one caused my rev limit to be at 2800 RPM and the VTC one caused a huge lack of power. After those gasket/screens were replaced, the car ran a lot better, but not perfect. The oil pressure looked fine so I didn't think there was any catastrophic damage. There were still some random misfire problems along with poor fuel economy (22MPG average when my commute is ~80% freeway). I always had a complaint about the lack of power and how the car pretty much has to downshift to accelerate on the freeway. At the end of July 2020, the catalytic converter was stolen off of the car and the O2 sensor wires were hacked up. It is definitely possible that the sensor lines to the ECU got exposed to +12v from the heater circuit. After replacing the exhaust (minus header and muffler), O2 sensors, and gaskets, I don't recall a change in behavior. At some point I started noticing how the power was slightly pulsing in and out at times (usually during acceleration) and how my fuel economy was getting worse. The car never let me down and always got me from A to B, but the problem was noticeable though it wasn't anywhere near as bad as it is today. I thought the power pulsing was due to the high oil consumption (like needing a quart every time I would get gas) causing misfires or detonation being detected and ignition or cam timing being pulled so I did nothing about it. Well, it continued to get worse all the way up to when I replaced the engine in October 2021 (due to the high oil consumption and getting 18-19MPG consistently). After the engine was replaced, I never got any of the same CEL codes as I did before, but the power pulsing issue continued along with the poor fuel economy (18-19MPG). I'd like to say that the pulsing was slightly worse than before since the new engine had better power overall so the effect was more noticeable, but I can't say for certain. Regardless, after the swap is when I consistently got the P0171 code for "system too lean". I didn't get any other codes (See edit below). I figured that the high oil consumption contaminated the O2 sensor and was feeding the ECU bad data so after a while, I unplugged the sensor to see what would happen. Immediately the power pulsing issue went away and the car felt like it had more power (at least it was consistent power it if wasn't full power). The idle was rough (like it was too low or something), the fuel economy didn't improve, and I had another CEL code, but overall it was a better experience. For some reason, in Feb 2022, my fuel economy suddenly shot up to 22-24MPG consistently without me changing anything with the car, my commute, or how I was driving. I ended up driving it like that until I finally replaced the $150 O2 sensor a few days ago. As soon as I plugged the new sensor in, the power pulsing issue is back and the the P0171 code returned after 1 day.
Now, I have plugged in a USB scan tool and monitored the PIDs while idling and driving at various speeds. Everything looks fine outside of the O2 sensor voltage and the fuel trim values. What I am seeing is that the short-term fuel trim (STFT) is spiking to as much as 50% before rapidly returning under 10% and repeating the cycle. It seems that the O2 sensor voltage jumps to 1.1-1.2 volts, the STFT spikes, the O2 voltage falls between 0-0.5 volts, the STFT falls below 10%, the O2 voltage spikes again, and the cycle repeats over and over. This cycle happens within 1-2 seconds. It seems that the STFT is massively overshooting and causing this issue, but I have no idea why. On top of that, this issue doesn't always happen. It seems to happen most when the car is running from a cold start, driving around town, accelerating, and going up hills, but not every time and only for a few minutes at a time. Sometimes it happens when I am parked and idling (full temp or cold). When cruising down the freeway, it is usually fine (the majority of my 40 mile commute).
When this cycle is not happening, the O2 sensor voltage shows "0" and the STFT also shows "0%" without fluctuating at all. Regardless of if the issue is happening or not, the MAP, IAT, ECT, TPS, RPM, and ignition advance values all stay pretty consistent as long as I am on flat road maintaining the same speed. I have not noticed SFTF go below 0% except for a few brief moments and LTFT has always been 0% or higher.
Maybe this is a vacuum leak with the EVAP system? As in when the EVAP solenoid is opened up, there is a leak to atmosphere where extra air is getting into the intake? Then again, this is a MAP vehicle so wouldn't the MAP see that pressure change and the ECU compensate accordingly? I have checked for vacuum leaks by sound and feel, but didn't find anything. If it were a static leak, the issue would be consistent instead of intermittent, right? Beyond that, I can only think that either A) the ECU is getting a bad signal or is damaged, or B) there is some other issue with the fueling system like injectors, fuel pressure regulator, or fuel pump.
I plan on welding in another O2 sensor bung on the exhaust and installing my old wideband to see what it reads, but it hasn't been used in years and I don't know if it will calibrate properly yet. I thought about trying a different ECU, but then I remembered that these cars have an immobilizer and that plan won't work without a matching key. I will be replacing the intake air filter this weekend and possibly trying a different set of injectors (also from a K24A1) and/or fuel rail with regulator just in case.
What do you think? Is there something I am missing or could try? Again, P0171 is the only CEL code I get.
EDIT: Now I am also getting P1164 and P1167 codes in addition to the P0171 code. I am going to work through the service manual and see if I can find some electrical fault somewhere.
Try looking up Scanner Danner on YouTube and send him your findings. He’s a teacher in college and is pretty good with this stuff. Good luck 🍀