OBD-II Code
P1097
Severity
Not yet reviewed
Nobody on our side has assessed this code yet, so we are not going to guess at how serious it is.
Can you drive it
We cannot say
Treat it as unknown until a shop reads it with live data. If the check-engine light is FLASHING, stop driving as soon as it is safe to — that means an active misfire, whatever the code.
Indicative cost (USD)
$220–$980
From this code's diagnostic notes. Varies by vehicle, diagnosis, parts, and local labor. This is not a repair quote.
$220 (single Bosch OEM pre-cat sensor on an N54) to $980 (both pre-cat sensors plus harness repair on an N63 with a chafed loom).
P1097 on a BMW is a Bank 2 Lambda Probe Pre-Cat Heating fault — the upstream (pre-cat) oxygen sensor on bank 2 has an integrated heater element that the DME pulses to bring the sensor to its operating temperature (around 600-800°F) within ~30 seconds of cold start, and the DME monitors the heater's current draw to confirm it's working.
How a shop works this
Work from evidence to part, not the other way round. A code names a circuit or a symptom; it does not name the part that failed.
Note every code that is set, not just this one.
Codes that appear together usually narrow the cause faster than any one of them read alone.
Read the freeze frame — the conditions the fault was recorded under.
Cold or warm, idle or load, road speed and engine speed. A fault that only appears cold is a different fault from one that only appears under load, even with the same code on the scanner.
Confirm the fault is current rather than history.
Clear the code and see whether it returns under those same conditions. A code that does not come back may have been logged during a repair, a flat battery, or a bad connection that has since been disturbed.
Then follow the diagnostic notes further down this page, in the order they are written.
They are written in the order a shop works this code, cheapest checks first. Where they name a component, inspect its wiring and connector before replacing it.
If the code comes back after a repair, the underlying fault is still there. That is the point to bring in a scanner with live data and freeze-frame, or a shop that has one.
Common symptoms
- Check engine light
Read the full diagnostic procedureP1097 on a BMW is a Bank 2 Lambda Probe Pre-Cat Heating fault — the upstream (pre-cat) oxygen sensor on bank 2 has an integrated heater element that…
P1097 on a BMW is a Bank 2 Lambda Probe Pre-Cat Heating fault — the upstream (pre-cat) oxygen sensor on bank 2 has an integrated heater element that the DME pulses to bring the sensor to its operating temperature (around 600-800°F) within ~30 seconds of cold start, and the DME monitors the heater's current draw to confirm it's working. Healthy O2 heater circuits draw 0.5-2.0A during warmup with cold heater resistance of 2-15 ohms (typical Bosch and NGK BMW-OEM sensors land 4-9 ohms at room temperature, climbing as the heater warms); P1097 sets when the heater current is outside the calibrated window, when heater resistance reads open or shorted, or when the DME's smart-power driver detects an over-current/under-current fault on the heater output. Bank 2 is the cylinder bank that contains cylinder 2 on BMW inline engines (i.e., the front bank on most longitudinal layouts, though on transverse Minis and some F-chassis variants the convention reverses — check the FSM for your specific platform).
Diagnostic order
- Pull the bank 2 pre-cat O2 sensor connector and ohm the heater pins on the sensor side (typical 4-9 ohms cold; open = heater burned out, replace sensor).
- Backprobe the connector and verify 12V on the heater supply pin during the first 30 seconds after cold start.
- Check the DME's smart-power driver fuse (if equipped — late F-chassis cars share a fuse across multiple O2 heaters and a single shorted heater can pop the fuse and drop multiple sensors). Expensive-misdiagnosis caveat: don't replace the O2 sensor before verifying it's actually the heater circuit and not a fueling issue contaminating the sensor element with carbon — on V8 N63 cars and V12 N74 cars, a misfiring cylinder on bank 2 dumps unburned fuel onto the pre-cat sensor and carbon-loads the element, which the DME can mis-interpret as a heater fault when it's actually a fueling fault upstream; scan for misfire counters and bank 2 fuel trim before throwing $200-350 at a new sensor.
Vehicle-specific patterns2007-2013 BMW N54 3.0L twin-turbo (E90/E92 335i, E60 535i, E89 Z4 35is) and 2010-2016 N55 single-turbo (F30 335i, F22 M235i) frequently throw P1097 a…
- 2007-2013BMW N54 3.0L twin-turbo (E90/E92 335i, E60 535i, E89 Z4 35is) and 2010-2016 N55 single-turbo (F30 335i, F22 M235i) frequently throw P1097 after 60-100K mi as the OEM Bosch sensors hit thermal-cycle end-of-life — replace as a pair (B1S1 and B2S1) since they age together.
- 2009-2019BMW N63 4.4L twin-turbo V8 (F10 550i, F12 650i, F15 X5 50i) throws P1097 aggressively because the pre-cat sensors live in extreme heat near the close-coupled cats and burn out predictably at 50-80K mi; BMW's CCP for the N63 covers the sensors on affected VINs.
- 2007-2013BMW N52 3.0L NA inline-6 (E90 328i, E60 528i) and 2007-2008 N51 SULEV variants throw P1097 less often but follow the same pattern.
- 2008-2015BMW N20/N26 2.0L turbo (F30 328i, F22 228i) on bank 2 — wait, the N20 is a 4-cylinder with a single bank, so P1097 doesn't apply; if you see P1097 on an N20 it's a misread or a scan-tool error.
Estimated repair$220 (single Bosch OEM pre-cat sensor on an N54) to $980 (both pre-cat sensors plus harness repair on an N63 with a chafed loom).
Look up another code
More free tools