Cam Control Switched

Elite Software Programmer › ESP - Main setup › FunctionsUpdated Sep 2026

Not every variable cam system is continuously variable. Honda VTEC, Nissan N-VCT and early Toyota VVT simply switch a solenoid on or off, and Cam Control Switched is the Elite function built for exactly that. Here is how each tab works and how we set it up in ESP.

On/off cam systems, and why they get their own function

Modern variable cam timing moves the cam continuously, with the ECU running closed loop control on a target angle. Older systems are much simpler. A single solenoid is either energized or not, and the engine has two states: cam profile A or B, or cam timing retarded or advanced. On a Haltech Elite, that simple kind of system is handled by Cam Control Switched, not the regular Cam Control function.

Common engines that use it:

  • Honda VTEC on B-series engines, which switches between a mild and an aggressive cam lobe.
  • Nissan N-VCT on the RB25DET, which advances the intake cam over part of the rev range.
  • Toyota VVT on the 20-valve 4AGE, which also advances the intake cam in an RPM band.

If your engine has a cam angle sensor and the factory ECU chases a target angle, you want Cam Control instead. Cam Control Switched is only for two-state systems.

Step 1: tell ESP what you're driving (Wiring tab)

The Options section asks how many cam solenoids you have and how many ECU outputs each one uses. Choose the one that matches your hardware:

OptionUse it when
Intake or Shared OutputOne solenoid on the intake cam, or one solenoid that acts on both cams
ExhaustOne solenoid on the exhaust cam only
Intake and ExhaustA separate solenoid on each cam
Two Intake OutputsOne intake solenoid that needs two outputs to carry its current
Two Exhaust OutputsOne exhaust solenoid that needs two outputs
Two Intake and Two Exhaust OutputsBoth cams, each solenoid driven by a pair of outputs

The "two outputs" choices exist because a single digital pulsed output (DPO) isn't always able to switch enough current for a heavy solenoid. Doubling up shares the load. If you aren't sure how much current your solenoid draws, measure its resistance and work it out, or drive it through a relay. Our relay article covers how.

Connections

Under Output, assign the wire that goes to the solenoid, normally a DPO. Active State decides the polarity:

  • Low (the default): the ECU grounds the wire when cam control is on. This is how almost every solenoid is wired, with 12V on one side and the ECU switching ground on the other.
  • High: inverted. The wire is grounded while cam control is off and released when it turns on. Only use this if your system genuinely needs the opposite logic.

Step 2: set the preconditions

These are hard gates. Until every one is met, the output stays off regardless of RPM or load.

SettingWhat it doesOur advice
Min Vehicle SpeedCam control can only switch on above this road speed. Only shows once a vehicle speed sensor is configured. Default is 10 km/h (about 6 mph).Useful if you don't want the cam switching while someone free-revs the car in the parking lot
Min TPSThrottle must be open past this before cam control can activateKeeps the cam from switching during light-throttle cruising where there's no benefit
Min Coolant TempEngine must be above this temperatureProtects a cold engine, and oil-actuated systems often behave poorly before the oil is warm

Accurate throttle and coolant temperature readings matter here, so calibrate those sensors before you start judging cam behavior.

Step 3: the switching points (Intake and Exhaust tabs)

The Intake and Exhaust tabs are laid out the same way. Each defines when that cam's output turns on, and optionally when it turns off again.

Do you need an Off point?

This is the key decision, set by Off RPM Condition (disabled by default).

  • Profile-switching systems like VTEC only need an On point. Once you're past it, the engine stays on the high cam all the way to the limiter. Leave Off RPM Condition disabled.
  • Phasing systems like N-VCT and 4AGE VVT advance the cam only across a band in the middle of the rev range, then return it to its resting position at high RPM. These need both an On and an Off point, so enable Off RPM Condition.

Load-dependent RPM points

Rather than one fixed RPM, the Elite lets the switching RPM move with engine load. You define two load points, and an On (and optionally Off) RPM at each:

SettingWhat it does
Min LoadThe lower load point. At or below this load, the "Min Load" RPM values are used as-is
Max LoadThe upper load point. At or above this load, the "Max Load" RPM values are used as-is
Min Load On RPMEngine speed above which the output turns on at low load
Max Load On RPMEngine speed above which the output turns on at high load
Min Load Off RPMEngine speed above which the output turns off again at low load (only with Off RPM Condition enabled)
Max Load Off RPMEngine speed above which the output turns off again at high load (only with Off RPM Condition enabled)

Between the two load points, the ECU interpolates a switching RPM in a straight line.

A worked example

These numbers are made up to show the math, not a recommendation for any engine. Say you set Min Load to 40 kPa and Max Load to 100 kPa, with Min Load On RPM at 6000 and Max Load On RPM at 4500.

  • Cruising at 35 kPa: the load is below Min Load, so the cam switches at 6000 RPM.
  • Full throttle at 100 kPa: the cam switches at 4500 RPM.
  • Halfway between, at 70 kPa: the ECU works out a point halfway between the two, 5250 RPM.

That's a sensible shape for many engines. At light load there's no reason to engage the high cam early, while at wide open throttle you want it as soon as it makes more torque. Add an Off RPM pair and the same logic defines the top of the band on a phasing system.

How we find the right switch point

The best switchover RPM is where the torque curves of the two cam states cross. Below that point the "off" state makes more torque, and above it the "on" state wins. Engage too early and you lose midrange, too late and you get a flat spot then a lunge.

  1. Make full-load pulls on the dyno with the cam forced off, then again forced on, holding everything else the same.
  2. Overlay the torque curves and note where they cross.
  3. Set Max Load On RPM there, then repeat at a lighter load if you care about part-throttle feel.
  4. For phasing systems, find the upper crossover too and use it for the Off RPM.
  5. Remember that fuel and ignition needs usually change when the cam state changes. Check your fuel and timing either side of the switch in your logs.

Troubleshooting

SymptomUsually
Cam never engagesA precondition isn't met (speed, TPS or coolant), or wrong output assigned
Cam is engaged all the time, even at idleActive State set to High on a normal ground-switched solenoid
Won't engage in the shop but works on the roadMin Vehicle Speed is doing its job
Phasing system stays advanced to redlineOff RPM Condition left disabled
Output is commanded but the solenoid barely movesWiring, a weak supply, or too much current for one output; consider the two-output option
Output switches on in the log but nothing changes mechanicallyOn oil-actuated systems like VTEC, check oil level and pressure and the solenoid screen before blaming the tune

FAQ

Can I use this for a continuously variable cam?

No. Anything that targets a cam angle needs the full Cam Control function. Switched control only has on and off.

Where should VTEC engage?

Wherever the two torque curves cross on your engine. It moves with cams, intake, exhaust and boost, so there isn't one right number. We find it on the dyno.

Does the Nexus have the same feature?

Yes, Nexus ECUs have their own version in NSP. See Cam Control Switched for Nexus.