Intake Cam Control

Nexus Series Firmware Help › Engine Functions › Cam ControlUpdated Sep 2026

Variable intake cam timing is one of the best tools you have for a fat, flat torque curve, but only if the controller holds the cam where you ask. Here's how we set up and tune intake cam control on a Nexus ECU in NSP.

How the controller works

A variable cam system uses an oil control solenoid to move the cam relative to the crank. The Nexus pulses that solenoid, reads the cam's actual position from the cam sensor, and adjusts duty until the measured angle matches the angle you asked for. Getting it right comes down to three layers:

  1. The target: where you want the cam, from the Target Angle table.
  2. The base duty: roughly how much duty it takes to hold the cam still at that position.
  3. The PID controller: the corrections that close the gap between target and actual.

If the base duty is right, the PID only has small errors to fix, and the cam moves quickly and settles cleanly. The base duty table is kept per intake bank, and the exhaust cam has its own equivalent settings. For the overall function, see cam control, and check cam control wiring before you start tuning.

The basic settings

SettingWhat it doesOur advice
Intake FrequencyHow fast the solenoid is pulsedLower frequencies give a wider usable duty range but can make the solenoid rattle. Higher frequencies are quieter but squeeze the usable range. Use a known value for your engine if you have one
Intake Duty Cycle MinThe lowest duty the controller may commandSet it where the solenoid just starts to react, so the controller doesn't waste time in a dead zone
Intake Duty Cycle MaxThe highest duty the controller may commandSet it where more duty stops producing more movement
Intake Cam DirectionWhether the controller drives the cam toward advance or retardIntake cams are almost always Advance
Enable Intake Overall CorrAdds an Overall Correction table on top of the targetTurn it on while tuning so you can shift the whole map quickly

Target Angle table

This is the tune itself: the intake cam angle you want at each operating point, mappable up to 4D. A typical pattern is less advance at low RPM for a stable idle, more advance through the midrange where it helps cylinder filling and torque, then easing back again near redline. The shape that makes the most power is different for every engine, so the only way to find it is on a dyno, sweeping cam angle at each load point and watching torque.

Finding the base duty

The Intake Base Duty Cycle table (up to 3D) holds the duty needed to keep the cam steady at its target. Here's how we fill it:

  1. Hold the engine at around 2000 to 3000 rpm. That makes sure there's full oil pressure to move the cam.
  2. Command a target angle that isn't zero.
  3. Watch the Cam Control Intake Bank 1 (or Bank 2) output channel as the cam moves to the target.
  4. Once the cam is sitting steady on target, note the duty being used and enter it into the matching Intake Base Duty Cycle table.

How to tell if it's off: too little base duty makes the cam slow to reach target, and too much makes it overshoot.

PID tuning

The PID tables control how aggressively the controller chases the target. All three can be mapped up to 3D.

  • Proportional: reacts to how big the error is. More P means a faster response to a large gap.
  • Integral: builds up correction over time to remove the error that P leaves behind.
  • Derivative: resists fast movement, which slows the cam as it approaches the target and stops an aggressive P from overshooting.

For cam control, a sensible place to begin is an integral of around half the proportional, with a small amount of derivative to take the edge off overshoot. From there it's experimentation. Log target against actual angle, make a step change, and see whether the cam is slow, overshoots or oscillates.

Reading your logs

SymptomUsually
Cam lags well behind the targetBase duty too low, or proportional too small
Cam overshoots, then settlesBase duty too high, or not enough derivative
Cam hunts around the targetProportional or integral too aggressive
Cam won't move at low RPMNormal at very low oil pressure. Check the controller at a higher speed before changing the tune
No movement at allCheck wiring, output assignment, direction and duty limits

Overall Correction

With Enable Intake Overall Corr ticked, this table shifts the whole target angle map up or down. It's a fast way to try, say, a few more degrees of advance everywhere and see what the dyno says, without editing every cell. Once you've found what works, fold the change back into the target table. The target scalar is another way to adjust targets.

Long term trim

Long term trim lets the ECU learn small, consistent errors in the base duty and store the correction.

  • Long Term Trim Gain (up to 3D) sets how quickly it learns. A higher gain learns faster but can make the system oscillate, so keep it modest.
  • Long Term Trim (up to 3D) shows what has been learned. You can set its axis values, but the axis channels are locked to match the base duty table. You can edit it by hand even while the ECU is still learning.

If the trim table keeps showing large values in one area, that's a hint to update your base duty there.

Intake cam control FAQ

Why do I need to rev the engine to set base duty?

Cam phasers are driven by oil pressure. At idle, pressure can be too low for the cam to respond properly, so the duty you'd measure there wouldn't be representative.

Should the intake cam be set to advance or retard?

Advance, on nearly every engine. Exhaust cams are the ones where direction varies, so check your engine's layout when you set those up.