No recalls found in NHTSA database
No owner complaints data are provided for this exact make/model/year in the material you shared. This guide is a practical, general diagnostic guide for P0340 on a 2017-2023 Subaru Impreza, using standard automotive practice. It aims to help you decide between DIY fixes and professional service. Data limitations: there are no official recall/complaint signals in your dataset, so follow-up with a local dealer or independent shop if you want to corroborate with current NHTSA records.
CODE MEANING AND SEVERITY
- Code: P0340 — Camshaft Position Sensor Circuit Malfunction (Camshaft Position Sensor A Circuit). It indicates the PCM detected an issue with the camshaft position sensor circuit or signal.
- In Subaru Impreza (2017-2023), this typically points to the camshaft position sensor or its wiring, but can also involve related power/ground supplies or, less commonly, timing components.
- Severity:
- Could cause difficulty starting or no-start.
- Engine may run rough, misfire, or stall.
- Power and drivability can be reduced; engine may enter a limp/limited mode to protect itself.
- MIL (Check Engine Light) is usually illuminated.
- Important note: P0340 is a circuit/signal fault. Many vehicles will run poorly or not at all until the issue is fixed, but some engines may still run in a degraded state.
COMMON CAUSES ON SUBARU IMPREZA
- Faulty camshaft position sensor (the most common cause).
- Damaged, frayed, or corroded wiring harness or connector to the cam sensor (pins damaged, moisture ingress, oil contamination).
- Oil leaks or added oil on the sensor itself, or oil inside the connector causing conductivity issues.
- Poor ground or 5V reference supply to the sensor (ground path or reference voltage interruption).
- Timing-related issues: timing chain tensioner/guide wear or chain slip leading to cam position signal being out of spec (less common, but possible on aging engines).
- Crankshaft position sensor faults or PCM/ECM fault (less common but could contribute to missynchronization).
- Faulty reluctor ring or misalignment around the cam gear (engine mechanical issue).
- Sensor installation error or incorrect replacement (wrong sensor type, torque, or orientation).
SYMPTOMS
- Check Engine Light (MIL) on with P0340.
- Hard starting or no-start condition.
- Rough idle, intermittent stalling, or engine stumble.
- Reduced engine power or acceleration, especially under load.
- Intermittent misfires (P0300-class symptoms) due to timing signal issues.
- In some cases, a vehicle may start and run normally for a short period before code retrieval reoccurs.
DIAGNOSTIC STEPS
Note: This is a structured approach. If you lack the tools (e.g., an oscilloscope), you can still make solid progress with a high-quality scan tool and multimeter.
Step 0 — Confirm and gather data
- Scan for P0340 with a reliable OBD-II scanner.
- Note freeze-frame data: engine RPM, KOER/KOA status, injector/CAM/CRANK status, etc.
- Check for related codes (e.g., P0341, P0345, P0335, P0300, P0301–P0308). P0340 often appears alongside other misfire or sensor codes.
Step 1 — Visual inspection
- Inspect camshaft position sensor and its connector for signs of damage, corrosion, oil exposure, or bent pins.
- Inspect the wiring harness near the sensor for chafing, heat damage, or oil leaks.
- Verify the sensor is properly seated and mounted with the correct torque (per service spec).
- Look for oil leaks in the area that could contaminate the sensor or connector.
Step 2 — Check power, ground, and reference to the sensor
- With the ignition ON (engine OFF), back-probe the cam sensor connector:
- Verify 5V reference on the sensor’s Vref pin (as specified for Subaru CPS; exact pin may vary by engine model).
- Verify good chassis/PCM ground on the sensor ground pin.
- With the key ON and engine cranking (or engine running if you can safely do so), check the signal wire:
- You should see a signal activity from the cam sensor pin (pulse/travel signal) on a scope or a recognized scan tool live data view.
- If you have a multimeter only:
- Confirm continuity from the cam sensor ground to a known engine ground.
- Confirm continuity from the sensor reference/5V circuit back to the PCM harness (low resistance path).
Step 3 — Inspect the sensor signal (best method)
- If you have an oscilloscope:
- Observe the cam sensor output waveform. It should present a clean, consistent signal that correlates with engine rotation.
- Compare to crank sensor waveform if available to assess timing alignment.
- If you don’t have an oscilloscope:
- Use live data in the scan tool to verify the cam sensor value changes with crank/engine movement. A flat line or jittery/absent signal suggests sensor or wiring fault.
Step 4 — Mechanical timing check
- If sensor power/ground and signal appear correct, and the code persists after cleaning/replacing the sensor, verify timing:
- For DOHC Subaru engines, verify cam/crank timing marks per factory procedure.
- Look for signs of timing chain stretch, tensioner wear, or guides that could cause timing drift.
- If timing is off, tensioner/chain kit, guides, or chain alignment may be required.
- Note: This is more involved and typically requires service manual reference and proper tooling. If you’re not experienced with timing work, consider a pro.
Step 5 — Cross-check and isolate
- Swap a known-good cam sensor if feasible (or try a new sensor) to isolate sensor vs wiring vs ECM fault.
- Check for oil contamination on the sensor or inside the connector; clean or replace as needed.
- Re-test after each change and clear codes. Drive to verify the fix.
Step 6 — Decide on repair path
- If sensor/wiring is faulty (no or erratic cam signal, correct 5V/ground present): replace cam sensor and fix the wiring harness as needed; re-test.
- If timing has slipped or components show wear: address timing components (chain, tensioner, guides, possibly water pump) and re-check cam timing after service.
- If ECM is suspected (rare): involve professional diagnosis; flash or replacement may be needed.
RELATED CODES
- P0341 — Camshaft Position Sensor Circuit Range/Performance (Bank 1 or Bank 2), or variant depending on engine.
- P0345 — Camshaft Position Sensor A Circuit (Bank 2) Malfunction (less common on a single-bank Subaru engine setup, but related in some models).
- P0335 — Crankshaft Position Sensor A Circuit Malfunction (crank sensor issues can accompany cam sensor faults).
- P0300–P0308 — Random/Multiple/Specific Cylinder Misfire; often seen with cam or crank sensor issues.
- Other cam/crank sensor related or timing-related codes may appear if timing is actually out of sync.
REPAIR OPTIONS AND COSTS (2025 PRICES)
Prices vary by region, shop, and whether OEM or aftermarket parts are used. All prices are typical ranges and may fluctuate.
Camshaft Position Sensor replacement (most common fix)
- Parts: $25–$120 (often $40–$80 for aftermarket; $80–$120 for OEM or higher-tier).
- Labor: 0.5–1.5 hours (depending on access in the Impreza engine bay).
- Estimated total: $120–$320 (range depends on shop rate and parts chosen).
Wiring harness/connector repair or replacement
- Parts: $20–$150 (depending on length/repair needs).
- Labor: 1–2 hours.
- Estimated total: $140–$420.
Timing chain, tensioner, guides (if timing issue confirmed)
- Parts: $200–$600 (kit and related components).
- Labor: 4–8 hours.
- Estimated total: $900–$1,800 (or more, depending on labor rate and additional work like water pump or seals).
Engine control module (ECM/PCM) related
- Parts: $350–$1,000 (new or remanufactured).
- Labor: 1–2 hours (plus programming/desk time if needed).
- Estimated total: $700–$1,500.
Miscellaneous
- Gaskets, seals, fluids, and consumables may add $20–$100.
- Diagnostic fees if done at a shop: typically $80–$150 (often waived if you proceed with the repair).
Tips:
- Most P0340 cases resolve with a cam sensor and/or wiring fix. Reserve timing components replacement for confirmed timing-related symptoms or a persistent code after sensor/wiring work.
- If you’re price-conscious, start with sensor replacement and wiring inspection; avoid unnecessary timing work unless timing data confirms misalignment.
- Using OEM or high-quality aftermarket sensors can reduce the chance of repeat failure.
DIY VS PROFESSIONAL
- DIY feasibility:
- Replacing a camshaft position sensor on many Subaru engines is a straightforward job that many DIYers can handle with basic hand tools.
- Access varies by engine variant; some Impreza layouts place the sensor in a reachable spot behind the timing cover or near the camshaft gear. Do a quick “sensor location” check for your exact engine code (e.g., FA20/FB20 variants) before starting.
- Tools you’ll typically need: basic metric sockets, a torque wrench, screwdrivers, dielectric grease, multimeter (for power/ground checks), and optionally an oscilloscope or a capable scan tool for waveform data.
- Professional considerations:
- If the cam timing needs inspection or adjustment, or if wiring harness repair is extensive, a professional with service manuals and the proper tools is recommended.
- A professional can also confirm timing alignment and perform a proper test drive with diagnostic data.
Safety and caution:
- Always disconnect the battery before removing electrical connectors to the sensor.
- When working around the cam area, ensure the engine is off, cool, and the serpentine belt or other moving parts are secured.
- If you’re not comfortable with timing-related work or risk of engine damage, seek professional help.
PREVENTION
- Regular maintenance to minimize oil leaks (which can contaminate sensors) and keep engine clean.
- Address oil leaks promptly to prevent sensor contamination.
- Use high-quality oil and filters and follow Subaru service intervals; clean oil helps maintain sensor reliability.
- Inspect wiring harnesses near the engine for signs of wear, chafing, or heat damage during routine maintenance.
- When replacing sensors or wiring, use proper torque specs and ensure connectors are fully seated and locked to avoid intermittent connections.
- Store and handle electrical connections with care to avoid moisture ingress; use dielectric grease as needed on connectors.