Code guide
P0340 — camshaft position sensor circuit
This code is about one sensor's own signal — missing, out of range, or erratic on its own terms. It's a different complaint from the crank/cam correlation fault, P0016, and it's worth ruling out first if both are stored.
Bank 1 camshaft sensor · Circuit fault · P0016 is a correlation fault, not this
The short version
P0340 means the computer lost, or couldn't make sense of, the signal from the camshaft position sensor — Bank 1 Sensor A, or the only cam sensor on engines that have just one. This sensor tells the computer exactly where the camshaft is in its rotation, which is what lets the engine fire injectors and coils in the correct sequence instead of guessing.
This is a complaint about ONE sensor's own signal — open, shorted, out of range, or erratic. It's a genuinely different fault from P0016, which compares two sensors against each other and finds their timing doesn't line up. If you have both stored, fix this one first — a marginal cam-sensor signal can throw off that comparison on its own with nothing mechanically wrong underneath it.
Reading codes and freeze frames is free in Fixiom — always, no credits and no subscription.
What the sensor actually does
The crankshaft spins twice for every one full engine cycle, so a crank signal alone can't tell the computer which of those two revolutions a given cylinder is actually in — intake or exhaust look identical to the crank sensor. The camshaft, which turns once per full cycle, is what breaks that tie. It's what lets modern engines fire each injector and each coil individually, at the right moment, instead of firing everything at once and hoping.
How much a lost cam signal actually costs you depends on the specific vehicle. Some computers fall back to a degraded firing strategy and keep running, roughly, on a lost cam signal. Others treat it as a hard stop and won't start at all. That's a real, vehicle-dependent difference — worth saying plainly rather than promising one universal symptom.
P0340 vs. P0016
Worth being precise about, because the two point in different directions entirely:
- P0340 — the cam sensor's own signal is the problem, on its own terms. No signal, an implausible signal, or one that's out of the expected electrical range. A single-sensor complaint.
- P0016 — both the crank and cam sensors are reporting plausible signals, but when the computer compares their relative timing, it doesn't match the fixed relationship it expects. That's usually mechanical — most often the timing chain has stretched or slipped a tooth — not electrical.
Seeing both together is common, and it isn't two separate faults: a bad cam-sensor circuit can make an otherwise-fine correlation look wrong to the computer, so the correlation code is often just downstream noise from this one.
The free live-data test
P0340 doesn't usually attach as much detail as some other codes, but there's a genuinely useful check available for free:
- Check for a companion code. A stored P0016, or a crank-sensor circuit code, alongside this one changes the read — see above.
- Where the vehicle reports it, watch live cam-position data. On engines with variable valve timing, Fixiom shows the commanded-versus-actual cam signal only when your specific vehicle genuinely answers it. A reading that sits flat or frozen while the engine is running, on a vehicle that normally moves that number, is a strong lean toward the circuit fault — not a substitute for the scope test below, but a free first look at whether anything is coming through.
- Read the freeze frame for when it set — cold, warm, at idle, under load. The pattern below is the useful part.
Reading the freeze frame
- Sets every time, from the first key-on — leans toward a dead sensor, a connector that's not seated, or a wiring fault that doesn't depend on temperature. Worth asking whether the sensor was recently touched for other work.
- Sets intermittently, especially after the engine's been running a while or after highway driving — the classic heat-and-vibration signature. Cam sensors sit close to a lot of engine heat, and a connector or a wire with marginal insulation often only opens up once things expand.
- Comes and goes with no clear pattern — worth suspecting a connector that's simply not fully seated, or oil that's worked its way onto the sensor tip from a nearby leak.
Likely causes, in order
- The connector — corroded, loose, or not fully seated. Cheap to check, and genuinely common: cam sensors get disturbed for other service work and don't always go back with full confidence.
- Wiring — chafed insulation or a pinched wire near moving engine components, especially one that only opens up once things warm and expand.
- The sensor itself. These live in a hot spot and don't last forever; a sensor fouled by oil from a nearby leak is a related, common variant.
- A damaged reluctor (trigger) ring the sensor reads from. More mechanical than electrical, and the family P0016 usually points at more directly — worth considering if this code keeps returning after the wiring's checked out clean.
- The computer itself. Genuinely rare, and the last thing to suspect, after the sensor, connector, and wiring have all checked out.
Is it safe to drive?
This depends heavily on how your specific vehicle handles a lost cam signal, as noted above. If the engine stalled and won't restart, or it cranks without starting, that's already telling you the answer — get it looked at rather than repeatedly cranking the starter. If it's still running, driving it further doesn't typically make an electrical fault worse on its own, but an engine running on a degraded firing strategy is working outside its normal tune, so it's worth addressing rather than putting off.
What a phone can't see
What it genuinely gives you: the code, freeze frame timing (cold vs. warm, constant vs. intermittent), whether a correlation or crank-sensor code is stored alongside it, and — on vehicles that report it — a live cam-position reading that can show a flatline.
What it cannot do:
- Measure the sensor's actual output voltage or waveform. A scope on the signal is the real confirming test for a cam sensor, and it's what a shop reaches for first.
- Inspect the connector for corrosion or a wire for a chafe. That's eyes on the harness.
- See a damaged reluctor ring. That needs the timing cover or valve cover off.
- Rule out the computer with certainty. That's a process of elimination after everything upstream of it checks out.
Common questions
What does P0340 mean?+
The computer lost, or couldn't make sense of, the signal from the camshaft position sensor — Bank 1 Sensor A, or the only cam sensor on engines that have just one. This sensor tells the computer where the camshaft is so it can fire injectors and coils in the right sequence. It's a single-sensor circuit fault, not a comparison between two sensors.
Will the car start with a P0340?+
It depends on the specific vehicle. Some computers fall back to a degraded firing strategy and keep running, roughly, without a cam signal. Others treat it as a hard stop and won't start at all. If it cranks but won't start, or stalled and won't restart, that's the answer to whether it's driveable.
What's the difference between P0340 and P0016?+
P0340 means one sensor's own signal is the problem — missing, out of range, or erratic. P0016 means both the crank and cam sensors report plausible signals, but their relative timing doesn't match — usually a mechanical timing issue. If both are stored, fix the circuit fault first, since a marginal cam signal can make an otherwise-fine correlation look wrong.
Can a bad connector really cause P0340?+
Yes, and it's one of the more common causes. Cam sensors get disturbed during other service work and don't always go back fully seated. Corrosion at the connector is another common variant, especially on a vehicle that's seen road salt.
Is P0340 expensive to fix?+
Often not — a connector or wiring repair is inexpensive, and the sensor itself is a modest part on most engines. The costly outcome (the computer itself) is also the rarest, and it's the last thing worth suspecting before the sensor, connector, and wiring have all been ruled out.
Related guides
- P0016 — Crank/cam correlation — noise or no noise is the question that decides how urgent this really is.
- P0011 — Cam timing over-advanced — the code where the dipstick is the first diagnostic tool.
- P0300 — Random misfire — and the per-cylinder counters that show which one it really is.
- Check engine light on — The triage page — how urgent is it, and what to do in what order.
One sensor's signal, missing or wrong. That's a different fault than a mismatch.
Codes and freeze frames are free in Fixiom — always. Knowing which fault you actually have decides where to look first.
