Engine On/Off Control

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

Push-button start, a race kill switch and a starter that won't crank unless the car is in neutral are all handled by one function on a Haltech Elite. Engine On/Off Control pulls ignition, relay, starter and kill logic into a single place in ESP. Here's how we set it up and what each option really changes.

What Engine On/Off Control handles

On a traditional car, the key does everything: it powers the ECU, energizes the main relays and spins the starter. On a race car or a custom build you often want something smarter. Maybe there's no key at all, just a start button. Maybe you want the starter to refuse to engage unless the clutch is down, or you need a way to kill the engine from a switch or from an ECU condition.

The Elite's Engine On/Off Control function groups all of that together. Inside it you'll find five building blocks, and you only enable the ones your car needs:

  • Ignition Switch: an input telling the ECU the key (or button) is on.
  • Engine Control Relay (ECR): an output that switches 12 V to the engine management loads, like injectors and coils.
  • Start/Stop Button: an input for push-button starting.
  • Starter Motor Control: an output that lets the ECU run the starter relay.
  • Kill Switch: a way to shut the engine off from a wire or from a condition.

Three common setups

BuildWhat we enableNotes
Street car with a normal keyIgnition Switch (type: Switch), ECRStarter stays on the key. This is the simplest setup. Keep the ECR enabled if you're using a Haltech universal loom with its fuse and relay box.
Key-on, push to startIgnition Switch, ECR, Start/Stop Button, Starter Motor ControlKey or toggle powers the car, button cranks it, lockouts protect the driveline.
Keyless race carMomentary ignition, ECR latching, Start/Stop Button, Starter Motor Control, Kill SwitchA single button starts the car, the ECR latches power on, and a kill input or panic press shuts it down.

Wiring tab options

Ignition Switch and its type

With Ignition Switch enabled, the ECU watches its ignition input and uses it to run the main engine relays in the fuse box. The input needs to see 12 V whenever the key is on and while cranking. There are two types:

  • Switch: the input stays on for as long as the engine runs. This is the classic key setup.
  • Momentary: the input is only on while a button is held. Use this when the ECR has to latch itself on after the button is let go, which is covered in the ECR Latched Condition tab below.

See our ignition switch 12V wiring article for how the ignition feed is wired on Elite looms.

Engine Control Relay

Enabling the ECR gives the Elite control of the 12 V supply to the engine management loads, such as the injectors and coils. If you're running a Haltech universal loom with the built-in fuse and relay box, leave this enabled. More detail is in our ECR wiring article.

Start/Stop Button

This also has two modes. On/Off Switch treats it like a key that stays on while the engine runs. Momentary treats it as a button that's only on while you press it, which is what most push-button start switches are.

Starter Motor Control

Lets the ECU engage and release the starter based on the ignition switch or start button. This is what makes starter lockouts and automatic starter cut-off possible.

Kill Switch

Mostly used on cars without an ignition key. Pick Wired Input if the kill signal comes from a physical switch wired to the ECU, or Conditionally Triggered to have the ECU shut the engine down itself when the conditions you set in the Kill Switch Conditions tab are met.

Connecting buttons and switches

The start button and a wired kill switch can go on either an SPI or an AVI.

On an SPI

  • Edge Select: choose Falling if the switch grounds the input when pressed, Rising if the switch feeds it voltage.
  • Sensor Type: Hall Effect for any switch.
  • Pullup: turn it on when the switch only connects to ground, so the input has a voltage to sit at when the switch is open.

On an AVI

An AVI reads voltage, so you tell the ECU what counts as on and what counts as off with Switch On Voltage and Switch Off Voltage. Leave a gap between the two so electrical noise can't make the input flicker. Two examples:

  • A ground-switching button on an input that idles near 5 V: set On at 0.5 V and Off at 4.5 V. Below 0.5 V the ECU sees it pressed, and it has to climb past 4.5 V before it counts as released.
  • A switch that pulls the input from about 2.5 V up to 12 V: set On at 4.5 V and Off at 3.0 V, so it turns on as the voltage rises past 4.5 V and turns off once it drops back under 3.0 V.

Measure your own switch with a meter in both states before you pick numbers. These are illustrations, not values to copy blindly.

Starter relay output

Use a DPO for the starter motor output, and drive a proper starter relay with it, never the starter solenoid directly. The Active State setting defaults to Low, meaning the ECU grounds the wire to turn the relay on. Setting it High inverts that: the wire is grounded when the output is off and released when it's on. Stick with Low unless your relay circuit specifically needs the opposite. If relays are new to you, our relay explainer is worth a read.

ECR Latched Condition tab

With a momentary ignition input, the ECU needs a reason to keep power on after the button is released. Enable Latched Output turns that on. You then build the stop condition that releases the latch from four parts:

  • Select: the ECU channel to test.
  • Maths: equal, not equal, greater than, less than, or the "or equal to" versions.
  • Value: the number to compare against.
  • And/Or: combine more than one condition.

Think this through carefully. The stop condition is what decides when the car powers down, so test it with the engine off before you rely on it.

Start/Stop Button tab

How a normal start works

  • Short/Single Press: one tap and the ECU keeps cranking until the engine starts or the Max Starting Attempt Time runs out.
  • Hold Until Started: the ECU cranks only while you hold the button (or keep the key in the start position), like a conventional starter.

Emergency stop

Two settings decide when a press on the running engine means "stop now":

  • Minimum Button Hold Duration: how many seconds the button must be held to count as a long press.
  • Minimum Number of Button Panic Presses: how many presses inside one second count as a panic stop. The ECU won't accept fewer than 3, so a bumped button can't shut the car off.

Kill Switch Conditions tab

If you picked Conditionally Triggered, this is where the logic lives. It uses the same Select, Maths, Value and And/Or format as the ECR latch, but it has two sets: a Stop Condition that engages the kill, and a Reset Condition that releases it. Always set a reset you can actually reach, or you'll have a car that won't restart without a laptop.

Starter Motor tab

SettingWhat it doesOur advice
Max Starting Attempt TimeLongest the starter runs on one attempt, in secondsLong enough for a normal cold start, short enough to protect the starter if something's wrong
Starter-Off Engine RPMStarter drops out at or above this RPMSet it above the speed where the engine could still stall, then confirm in a log of a few cold starts
Brake Not AppliedBlocks the starter unless the brake is pressedNeeds a brake pedal switch wired to the ECU
Clutch Not AppliedBlocks the starter unless the clutch is downNeeds a clutch switch wired to the ECU
Not in Neutral Gear/ParkBlocks the starter unless in neutral or parkNeeds gear detection enabled or a neutral switch
Custom ConditionYour own condition that disengages the starterUseful for oddball interlocks
Don't skip the lockouts

Haltech recommends having at least one lockout condition set, and we agree. A car that can crank in gear from a single button press can run someone over in the pits.

Troubleshooting

SymptomUsually
Car shuts off as soon as the start button is releasedMomentary ignition with no ECR latch enabled, or a stop condition that's already true
Starter won't engage at allA lockout isn't satisfied, or the switch it depends on isn't wired or configured
Starter keeps cranking after the engine firesStarter-Off Engine RPM set too high, or Hold Until Started with the button still held
Starter drops out and the engine stallsStarter-Off Engine RPM set too low
Button presses are missed or doubledWrong edge or pullup on an SPI, or On/Off voltages too close on an AVI

FAQ

Can a Haltech Elite do push-button start?

Yes. Enable the Start/Stop Button and Starter Motor Control, wire the button to an SPI or AVI and drive a starter relay from a DPO. Add at least one lockout.

Is the kill switch a substitute for a battery isolator?

No. A conditional kill switch stops the engine through the ECU. Many racing rules require a mechanical master switch that cuts all power, and this doesn't replace it.

Do I need the ECR if I'm using the Haltech fuse box?

Yes, leave it enabled. The Haltech relay box expects the ECU to control that relay.

Want help planning a keyless setup? Book a free 30 minute consultation and we'll walk through it with you.