Home › Fault codes › P0016
⚠ P0016 HIGH SEVERITY

P0016: what it means

Officially? A wall of jargon. To most people? Absolutely nothing. That's exactly why we built the app.

The official definition vs. an actual explanation

Plug into any code reader and you'll get the same line every other app shows you. Technically correct. Practically useless.

What other apps tell you
"P0016: The crankshaft and camshaft position signals on bank 1 don't line up as they should."
What OBD Mechanic tells you

"The engine's computer compares two signals: where the crankshaft is and where the camshaft is. On bank 1 they've stopped agreeing. That can be a sensor or wiring fault, an oil or variable valve timing problem, or the cam timing itself has moved. That last one means a stretched timing chain or a belt that's jumped a tooth, and it's the reason this code deserves respect. Start with the oil level, the sensor wiring and any other codes. Then get the timing checked properly. Don't just clear it and hope."

What actually causes it, cheap to dear

Worth checking in roughly this order. Don't jump straight to the expensive fix:

usually cheap depends pricey

Suggested checks

  1. Check the oil level and condition first. Top up or change to the right spec
  2. Has the timing belt or chain been changed recently? If so, have the timing checked before anything else
  3. Listen for a rattle at cold start. On chain engines that can point at chain or tensioner wear
  4. Look for other codes. Cam or crank sensor codes alongside point at sensors; P0011 points at oil or the variable timing
  5. A garage can compare the crank and cam signals on a scope and check the timing marks. That settles it

Which dials to watch for P0016

The code itself is a snapshot. The fault sets after the car's watched the numbers over a whole drive cycle. Here's what's worth keeping an eye on:

Engine RPM (live graph)
None of the app's standard dials shows cam-to-crank timing, so there's no direct reading for this fault. Long cranking before it starts, a lumpy idle or the RPM dropping out are the symptoms you can watch from here.
Oil temp
If your car reports it. Timing systems run on oil pressure, and a code that only appears when hot points more at oil or the timing valve than at a sensor.

Live simulation on the readings our free demo drive supports. This is how the app’s dials move.

It spots things you'd never see in the numbers

Codes rarely tell the whole story. The clever part is reading them together, and against your exact car. Here's the kind of thing it catches:

AI Mechanic
What our mechanic says
P0016

The engine's computer compares two signals: where the crankshaft is and where the camshaft is. On bank 1 they've stopped agreeing. That can be a sensor or wiring fault, an oil or variable valve timing problem, or the cam timing itself has moved. That last one means a stretched timing chain or a belt that's jumped a tooth, and it's the reason this code deserves respect. Start with the oil level, the sensor wiring and any other codes. Then get the timing checked properly. Don't just clear it and hope.

Related codes people search alongside P0016

P0016: quick questions

Can I still drive it?

This can mean a stretched timing chain or a slipped belt, and the engine may cut out or fail to restart. Get it checked before you drive far. If the belt has jumped and jumps again, some engines can damage their valves, so if it rattles badly, runs very rough or won't start, stop and get help rather than keep cranking.

Is it always the timing chain?

No. Low oil, the timing valve or a sensor fault cause it too. But it's a code where the timing has to be ruled out properly, not assumed fine.

How much will it cost to fix?

An oil change or a sensor is the cheaper end. A timing chain or belt job is the expensive end, mostly labour, and varies a lot by engine. Proper diagnosis first saves money here.

Can I just clear the code?

You can, but it'll come back if the cause is real. Clearing it doesn't fix anything, and on this code driving on and hoping can turn a timing job into an engine job.

Stop guessing what your codes mean.

Free app. Plug in, and get every code in plain English, plus the connections you'd never spot.