How a resistor-ladder cruise switch talks to the ECU
Most OEM cruise switches don't use one wire per button. Instead, each button switches in a different resistor, so pressing it pulls one signal wire to its own distinct voltage. The ECU reads that wire on an analog input and decides which button you're holding by where the voltage lands. With nothing pressed, the wire sits at its "rest" voltage, usually somewhere between 4 and 5 volts.
That's why the Cruise Control Buttons section in NSP is mostly a list of voltages. Your job is to record the voltage for each button your switch actually has, and tell the ECU how much wiggle room to allow either side of it. If you haven't wired the switch yet, start with the cruise control wiring page, and read the cruise control overview for the bigger picture.
The three cruise states
Every button in this list does its job by moving cruise control between three states. Once you know them, the button descriptions make sense:
- Disabled: cruise is off and ignores the set and resume buttons.
- Ready: cruise is armed and waiting. It isn't holding speed yet.
- Cruising: the ECU is actively holding a target speed.
Pausing cruise with a cancel-type button drops you from Cruising back to Ready. The ECU keeps the last good target speed, so Resume can pick it back up.
The two settings every button shares
| Setting | What it does | Our advice |
|---|---|---|
| Voltage Tolerance | The window added above and below each calibrated button voltage. A reading inside that window counts as that button being pressed. | Wide enough to ignore normal voltage noise, but narrow enough that neighboring buttons' windows never overlap. Check your two closest buttons first. |
| Long Press Time | How long a button must be held before its secondary, long-press function kicks in | Long enough that a normal tap never counts as a hold. Test it by feel on the road. |
Tolerance is the one people get wrong. Picture a switch where Set reads 1.9 V and Resume reads 2.3 V. The gap between them is 0.4 V, so each window has to be less than half that, or a Set press drifting a little high could be read as Resume. After calibrating, look at the spread of your button voltages and pick a tolerance that leaves clear space between every pair.
Calibrating the buttons
Every button function in NSP has its own Voltage value and a Calibrate button. You don't have to measure anything with a meter. The process is the same for all of them:
- Key on with the switch wired and the cruise function enabled.
- Start with Rest Position. With your hands off every button, press Calibrate. The ECU stores the idle voltage and uses it to tell a valid signal from a fault.
- For each button your switch has, hold that button down and press its Calibrate button in NSP. Keep holding until the voltage is stored.
- Skip any functions your switch doesn't have. You only calibrate the buttons that exist.
- Look over the stored voltages and set the Voltage Tolerance so no two windows overlap.
- Test every button with the car stationary and watch the cruise state change in NSP before you try it on the road.
A second set of hands makes this faster. One person holds the steering wheel button while the other clicks Calibrate on the laptop, and there's no risk of letting go early.
What each button function does
NSP lists a lot of button types because manufacturers combine functions in different ways. Pick the ones that match the labels on your switch. Here they are grouped by job, rather than in the order NSP lists them.
Turning cruise on and off
| Button | From Disabled | Otherwise |
|---|---|---|
| Enable | Arms cruise (goes to Ready) | No effect |
| Disable | No effect | Switches cruise fully off |
| Enable / Disable | Arms cruise (goes to Ready) | A press turns cruise off. Holding it past the long press time also turns it off. |
The combined Enable / Disable is the classic push-on, push-off main switch found on a lot of stalks.
Setting and pausing
| Button | When Ready | When Cruising |
|---|---|---|
| Set | Starts cruising at your current speed | Makes your current speed the new target |
| Cancel | No effect | Pauses cruise (back to Ready), remembering the target |
| Set / Cancel | Starts cruising at your current speed | Pauses cruise (back to Ready) |
Set on its own is handy while cruising. Speed up with your foot to where you want to be, tap Set, and that becomes the new target.
Changing speed
| Button | What it does while Cruising |
|---|---|
| Accel | Hold it and the car keeps speeding up. When you let go, the speed at that moment becomes the target. |
| Coast | Hold it and the car slows down. When you let go, the speed at that moment becomes the target. |
| + / - | Each short tap moves the target up or down by the Speed +/- Increment setting |
The step size for the + and - taps comes from the Speed +/- Increment setting in the main cruise control setup, not from this page.
Resuming
Resume takes you from Ready back to Cruising and returns to the last valid target speed. One catch: if nobody has pressed Set since the key was switched on, there's no stored target, so Resume does nothing. Press Set once after key-on and Resume will work from then on.
Combination buttons
Many switches pack two or three functions into one button, and NSP has a matching function for each. They behave as a mix of the buttons above, depending on the state and on whether you tap or hold:
| Button | Tap when Ready | Tap when Cruising | Hold when Cruising |
|---|---|---|---|
| Set / Accel / + | Cruise at current speed | Target up one increment | Accelerate, new target on release |
| Set / Coast / - | Cruise at current speed | Target down one increment | Coast, new target on release |
| Resume / Cancel | Resume last target | Pause (back to Ready) | No hold function |
| Resume / Accel / + | Resume last target | Target up one increment | Accelerate, new target on release |
| Resume / Coast / - | Resume last target | Target down one increment | Coast, new target on release |
| Resume / Coast / Cancel | Resume last target | Pause (back to Ready) | Coast, new target on release |
As with plain Resume, every resume-type button needs a Set press since key-on before it has a speed to return to.
A worked example
Say your stalk has three positions plus an on/off button: On/Off, Res/+, Set/- and Cancel. In NSP you'd calibrate Rest Position with nothing pressed, then Enable / Disable, Resume / Accel / +, Set / Coast / - and Cancel, one at a time. Everything else stays uncalibrated. On the road, the driver presses On/Off to arm, taps Set/- at 65 mph to start cruising, taps Res/+ twice to go up two increments, and holds Set/- to coast down to a lower speed for a construction zone.
Troubleshooting
| Symptom | Usually |
|---|---|
| One button triggers a different function | Voltage Tolerance too wide, so two windows overlap, or the button was calibrated while the wrong one was held |
| A button works sometimes | Tolerance too narrow for the noise on the wire, or a poor ground at the switch or clock spring |
| Resume does nothing | Set hasn't been pressed since key-on, so there's no stored target |
| Holding + only moves one step | Long Press Time is longer than you're holding it, or the button is assigned as a plain + / - rather than a combination with Accel |
| Nothing responds | Rest Position not calibrated, wrong input selected, or a wiring fault. Watch the raw input voltage while pressing buttons. |
Once the buttons are reliable, move on to tuning how the ECU holds speed with the proportional, integral and derivative gain tables.
Cruise button FAQ
Can I use my factory steering wheel cruise buttons with a Haltech Nexus?
Usually, yes. If they're a resistor-ladder design on a single signal wire, they can go straight to an analog input and be calibrated here. Switches that only talk over the car's CAN network are a different job.
Why does my switch voltage drift between calibrations?
Resistive switches age, and connectors in a steering column pick up corrosion. Small drift is what the tolerance window is for. If the voltages move a lot, clean the connections before you open the tolerance up.
Do I need to calibrate every button in the list?
No. Only the ones your switch physically has. If you're not sure how your switch is built, send us the part details and we'll help you map it.




