Back to Vehicles
BMW2019-2023Code Combo

P0346 Code: BMW 3-Series (2019-2023) - Causes, Symptoms & Fixes

Complete guide to P0346 diagnostic trouble code on 2019-2023 BMW 3-Series - causes, symptoms, repair costs

Get Personalized Help

Ask about specific issues with your BMW 3 Series.

Ask MechanicGPT

No recalls found in NHTSA database.

Below is a comprehensive diagnostic guide for OBD2 code P0346 on 2019–2023 BMW 3-Series. This guide uses general OBD/engine-management knowledge plus BMW-specific notes. The data you provided shows no owner complaints or recalls in NHTSA for this exact combination, so I’ve included standard BMW-specific diagnostic considerations and cost ranges for 2025.

CODE MEANING AND SEVERITY

  • Code: P0346
  • Description: Camshaft Position Sensor “A” Circuit Range/Performance (Bank 1 or Engine 1)
  • What it means: The engine control module (DME) sees the camshaft position sensor signal out of expected range or a fault in the circuit feeding that sensor. In BMWs, this sensor is used to determine cam timing in relation to the crankshaft position, which is critical for proper ignition timing and fuel injection timing.
  • Severity: Moderate to potentially high. It can cause rough running, misfires, reduced power, difficulty starting, or an inoperative MIL. In some cases the engine may run in limp/limp-home mode or may fail to start.

COMMON CAUSES ON BMW 3-SERIES

  • Faulty camshaft position sensor (CMP sensor) itself (A sensor for Bank 1/Engine 1).
  • Damaged or corroded CMP sensor connector or wiring harness between the CMP sensor and the DME (insulation wear, bent pins, water intrusion, poor ground).
  • Faulty or sticking VANOS solenoids or limited oil supply to VANOS (VANOS timing control can affect cam position data and trigger P0346).
  • Timing issues related to variable valve timing components (timing chain tensioners/rails or guides) causing an erratic cam signal (less common but possible in older or high-mileage engines).
  • Electrical supply problems: bad 5V reference or ground to the CMP sensor, blown fuse, or DME reference-voltage issues.
  • Oil condition or contamination affecting hydraulic components (VANOS, solenoids) and sensor signal indirectly.
  • Crankshaft position sensor or related timing signals degraded (cam signal can be interpreted incorrectly if crank signal is inconsistent, depending on scanner data).
  • Software calibration or DME fault (rare, but possible in some cases).

SYMPTOMS

  • MIL illumination with P0346 stored or pending.
  • Rough idle or misfires on one or more cylinders.
  • Hesitation, bucking, or reduced engine power during acceleration.
  • Hard starting or extended crank time; intermittent starting issues.
  • Deteriorated fuel economy.
  • In rare cases, engine may stall or fail to start.
  • Some BMWs may enter a limp mode or restrict engine power if a cam/crank sync issue is detected.

DIAGNOSTIC STEPS

Note: Conduct diagnostics with a suitable BMW-compatible scan tool (or a capable OBD-II tool) that can read live sensor data and CAM/CRANK sync data. Document freeze-frame data and any related codes (P0340–P0349 family).

Step 1 – Confirm and gather data

  • Read codes: Confirm P0346 and check for related codes (P0340, P0341, P0344, P0345, P1336, etc.).
  • Retrieve live data: Observe Camshaft Position Sensor (CMP) data for Bank 1/Engine 1 and Crankshaft Position Sensor (CKP). Compare CMP reading to CKP reading and engine RPM.
  • Look at sensor timing relation: If available, view the relative timing between CMP and CKP (some BMW scanners show a “cam/crank correlation” or a start-up waveform). Note any large lag, jitter, or failure to track RPM.

Step 2 – Inspect the CMP sensor and wiring

  • Visually inspect CMP sensor and connector for signs of damage, oil intrusion, corrosion, or loose pins.
  • Check the wiring harness for pinched, frayed, or chafed wiring. Inspect the ground wire and the 5V reference wire (as applicable).
  • Disconnect and inspect the connector for corrosion; clean with appropriate contact cleaner and reconnect firmly.

Step 3 – Test CMP sensor and circuits

  • With ignition off, back-probe the CMP sensor harness to measure reference voltage (and verify 5V reference if the system uses a 5V reference) and ground continuity. A poor ground or a weak reference can cause erratic readings.
  • If you have a scope or a capable scanner, monitor CMP sensor signal while cranking. A healthy CMP sensor should produce a clean, stable waveform; look for dropout, noise, or irregularities.
  • Compare CMP sensor reading to CKP reading. If CKP is valid and CMP is erratic or missing, suspect CMP sensor or its wiring.

Step 4 – Check VANOS and oil system

  • Inspect VANOS solenoids for proper operation (some BMWs let you command solenoids on/off via the scan tool). Sticking solenoids or dirty oil can affect timing control and cause cam-position signals to appear out of range.
  • Check oil level and oil quality. Old or very dirty oil can affect hydraulic VANOS function. Change oil if due for service; consider replacing oil filter with BMW-recommended oil.
  • Look for any stored VANOS-related codes (e.g., P132B, P1517, etc.) that might indicate VANOS faults contributing to P0346.

Step 5 – Rule out mechanical timing concerns

  • If CMP and wiring check out, and VANOS is operating, consider a potential timing issue (rare on relatively new engines but possible with high mileage). Signs include noisy timing components or mis-timing diagnostics that persist after sensor replacement.
  • A compression test can help determine if there is a mechanical timing issue or mis-timing problem that could cause cam/crank mismatch signals.

Step 6 – If the CMP is replaced or wiring repaired

  • After repairs, clear codes and perform a road test or drive cycle to verify that P0346 does not return and that CMP/CKP data track properly.
  • Re-scan to confirm no other codes appear, especially those related to cam/crank synchronization.

Step 7 – Consider professional assessment if uncertain

  • If you don’t have the right diagnostic tools or experience with BMW VANOS systems, seek professional service. Incorrectly diagnosing CAM timing or damaging the sensor/wiring during DIY work can cause further problems.

RELATED CODES

  • P0340: Camshaft Position Sensor A Circuit Malfunction
  • P0341: Camshaft Position Sensor A Circuit Range/Performance (Bank 1 or Engine 1)
  • P0344: Camshaft Position Sensor A Circuit Intermittent
  • P0345: Camshaft Position Sensor A Circuit Range/Performance (Bank 1 or Engine 1) – alternate variations
  • P0335 or P0336: Crankshaft Position Sensor issues (sometimes flagged when CMP signal is suspect or when timing is uncertain)
    Note: Related codes often accompany P0346; diagnosing CMP signal integrity, torqueing, and synchronization issues is essential before replacing components.

REPAIR OPTIONS AND COSTS (2025 PRICES)

Prices vary by region, shop, and specific engine configuration (B58 vs N55 vs B46 variants in different 3-series models). The ranges below reflect typical nationwide costs as of 2025.

  • Camshaft Position Sensor (CMP Sensor) replacement

    • Parts: $25–$150
    • Labor: 0.5–1.2 hours
    • Typical total: $100–$350
      Notes: On many BMWs the CMP sensor is relatively accessible from the top or side of the engine; replacement is a common first step for P0346.
  • CMP sensor wiring/connector repair or harness replacement

    • Parts: $20–$120 (depends on extent; harness repairs can be more)
    • Labor: 0.5–2 hours
    • Typical total: $100–$500
      Notes: If wiring damage is extensive, the harness route and connector replacement may be warranted.
  • VANOS solenoid replacement or cleaning

    • Parts: $50–$180 per solenoid
    • Labor: 1–2 hours (can be more if multiple solenoids)
    • Typical total: $150–$500
      Notes: In some cases cleaning or replacing solenoids and ensuring proper oil supply resolves P0346 if CMP wiring is known good.
  • Timing chain/tensioner/service (rare for P0346 but possible if mechanical issue)

    • Parts: $200–$600 (timing chain, tensioners, guides)
    • Labor: 4–8+ hours
    • Typical total: $800–$2,500+
      Notes: This is a major repair. If diagnosis indicates timing issues rather than sensor issues, expect this tier of repair.
  • Oil service and filter (if due)

    • Parts: $15–$40
    • Labor: 0.5 hours (if performed with other maintenance)
    • Typical total: $50–$120
      Notes: Regular oil service is often part of a broader VANOS-related repair plan.
  • Software/ECU reprogramming or reflash (if needed)

    • Parts/Software: $0–$150 (dealer or advanced shop)
    • Labor: 0.3–1.0 hours
      Notes: Some cases benefit from software calibration updates to better manage sensor data or VANOS control.

Important: These are typical ranges; actual quotes vary by dealer, indie shop, model year (G20 vs F30/F3x), engine variant (B58, N55, B46), regional labor rates, and whether multiple issues are diagnosed and repaired together.

DIY VS PROFESSIONAL

  • DIY-friendly candidates:

    • Replacing a CMP sensor is usually within DIY reach for a mechanically inclined person with basic hand tools, a jack/stands, and a good OBD-II scanner.
    • Steps typically involve disconnecting the battery, locating the CMP sensor, disconnecting the electrical connector, removing fasteners, replacing the sensor, and reassembling. Relearn or reset may be required via scanner.
    • Pros: Lower cost; educational; quick turnaround.
    • Cons: Access can be awkward on some BMW engines; risk of damaging wiring or misplacing connectors; mis-diagnosis can lead to unnecessary parts replacement.
  • Professional service recommended if:

    • You lack experience with BMW VANOS systems or you suspect timing-chain-related issues.
    • The CMP wiring shows signs of damage or water intrusion; you cannot easily determine the integrity of the 5V reference and ground.
    • You’ve replaced the CMP sensor and the code persists; the problem may lie with VANOS, oil supply, or timing.
    • You don’t have a trustworthy scan tool that can read live CMP/CKP timing data and command VANOS solenoids.
  • Safety notes:

    • Always disconnect the battery when disconnecting electrical connectors near the engine bay.
    • Work carefully around serpentine belts and pulleys; avoid contact with hot engine parts.

PREVENTION

  • Regular oil maintenance:

    • Use BMW-approved/multi-grade synthetic oil and the correct viscosity for your engine; change at recommended intervals.
    • Check oil level regularly and look for oil leaks around the VANOS area.
    • Use high-quality oil to ensure proper hydraulic function of VANOS solenoids and cam timing.
  • Maintain clean sensor and connector interfaces:

    • Periodically inspect CMP sensor and its connector for signs of corrosion or oil seepage.
    • Clean or reseal connectors if corrosion is detected; apply dielectric grease as appropriate.
  • Keep air intake and vacuum lines in good condition:

    • A clean air path reduces sensor misreadings and the burden on the engine control system.
  • Avoid aggressive engine starts and allow proper warm-up (especially on turbo or VANOS-equipped engines):

    • Gentle driving after cold start gives sensors and actuators time to stabilize.
  • Monitor and address oil quality promptly:

    • Low oil pressure or dirty oil can affect VANOS and cam timing; address leaks or oil consumption issues promptly.
  • Professional periodic VANOS health checks:

    • At about 60k–100k miles (varies by model), have a professional check VANOS solenoids and oil supply as part of a routine service to prevent cam timing issues.

Summary

  • P0346 on a 2019–2023 BMW 3-Series indicates a camshaft position sensor circuit issue with a range/performance fault. The most common causes are CMP sensor or connector/wiring problems, or VANOS-related issues affecting cam timing signals. Mechanical timing problems are less common but possible in higher-mileage or poorly maintained engines.
  • Start with CMP sensor inspection/replacement and check wiring; if the fault persists, evaluate VANOS solenoids and oil supply, and consider timing-chain-related diagnostics.
  • No recalls found in NHTSA database for this exact data set; the guide relies on general diagnostic knowledge and typical 2025 repair cost ranges.
  • Budget for a CMP sensor replacement with wiring checks is typically around $100–$350; more extensive repairs involving VANOS or timing chains can push costs higher, often into the $500–$2000 range depending on scope and labor rates.
  • DIY work is feasible for a competent enthusiast on CMP-related symptoms; otherwise, professional diagnosis is advised to avoid unnecessary parts replacement and to properly diagnose VANOS or timing issues.

Frequently Asked Questions

The 2019-2023 BMW 3 Series has several known issues that vary by model year. See our detailed guide for specific problems, causes, and repair costs.

Vehicle Info

MakeBMW
Model3 Series
Years2019-2023

DISCLAIMER: This information is for educational purposes only. MechanicGPT is not a licensed mechanic. Always consult a certified mechanic for diagnosis and repair. Improper repairs can be dangerous.