Nitrous Stages

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

Each nitrous stage on a Haltech Elite is its own little controller: it decides when the solenoids fire, how hard they are pulsed, and what fuel and timing changes ride along with the spray. Here's how we set a stage up in ESP, and why each safety condition matters more than the shot size.

What a nitrous stage actually is

In ESP, a nitrous stage is one independently controlled shot. A simple single-stage kit uses one. A multi-stage race setup might use several, each with its own solenoids, its own activation rules and its own fuel and ignition changes. Every stage asks the same three questions:

  1. Is it allowed? Coolant temperature, engine run time, RPM, MAP and throttle all have to sit inside the window you set.
  2. Is it triggered? The activation mode decides what event turns the stage on, such as a clutch release or a road speed.
  3. What changes while it's on? Fuel added, timing pulled, AFR target moved, and on progressive setups, how hard the solenoids are pulsed.

If you're new to the Elite nitrous functions, start with the nitrous control overview. This article is the detailed walk through a single stage.

Wiring tab: outputs and polarity

Pick an output for the nitrous solenoid, normally a DPO (Digital Pulsed Output) or a stepper output. Nitrous solenoids pull a lot of current, so in almost every install that output drives a relay rather than the solenoid itself. The usual arrangement is switched 12V on one side of the relay coil and the ECU output on the other, so the ECU completes the circuit by grounding it. Our multi-stage relay wiring guide and the article on why you need a relay cover the hardware side.

Active State sets the polarity. On Low (the default), the ECU pulls the wire to ground when the stage should be on. On High, the logic flips: the wire sits grounded while the stage is off and is released when it turns on. Low is right for the relay arrangement above.

Wet progressive kits get one extra option, Fuel Solenoid Control Output. It only shows up once progressive control is turned on, and it gives the fuel solenoid its own output, its own PWM frequency and its own duty table, so the fuel and nitrous sides can be ramped separately.

Settings tab: progressive control

Tick Progressive Control and the stage stops being a simple on/off shot. The ECU now pulses the nitrous solenoid, and the N2O Solenoid Duty Cycle table appears in ECU Navigator. You also set the PWM Frequency the solenoid is switched at. Use the frequency your solenoid manufacturer recommends.

The duty table's axis should be the Nitrous Progressive Timer, which counts up from the moment the stage activates. That's how you build a ramp: low duty early to protect traction, then more as the car hooks. If you run a separate fuel output, the Fuel Solenoid Duty Cycle table works the same way, again on the progressive timer axis.

Timer Mode: what happens after an interruption

Real passes are messy. The driver lifts for wheelspin, throttle drops below the minimum, and the stage shuts off. Timer Mode decides where the ramp picks back up once conditions are met again:

ModeWhat the progressive timer does while nitrous is offResult when it comes back on
ResumeKeeps countingRejoins the ramp where the clock now says it should be
HoldFreezesPicks up at the duty it had when it was interrupted
ResetReturns to zeroStarts the whole ramp again from the beginning

Hold and Reset only do anything if the duty table actually uses the progressive timer as an axis. If it doesn't, the stage behaves as Resume regardless of the setting. Our view: Hold or Reset is usually kinder to a car that has just lost traction, because Resume can bring the nitrous back in at a much higher duty than the tires were handling a moment ago.

Activation modes

Activation mode is the trigger. Every mode still has to pass the safety window, and can also be gated by a master enable switch (more on that below).

ModeTriggers whenNeeds set up first
Race TimerThe race timer reaches the value set in ECU NavigatorRace Timer
Vehicle SpeedRoad speed reaches the value set in ECU NavigatorA working vehicle speed input
Always ActiveThe safety window (and enable, if used) is satisfied, nothing elseNothing extra
Trans Brake ReleaseTrans Brake State goes from Active to InactiveTrans Brake Control with an input
Clutch ReleaseClutch Switch Input State goes from On to OffClutch Switch
Launch ControlLaunch Control Output State goes from On to OffLaunch Control using a launch switch input

Always Active is popular on turbo cars with automatics and high-stall converters. A small shot helps the engine load up against the converter and bring the turbo in, with the safety window doing all the gatekeeping.

The safety window

These conditions are what keep nitrous from being sprayed into an engine that can't use it. We treat every one of them as mandatory, not optional.

SettingWhat it doesOur advice
Minimum Coolant TemperatureBlocks the stage on a cold engineSet it at normal operating temperature, not "almost warm"
Minimum Engine Running TimeBlocks the stage for the first seconds after start-upLeave a few seconds so nothing fires during start or a stall recovery
Minimum / Maximum MAPOnly allows the stage inside a manifold pressure bandOn turbo cars, use the max to stop nitrous stacking on top of full boost unless the tune is built for it
Minimum / Maximum RPMOnly allows the stage inside an RPM bandKeep the minimum well away from low RPM, where a big shot is hardest on the engine
Minimum TPSRequires real throttle openingSet it high. Nitrous with a closed throttle has nowhere to go
Disable During LimiterCuts the stage whenever any limiter is active, such as the main or launch limiterTurn it on. Spraying into a cutting limiter is asking for a backfire
Main Rev Limit OffsetWith the above on, drops the stage this many RPM before the main limitGive it enough margin that the shot is gone before the limiter ever acts

Enable and override

Enable is the driver's arming switch. Leave it at Always Enabled and the stage only answers to its activation mode. Point it at a Nitrous Enable function instead, and the stage is dead until that switch is on. It's the classic "off in the pits, on at the staging lanes" setup.

Override works the other way: it lets the driver force the stage on even when the activation conditions wouldn't. It's how you'd build a purge button or a manual "push to spray" button. It requires a Nitrous Override function. Because an override skips the normal trigger, think carefully about what it can bypass on your car before you wire one.

Corrections that ride along with the stage

Which bank

Apply Overall Corrections To Bank should match how the stage is physically plumbed: both banks, bank 1 only or bank 2 only. One catch with banked nitrous: bank-specific timing changes don't appear in the main Ignition Angle channel. To see them in a log, look at the ignition angle of a cylinder on that bank.

Ignition

Ticking Ignition Correction adds the Nitrous Controller Overall Ignition Correction table. Its values are absolute, so they should all be negative, since you're removing timing. Cylinder Ignition Correction adds per-cylinder tables for engines where some cylinders need more retard than others.

Fuel

Fuel Correction adds the overall fuel correction table. Unlike most Elite fuel corrections, this one isn't a percentage. It's a mass flow, shown in grams per second, kilograms per hour or pounds per hour depending on the Mass Flow unit you pick under Tools > Options > Units. Most tuners here work in lb/hr.

Delays

There is always a short lag between the solenoid opening and nitrous arriving in the cylinder, and another between the solenoid closing and the last of it clearing. The Ignition Delay, Ignition Off Delay, Fuel Delay and Fuel Off Delay settings let the corrections line up with the nitrous that's really in the engine, rather than with the solenoid command.

Target AFR

Target AFR Correction adds a table that shifts the AFR target while the stage is active, so closed loop fueling isn't fighting you. See nitrous target AFR correction.

Before the first hit

Log the stage with the bottle closed. Confirm the output switches when, and only when, you expect it to, that the timer behaves the way your Timer Mode says it should, and that the fuel and timing corrections appear. Then open the bottle.

Troubleshooting

SymptomUsually
Stage never activatesOne safety condition not met (often coolant or TPS), enable switch off, or the activation function isn't configured
Hits hard after a pedal liftTimer Mode on Resume with a steep ramp
Bank timing change missing in the logYou're looking at the main Ignition Angle channel instead of a cylinder on that bank
Hold or Reset seems to do nothingThe duty table isn't using the progressive timer as an axis

Nitrous stages FAQ

Can I run wet and dry kits on a Haltech Elite?

Yes. A dry kit leans on the fuel correction table to add fuel through the injectors. A wet kit brings its own fuel solenoid, and on a progressive setup you can give it a separate output and duty table.

How many stages should I use?

As many as your plumbing has independently switched solenoid sets. If you'd like a second opinion on a multi-stage layout, book a free 30-minute consultation.