OBD-II Code · Fuel & Air
P1097
Manufacturer-Extended Powertrain Code (P1097)
See deep dive below for full diagnostic context.
Common symptoms
- CEL
Likely causes
- See deep dive
Where to start
- Try the cheapest cause first. Start by checking: see deep dive.
- Cost & scope. $50-$2,000
- If the code returns after the fix: escalate to a shop or scanner with live-data and freeze-frame. A code that re-sets means the underlying fault is still there.
Read the full diagnostic procedure
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: (1) 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). (2) Backprobe the connector and verify 12V on the heater supply pin during the first 30 seconds after cold start. (3) 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 patterns
Vehicle-specific patterns: 2007-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 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-2019 BMW 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-2013 BMW 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-2015 BMW 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).
Related codes
Look up another code
More free tools