Variable Valve Timing Explained: Cam Phasers, OCVs and P0011 Diagnostics

A P0011 or P0016 on a modern petrol engine is rarely a “bad sensor” problem. Both codes come from the variable valve timing (VVT) system, which turns the camshaft relative to the crankshaft using engine oil, a solenoid valve and constant feedback from the cam sensor. This guide explains the hardware, the ECU control loop, the role of oil, and a diagnostic order that avoids replacing parts you did not need to replace.

What cam phasing changes

Valve timing sets when the intake and exhaust valves open and close relative to piston position, and how long both are open together (overlap). A fixed camshaft can only be ideal at one operating point. A cam phaser lets the ECU move the whole cam profile earlier (advance) or later (retard) by a limited number of crank degrees while the engine runs. Valve lift and duration stay the same; only the timing of the events moves. Systems that also change lift, such as two-step or continuously variable lift, are related but separate technologies.

Concept map of intake cam advance and retard versus engine speed and load for variable valve timing
Intake cam timing vs speed and load concept (simplified schematic)

Inside the phaser and the oil control valve

The common vane phaser has two halves. The stator (housing) is joined to the timing sprocket and turns with the crankshaft drive. The rotor is fixed to the camshaft and carries vanes that sit in oil-filled pockets of the housing. Oil pushed into the pockets on one side of the vanes rotates the camshaft in the advance direction; oil on the other side rotates it towards retard.

The oil control valve (OCV, VVT solenoid) is a spool valve with a pressure port from the oil pump, two work ports to the advance and retard circuits, and drain ports. The ECU energises the coil with a pulse-width-modulated (PWM) signal: the spool position follows the average current, so the ECU can steer oil to either side or hold the spool centred so both circuits are blocked. On some engines the valve sits in the cylinder head; on others it is built into the central bolt of the phaser. A few designs use camshaft torque pulses instead of only pump pressure to move the rotor, and some newer engines use electric phasers, but the hydraulic layout remains the most common.

Because oil pressure is low during cranking, a spring-loaded lock pin holds the phaser at a fixed base position until pressure rises. Intake phasers usually rest at the retarded end, while exhaust phasers often rest at their advanced end with help from a spring; some engines use a mid-position lock instead.

How the ECU controls cam angle

The control strategy has two layers. The base maps say where the cam should be, usually as desired angle against rpm and engine load, with separate tables for intake and exhaust cams. The feedback loop makes the cam actually go there. The ECU measures the real cam position by timing the CMP target-wheel edges against the crankshaft reference, calculates the error, and a PI or PID controller adjusts the OCV duty around a learned hold value.

Release conditions stop the phaser moving when it cannot be controlled reliably: low oil temperature, very low rpm, insufficient oil pressure or a detected sensor fault. Adaptation values compensate for small manufacturing tolerances by learning the locked reference angle, which is why some engines need an adaptation reset after timing work.

ECU closed-loop cam angle control block diagram: desired cam angle map, PWM OCV driver, oil, cam phaser and CMP/CKP feedback
VVT closed-loop cam control block diagram (simplified schematic)

Oil level and viscosity matter

A hydraulic phaser is only as good as its oil supply. Common causes of slow or unstable cam control are:

  • Low oil level or worn pump giving low pressure at idle
  • Oil grade thinner or thicker than specified, changing leakage and response
  • Sludge or debris blocking the fine screens in front of the OCV
  • Worn cam bearings or seals leaking pressure before it reaches the phaser

An oil and filter change to the correct specification is often the first repair step, followed by a code clear and test drive.

Diagnostic order that saves time

  1. Classify the code. Circuit codes (P0010, P0075–P0077) are electrical; over-advanced/over-retarded codes (P0011, P0012) mean the cam did not follow the target; correlation codes (P0016–P0019) mean cam and crank do not line up as expected.
  2. Look at oil level, grade and condition.
  3. Log desired vs actual cam angle at idle and under acceleration. A slow follow points to oil or the OCV; a constant offset points to timing drive or sensor.
  4. Check the OCV electrically and mechanically. Coil resistance to specification, PWM on a scope, connector condition, and a clean, freely moving spool.
  5. Check the timing drive. A stretched chain, worn tensioner or guides, or a timing belt one tooth out often sets P0016/P0017. Confirm with timing marks or the manufacturer’s cam/crank deviation values before ordering parts.
  6. Confirm the CMP signal and target wheel, then clear codes and retest.

Related fault codes (DTCs)

SAE J2012 generic codes. “A” usually refers to the intake cam and “B” to the exhaust cam, but manufacturer assignment can vary.

CodeMeaningTypical causes
P0010 / P0013“A” / “B” Camshaft Position Actuator Circuit (Bank 1)Open or shorted OCV coil, damaged wiring or connector
P0011 / P0014“A” / “B” Camshaft Position – Timing Over-Advanced or System Performance (Bank 1)Low/dirty oil, wrong viscosity, sticking OCV, blocked screen
P0012 / P0015“A” / “B” Camshaft Position – Timing Over-Retarded (Bank 1)Low oil pressure, OCV stuck, phaser seized at lock position
P0016 / P0017Crankshaft Position – Camshaft Position Correlation Bank 1 Sensor A / BChain stretch, belt/chain jumped, CMP or reluctor fault
P0018 / P0019Crankshaft Position – Camshaft Position Correlation Bank 2 Sensor A / BTiming drive wear, CMP fault on Bank 2
P0020 / P0023“A” / “B” Camshaft Position Actuator Circuit (Bank 2)Bank 2 OCV or wiring
P0021 / P0024“A” / “B” Camshaft Position – Timing Over-Advanced or System Performance (Bank 2)Oil supply, OCV, phaser
P0022 / P0025“A” / “B” Camshaft Position – Timing Over-Retarded (Bank 2)Oil supply, OCV, phaser
P0026 / P0027Intake / Exhaust Valve Control Solenoid Circuit Range/Performance (Bank 1)Intermittent solenoid or wiring, contamination
P0075–P0077Intake Valve Control Solenoid Circuit / Low / High (Bank 1)Open circuit, short to ground or supply
P0078–P0080Exhaust Valve Control Solenoid Circuit / Low / High (Bank 1)Open circuit, short to ground or supply

Beyond passenger cars

Vans with petrol engines use the same systems as cars. V-engined petrol pickups and light trucks control each bank separately, so Bank 2 codes appear there. Most agricultural and heavy-duty diesels have fixed main cam timing, although variable valve actuation appears on some engines for functions such as engine braking or exhaust heat management. Many modern motorcycles pair intake or dual cam phasing, or variable lift, with ride-by-wire throttles.

VVT and ECU tuning

Cam targets interact with boost, ignition advance, knock margin and exhaust temperature, so a petrol calibration that changes torque usually reviews the cam maps as well. Results should be validated by logging desired and actual angles. Tuning is not a repair: fix oil, OCV and timing-drive faults first, and keep cam monitoring active.

Need a petrol calibration with cam timing tables matched to your hardware? Find tuning files at ECUFlashFiles.