Below is a comprehensive diagnostic guide for OBD-II code P0346 (Camshaft Position Sensor “A” Circuit Range/Performance — Bank 1) as it applies to 2017–2023 BMW 5-Series. The guidance blends general automotive diagnostic best practices with BMW-specific considerations. Note the data you provided from NHTSA shows no owner complaints and no recalls/TSBs for this exact model/year combination. No recalls found in NHTSA database.
CODE MEANING AND SEVERITY
- Definition: P0346 indicates the Camshaft Position Sensor (CMP) A circuit is not within expected range or is experiencing performance problems. In BMW 5-Series (2017–2023), this typically refers to Bank 1, which, on many engines in this generation, is the bank containing cylinder 1 or the primary cam position sensor used by the DME for crank-cam synchronization.
- Severity: Moderate to potentially severe. A failing or failing-wired CMP sensor can cause misfire, rough idle, reduced power, poor drivability, stalling, or even a no-start condition. In BMWs, intermittent signals can also trigger limp-mode scenarios or multiple other fault codes related to timing and VANOS.
- Impact and symptoms to expect:
- Malfunction indicator lamp (Check Engine Light) illuminated
- Rough idle, misfires, or reduced engine power
- Difficulty starting or intermittent stalling
- Potentially abnormal engine timing behavior if the signal is drifting or erratic
- Possible interaction with VANOS timing issues (see related codes)
COMMON CAUSES ON BMW 5-SERIES
- Faulty CMP sensor A (Bank 1): Sensor failure or degraded sensing element
- Faulty/oxidized or damaged CMP sensor connector or wiring harness: bent pins, corrosion, insulation damage, loose connection
- Wiring problems between CMP sensor and the ECU/PCM: damaged insulation, short to ground or battery voltage
- ECM/PCM reference issues: 5V reference or ground problems (less common but possible)
- Timing-related issues:
- Worn or stretched timing chain or guides/tensioners (causing timing drift)
- VANOS solenoid or oil flow issues affecting cam timing
- Mismatch or misalignment of the camshaft relative to the crankshaft timing (rare but possible)
- Oil contamination or poor oil condition: varnish or debris on sensor or reluctor ring, or low oil pressure affecting sensor performance
- Other related sensors: occasionally codes like P0010/P0011 (cam timing related) or P0016/P0017 may appear alongside P0346 if timing is affected
SYMPTOMS (typical)
- MIL illuminated with P0346 stored
- Rough idling or engine misfires
- Reduced engine power and acceleration
- Hard starting or no-start in some cases
- Intermittent stalling or poor drivability
- In some BMWs, other timing-related codes may appear if cam timing is drifted
DIAGNOSTIC STEPS
Note: Work safely, with the engine cold and the ignition OFF when inspecting wiring. Use a quality scan tool with live data and, if available, an oscilloscope.
A. Confirm and contextualize the code
- Use an OBD-II/BMW-compatible scan tool to confirm P0346 and note any freeze-frame data (RPM, engine load, coolant temp, etc.).
- Check for other codes related to CAM/CRANK timing, VANOS, misfires (P0300-series), or mis-timing.
B. Visual inspection
- Inspect CMP sensor A and its connector for signs of damage, oil ingress, corrosion, bent pins, or loose fitment.
- Inspect the wiring harness on the sensor for chafing, abrasion, or pin damage. Look for heat/oil exposure around the timing cover area.
- Check for oil leaks around the CMP sensor area, and ensure the sensor is properly seated.
- Inspect associated vacuum/PCV hoses and nearby plugs that could cause rough running or vacuum leaks.
C. Electrical checks (recommended with the engine OFF/ON)
- Confirm 5V reference and ground:
- With the ignition ON (engine OFF if possible or cranking briefly), verify the CMP sensor’s signal line relative to ground. The CMP sensor typically uses a 5V reference with a single signal lead.
- Verify that the reference (5V) is present at the sensor connector and that the sensor ground is solid.
- Continuity and resistance:
- Check continuity from the CMP sensor connector to the PCM/ECU harness connector for the signal and ground wires.
- Inspect for short to ground or short to voltage.
- Cam/crank correlation (with engine cranking and starter engaged or engine running as appropriate for your tool):
- Use data readouts to observe the CMP signal waveform as RPM changes. A healthy sensor should show a clean, stable waveform proportional to RPM. A noisy, jittery, or flat signal indicates a sensor or wiring fault.
- If available, use oscilloscope:
- Capture the CMP signal waveform and compare to the crankshaft position sensor signal. A significant phase mismatch or irregular waveform indicates timing/sensor issues.
D. Mechanical/timing checks (if electrical checks point toward timing concerns or if symptoms persist after sensor replacement)
- Check for timing chain wear, tensioner wear, and chain guides if you suspect timing drift or if the symptoms suggest a timing issue (especially if P0010/P0011 or P0016/P0017 appear or if there is known maintenance interval in your vehicle).
- If the engine has a perception of being out of time (misalignment between cam and crank), you may need a more thorough timing inspection by a BMW-specialized shop, as these engines rely on precise cam timing for proper operation.
E. Cross-check with related BMW VANOS codes
- If P0346 is accompanied by P0010, P0011, P0016, P0017, P1340, or P1341-type codes, this strongly suggests timing or VANOS-related concerns on BMW engines and should be addressed with timing/solenoid service or chain/guide replacement as indicated.
F. Repair approach based on findings
- Sensor/wiring fault: Replace CMP sensor and repair/replace any compromised harness or connector. Re-seat and protect the connector with dielectric grease where appropriate.
- Sensor OK but wiring compromised: Repair wiring harness and secure connectors; test again.
- Timing-related findings: If timing drift or chain tensioners/solenoids are implicated, plan for possible timing chain kit replacement, tensioner/guide service, and related components. This is a more involved repair and may require engine bousing disassembly or professional service.
G. Post-repair verification
- Clear codes and perform a thorough road test (including idle, acceleration, and pull tests at multiple RPM ranges).
- Re-scan to confirm P0346 is cleared and that no new codes appear. Verify that CMP signal waveform now looks normal.
- Confirm smooth idle and proper starting. If symptoms persist, re-evaluate for additional causes (e.g., crank position sensor, other CAM sensor, or ECU software).
RELATED CODES
- P0340 Camshaft Position Sensor Circuit Malfunction (Bank 1)
- P0341 P0342 P0343 variants (Sensor A/B or circuit short/range)
- P0010, P0011, P0012 (Camshaft Position Timing — Advance/Retard or Banks)
- P0016, P0017 (Crankshaft/Camshaft correlation issues)
- P0300, P0301–P0308 (Random/Specific Misfire codes) that may appear with cam timing issues
Note: In BMWs, cam timing/MIL codes often appear in conjunction with VANOS-related codes; a broader timing/vanos assessment can be necessary if P0346 persists after sensor replacement.
REPAIR OPTIONS AND COSTS (2025 PRICES)
Important: These are approximate ranges for the United States and can vary by region, dealer vs independent shop, and OEM vs aftermarket parts.
CMP sensor replacement (Bank 1 A sensor)
- Parts: CMP sensor typically $30–$120 (OEM vs aftermarket)
- Labor: 0.5–1.0 hour
- Estimated total: $150–$350
CMP sensor harness/connector repair
- Parts: Wires/connectors as needed, $20–$60
- Labor: 0.5–1.0 hour
- Estimated total: $100–$250
Wiring harness repair/replacement (if damage extensive)
- Parts: Wiring harness segments or full harness repair kit, $50–$200
- Labor: 1–2 hours
- Estimated total: $200–$600
VANOS solenoid(s) service (if implicated)
- Parts: VANOS solenoids, $60–$200 each
- Labor: 1–2 hours
- Estimated total: $350–$900 (depending on number of solenoids and labor)
Timing chain kit replacement (uncommon but possible if timing is off or chain wear is evident)
- Parts (timing chain kit, tensioners, guides): $150–$500
- Labor: 4–8 hours (high-lodging, BMW-specific procedures)
- Estimated total: $1,000–$3,000
Full timing system service (rare, but possible if tensioner/all timing components are worn)
- Parts: Timing kit plus gaskets, oil pump components as needed
- Labor: 6–12 hours
- Estimated total: $2,000–$4,500
Oil/filter and basic maintenance (supportive, not a fix)
- Parts: Oil, filter, gasket sealants: $25–$75
- Labor: 0.5 hour
- Estimated total: $60–$120
Important note: The data provided indicates no recalls and no documented complaints for this exact model/year with this issue. “No recalls found in NHTSA database.” This means the guide relies on general mechanical knowledge and common failure patterns rather than model-specific NHTSA recall/TSB data. If you are working with a BMW technician, they may reference BMW TSBs or service bulletins not captured in the provided data.
DIY vs PROFESSIONAL
- DIY feasibility:
- Replacing CMP sensor alone is typically within the capability of a skilled DIYer with basic hand tools, a torque wrench, and a good wiring diagram. It may require removal of nearby components to access the sensor in some BMW layouts.
- Electrical testing (multimeter and, ideally, an oscilloscope) helps confirm sensor condition and wiring.
- If you suspect timing chain wear, VANOS issues, or you need to access timing components, DIY becomes high difficulty with significant risk; professional service is recommended.
- Professional considerations:
- BMW 5-Series 2017–2023 engines involve sophisticated VANOS systems, electronics, and potentially plastic timing components that require specialized tools and software to diagnose correctly.
- A shop with BMW-specific tooling can perform advanced timing checks, VANOS calibration, and programming updates if necessary.
- If the car exhibits starting problems, stalling, or drivability issues, professional diagnosis is often quicker and safer.
PREVENTION
- Regular maintenance:
- Follow BMW’s recommended service intervals for oil changes with proper synthetic oil of the correct viscosity. Clean oil reduces varnish buildup and helps sensors operate reliably.
- Use OEM or BMW-approved parts for sensor replacements, electrical harnesses, and timing components when possible.
- Electrical care:
- Keep the engine bay dry and clean; prevent water intrusion into sensor connectors.
- Periodically inspect electrical connectors and wiring harnesses near the engine for wear, cracks, or moisture exposure; apply dielectric grease to protect connectors where appropriate.
- Timing system care (where applicable to your engine variant):
- For engines with timing chains and VANOS, adhere to maintenance guidelines regarding chain tensioners and guides, especially if the vehicle has high mileage or known maintenance intervals.
- Oil quality and levels:
- Maintain proper oil level and use the correct grade; oil starvation can affect sensor performance and timing components.
- Diagnostics and software:
- Have software and calibration updates performed as recommended by BMW, since ECU/DME software can influence sensor thresholds and timing control maps.
Recalls and Warranties
- No recalls found in NHTSA database
- No recalls documented for this exact model/year/issue in the provided data
- If you suspect a defect, confirm with your BMW dealer or via official BMW service channels. Some issues may be addressed under extended warranty or recall campaigns not captured in the provided data.