P0340 on 2004-2011 Toyota 4Runner: Camshaft Sensor Circuit Causes and Fixes
P0340 on a Toyota 4Runner most often means a failing camshaft position sensor or a wiring issue. On V8 models, the sensor wiring behind the timing cover is a common failure point. A new OEM-quality sensor costs between $40 and $150, and it's a DIY-friendly fix for most owners, though V8 models require more labor to access the sensor.
- P0340 indicates a circuit problem, so always check the wiring and connector before replacing the sensor.
- On the 4.7L V8, suspect wiring damage behind the timing cover; this is a known issue.
- Always check your battery. A weak battery is a known cause for this code on Toyotas, as per a TSB.
- Use a high-quality OEM or Denso sensor for the replacement to avoid compatibility issues.
- If the vehicle has hard starting issues when warm, this code is a primary suspect.
What's Unique About the 2004-2011 Toyota 4RUNNER

The 2004-2011 4Runner spans two engine types with different designs. The 4.0L V6 (1GR-FE) has a timing chain, and its cam sensors are relatively easy to access on the valve covers. The 4.7L V8 (2UZ-FE), however, uses a timing belt, and the camshaft position sensor is located behind the timing belt cover. On the V8, the sensor's wiring harness is notoriously prone to getting frayed, pinched, or damaged by the timing belt, making a simple sensor code a more involved repair that often coincides with a timing belt service. This specific failure mode is a well-documented issue in owner forums.
Diagnostic Flowchart

Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.
Generation note: This range covers the end of the 4th generation (2004-2009) and the start of the 5th generation (2010-2011). The 4th gen offered both the 4.0L V6 and 4.7L V8 engines. The 2010-2011 5th gen models in this range primarily used the 4.0L V6. The diagnostic approach differs significantly between the V6 and V8 due to engine architecture and the common failure points associated with each.
Symptoms You May Notice
- Check Engine Light is on
- Engine is difficult to start or cranks for a long time but does not fire up
- Engine stalls unexpectedly, especially when warm or at idle
- Rough idling and engine hesitation or misfiring
- Noticeable loss of engine power and poor acceleration
- Vehicle may enter "limp mode," limiting engine power to prevent damage 🎬 Watch: A breakdown of common bad camshaft sensor symptoms
- Immediately replacing the camshaft position sensor without first inspecting the wiring harness and connector, especially on the 4.7L V8 where wiring damage behind the timing cover is a very common cause.
- Replacing the sensor with a cheap aftermarket part, which may be faulty out of the box or fail prematurely. Sticking with OEM or Denso is highly advised for Toyota electronics.
Most Likely Causes

- Damaged Camshaft Position Sensor Wiring or Connector 🔴 High Probability On the 4.7L V8, the sensor wiring is routed behind the timing cover and can be frayed or damaged by the timing belt. On both engines, the plastic connector can become brittle with age and heat, causing the locking tab to break and leading to a poor connection. Rodent damage to the harness is also a possibility.
How to confirm: Visually inspect the wiring harness leading to the camshaft position sensor for any signs of fraying, melting, or corrosion. On the V8, this requires removing the timing belt cover. Wiggle the connector to see if it's loose. Check for continuity from the sensor connector back to the ECM.
Typical fix: Repair the damaged section of wiring or replace the connector pigtail. A common pigtail part number for the 2UZ-FE is related to Toyota part 90980-10947. Secure the new connector with a zip tie if the locking tab is broken.
Est. part cost: $15-$40 - Failed Camshaft Position Sensor 🔴 High Probability
How to confirm: After confirming the wiring is intact and has proper voltage (typically 5V) and ground, the sensor is the next logical part to replace. An oscilloscope can definitively test the sensor's square wave signal output. A simple resistance test with a multimeter can also be performed, comparing the reading to the factory specification.
Typical fix: Replace the camshaft position sensor for Bank 1. It is strongly recommended to use OEM (Toyota) or the original equipment manufacturer brand (Denso) for Toyota electronics to avoid compatibility issues.
Est. part cost: $40-$150 - Low Battery Voltage or Weak Charging System 🟡 Medium Probability A Toyota Technical Service Bulletin (T-TT-0010-10 Rev) explicitly states that low battery voltage can cause inconsistent engine rotational speed, leading to a P0340 code. A bad alternator or even a failing starter drawing excessive current can also cause voltage issues that trigger this code.
How to confirm: Test the battery voltage with a multimeter with the engine off (should be ~12.6V). Test the alternator output with the engine running (should be ~13.5-14.5V).
Typical fix: Charge or replace the weak battery. If the charging system is faulty, diagnose and replace the alternator.
Est. part cost: $150-$400 - Stretched Timing Chain or Jumped/Broken Timing Belt ⚪ Low Probability On the high-mileage 4.0L V6, the timing chain can stretch. On the 4.7L V8, an old or improperly installed timing belt can jump a tooth or snap completely. This throws off the physical correlation between the camshaft and crankshaft, which the sensor reports as a fault.
How to confirm: This is an advanced diagnosis. After ruling out sensor and wiring issues, a mechanic will need to inspect the physical timing marks on the chains/belts and gears, which requires significant engine disassembly. A snapped belt on the 2UZ-FE will result in a crank-no-start condition.
Typical fix: Replace the timing chain, tensioners, and guides (V6) or the timing belt and related components (V8). Since the 2UZ-FE is an interference engine, a snapped belt may cause valve damage requiring cylinder head repair.
Est. part cost: $400-$2000+
Rare But Worth Checking
- Failed Crankshaft Position Sensor: The camshaft and crankshaft sensors work together. A failing crankshaft sensor can sometimes cause the PCM to incorrectly flag the camshaft sensor circuit. This is uncommon but worth considering if other fixes fail.
- Damaged Reluctor Wheel/Tone Ring: The sensor reads teeth on a reluctor wheel (or tone ring) on the camshaft. If this wheel is damaged, has broken teeth, or was installed incorrectly during a previous repair, it can cause a P0340 code. This was a known issue on some older 3rd Gen 4Runners.
- Faulty Powertrain Control Module (PCM): A failure of the engine computer is very rare but possible. This should only be considered after all other possibilities, including wiring, sensors, and mechanical timing, have been exhaustively checked.
Diagnosis Steps
- Read all stored fault codes with an OBD-II scanner. Note any other codes that are present, like P0345 or P0335.
- Check battery voltage and test the charging system. A healthy battery should read about 12.6 volts engine-off and 13.5-14.5 volts engine-on.
- Locate the Bank 1 camshaft position sensor. On the 4.0L V6, it's on the passenger side valve cover. On the 4.7L V8, it's behind the timing cover on the driver's side.
- Thoroughly inspect the sensor's electrical connector and wiring for any visible damage, looseness, or corrosion. Check if the locking tab is broken.
- If you have a 4.7L V8, remove the upper timing cover and carefully inspect the sensor's wiring for any signs of rubbing, pinching, or damage from the timing belt.
- Using a multimeter, verify that the sensor connector has the correct reference voltage (typically 5V) and a solid ground connection from the PCM with the key on, engine off.
- If wiring, voltage, and ground are good, the sensor itself is the most likely culprit. Replace the sensor, preferably with an OEM or Denso part.
- After replacement, clear the codes and perform a test drive. If the code returns, the issue may be mechanical.
- If the code persists, the next step is to verify the engine's mechanical timing (timing chain/belt alignment), which is an advanced job.
- If all electrical and mechanical checks pass, the final, least likely possibility is a faulty PCM.
Parts You'll Likely Need
- Camshaft Position Sensor (Bank 1)
(OEM #90919-05060 (for 1GR-FE V6, superseded by 90919-T5005), 90919-05024 (for 2UZ-FE V8))🎬 See this step-by-step guide for replacing the sensor — This sensor is the most common component to fail within the circuit, after wiring issues are ruled out. Part number 90919-05045 has been superseded by 90919-05087.
Trusted brands: Toyota (OEM), Denso (OEM Supplier)
OEM price range: $90-$150
Aftermarket price range: $30-$80 - Camshaft Position Sensor Connector Pigtail
(OEM #90980-10947 (related connector for 2UZ-FE))— The connector's plastic housing and locking tab frequently become brittle and break, or the wiring gets damaged, necessitating a new pigtail.
Trusted brands: Dorman, Standard Motor Products
Related Codes That Often Appear With This One
- P0335 — This is the code for the Crankshaft Position Sensor. Since the two sensors provide related data for engine timing, a fault in one can sometimes trigger a code for the other, or a shared issue like low battery voltage from a weak starter can cause both.
- P0345 — This code is for the Camshaft Position Sensor 'A' Circuit on Bank 2. If you see both P0340 (Bank 1) and P0345 (Bank 2), it points towards a common cause affecting both banks, such as a wiring issue, a timing problem, or a faulty PCM.
- P0016 — Crankshaft Position - Camshaft Position Correlation (Bank 1). This code more directly indicates a mechanical timing issue, such as a jumped timing belt or stretched chain, rather than an electrical fault.
Technical Service Bulletins (TSBs) & Recalls
- T-TT-0010-10 Rev: Notes that low battery voltage can contribute to a MIL 'ON' condition for P0340 due to inconsistent engine rotational speed.
- EG004-04: While not directly for the 4Runner, this TSB for other Toyota models with VVT-i addresses P0340 and other codes, outlining inspection procedures for the VVT system, which can be a related cause.
Platform-Specific Known Issues
- On the 4.7L 2UZ-FE V8 engine, the wiring for the camshaft position sensor is routed in a way that it can be damaged by a worn or improperly installed timing belt. Many owners discover this issue when performing a timing belt service or after a belt snaps.
- Some early 1GR-FE V6 engines (around 2004) used a 2-wire cam sensor, while later models (2005+) used a 3-wire sensor. This can cause issues if swapping engines between years, as the ECU and harness are incompatible with the wrong sensor type.
Mechanic-Grade Diagnostic Values
- Camshaft Position Sensor Resistance (2UZ-FE V8) — expected: Cold: 835 - 1,400 Ω. Hot: 1,060 - 1,645 Ω. (Values from a similar Toyota engine). Failure: A reading of 0 Ω (short) or infinite resistance (open).
- Crankshaft Position Sensor Resistance (1GR-FE V6) — expected: 1,850 to 2,450 Ω at 20°C (68°F). Failure: Readings significantly outside this range.
- Sensor Connector Voltage (Key On, Engine Off) — expected: ~5V on the reference wire and ~5V on the signal wire (with sensor disconnected). Battery voltage (~12.6V) between the ground pin and the positive battery terminal.. Failure: No voltage or low voltage indicates a wiring or PCM issue.
- ECM Fault Trigger Condition — expected: A consistent signal from the sensor.. Failure: The ECM will set P0340 if it sees no VVT sensor signal during cranking, or if the input voltage remains below 0.3V or above 4.7V for 4 seconds.
Scan Tool Commands That Help
- Toyota Techstream: Live Data Monitoring (e.g., 'Camshaft Revolution', 'Engine Speed') — While there isn't a specific bidirectional active test for the sensor itself, monitoring the live data while cranking or running the engine is the primary way to see if the ECM is receiving a signal. A value that is stuck at zero or provides erratic readings points to a problem in the circuit.
Wiring & Ground Locations
- V8 Engine Block Ground — On the 4.7L 2UZ-FE, a primary ground bolt is located on the engine block, accessible by looking up from behind the lower control arm. This single bolt grounds both the large battery-negative-to-block cable and the smaller frame-to-block ground strap.. A poor engine ground can introduce electrical noise or cause voltage drops that interfere with the sensitive cam and crank sensor signals, potentially triggering a false P0340.
- V6 Cylinder Head Grounds (EC, ED) — On the 4.0L 1GR-FE, ground points are located on the cylinder heads. 'EC' is on the Right Bank (Passenger Side) cylinder head, and 'ED' is on the Left Bank (Driver Side) cylinder head.. These are the primary ground points for the engine harness on the cylinder heads, where the cam sensors are located. Corrosion or a loose connection here can directly impact the sensor's ground reference.
- V6 Fender Ground (EB) — On the 4.0L 1GR-FE, ground point 'EB' is located on the front left (Driver Side) fender in the engine compartment.. This is a major chassis ground point for the engine room main wire harness. A fault here can cause widespread electrical issues.
Real Owner Repair Stories
- Toyota Tundra Forum user '3white toyotas' (Toyota Tundra with 4.7L 2UZ-FE V8 (same engine as 4Runner)) — P0340 code appeared near the 90,000-mile timing belt service interval.
❌ Tried (didn't work) The owner was considering replacing the sensor first.
✅ What actually fixed it Another user posted a picture of a timing belt that had chewed through the camshaft position sensor wiring, stating it's a common problem. The advice was to remove the timing cover and inspect the wires first before replacing the sensor, which the original poster agreed to do. This strongly points to wiring damage as the root cause. - Reddit user in r/3rdGen4Runner (2002 SR5 with 220k miles (similar issue pattern)) — P0340 and P0335 codes appeared simultaneously after a very weak crank from a known-bad starter.
❌ Tried (didn't work) The user had not yet attempted a repair but was asking if the starter could be the cause.
✅ What actually fixed it The symptoms directly align with the known edge case where a failing starter motor draws excessive current, causing a voltage drop that triggers false codes for both the camshaft and crankshaft position sensors. The fix is to address the root electrical problem (the starter) before replacing the sensors.
OEM Part Supersession History
90919-05060→90919-T5005— Standard part number update/revision.
Heads up: This is the correct CAMSHAFT sensor for later model 1GR-FE V6 engines (approx. 2010+). Do not confuse with 90919-05045, which is a CRANKSHAFT sensor.
Model Year Variations Within This Range
- 2005-2009 (V8): The 4.7L 2UZ-FE engine was updated with Variable Valve Timing with intelligence (VVT-i) starting in the 2005 model year for the 4Runner. While the P0340 code's meaning is the same, diagnostics on these later V8s must also consider the health of the VVT-i system (oil control valves, etc.) as a potential related factor, though the sensor circuit remains the primary suspect.
Helpful Videos
We Have This Part in Stock
The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.
- Toyota 4RUNNER:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2004-2011 Toyota 4RUNNER
- Diagnostic Flowchart
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Related Codes That Often Appear With This One
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Model Year Variations Within This Range
- 🎟️ Get 5% Off