P0031 is a generic code, which means that it has the same meaning for the Subaru WRX as it would any other OBDII equipped vehicle. As far as diagnostic trouble codes go, this is a relatively easy one to diagnose. It is usually caused by a bad oxygen sensor, or a wiring issue.
Table of Contents
1. P0031 Definition/Location
Sensor Location
Definition
2. P0031 Symptoms: Subaru WRX
3. P0031 Causes: Subaru WRX
Wiring
Bad O2 Sensor
Bad ECM
4. Conclusion/Summary
P0031 Definition + Sensor Location
Bank 1 Sensor 1 Location
- Bank 1 is the side of the engine with cylinder 1. If you have a four cylinder engine or inline six, it’s the only bank.
- Sensor 1 is upstream of the catalytic converter.
Definition
When the engine is cold, it has a hard time getting a good reading from the WRX’s oxygen sensors. Without a good reading, it is difficult for the ECM to determine the proper air/fuel mixture to give the engine. The heated element in the oxygen sensors helps to get a more accurate reading of the oxygen in the exhaust.
The job of the O2 sensors in your WRX is to measure the level of oxygen in the exhaust so that the ECM can make changes to the air fuel ratio. As stated above, the oxygen sensor has a heater that helps to give it a more accurate reading. When this heater is not operating, it can affect the way that the engine runs. With P0031, the O2 sensor is informing you that the heater circuit resistance is lower than the normal operating range.
This code will often appear with P0171. It indicates that the WRX has a lean condition. If these are the only two codes present, fixing what is causing P0031 will more than likely clear the P0171.
P0031 Symptoms: Subaru WRX
P0031 is most often not accompanied by any noticeable symptoms as long as it is the only code that is currently stored in the ECM’s memory. If there are symptoms, they’ll be:
- Service Engine Soon Light
- Diminished Fuel Mileage
- Rough Running Engine
- Raw Fuel Smell Coming From Exhaust (particularly when cold)
If the engine is running rough, it very well may be accompanied by the P0300 code. This indicates a random misfire in the cylinders.
P0031 Causes: WRX
The most common cause of P0031 is a bad oxygen sensor. It’s, not the only cause though. A quick examination of the WRX’s physical wiring harness, as well as the voltage coming from the heated O2 sensor can save you from buying a sensor that you don’t need.
Wiring Issue
Due to the location of the oxygen sensors (under your WRX, on the hot exhaust pipes), the wiring harness around them is easily susceptible to damage. Hot exhaust can make the wiring harness brittle. A visual inspection will often uncover exposed wiring (that’s shorted) or wiring that is broken altogether. Pay particular attention to anywhere that the harness comes close to touching other metal, and where it is closest to the exhaust.
If the harness looks like it is intact, you’ll next want to to test and make sure that the heated oxygen sensor is getting power. You can take a simple test light and check to see if the harness is getting voltage. If it’s not, check the fuse. Make sure to test the ground circuit for continuity.
If the oxygen sensor is getting power to it, you can check to see if it is getting the correct level of voltage/ohms. Here’s a great video from Ratchets and Wrenches on how to test the wiring on a heated O2 sensor:
Oxygen Sensor
It is highly likely that the oxygen sensor has gone bad when you get this code. The good news is, they are affordable and easy to replace.
Bad ECM
It is technically possible that the ECM has gone bad when everything seems to be working, but you still get this code anyway. It’s not very likely though. Here’s more on the symptoms of a bad ECM.
Conclusion: P0031 WRX
This code is relatively straightforward to diagnose. If there is anything that you would like to add, please feel free to leave a comment below. Best of luck to you. If there is anything you would like to add that could help the next person with their Subaru WRX, please leave a comment below.