Air Conditioner Control

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

Keeping air conditioning working on a standalone ECU is what separates a pleasant street car from a compromise. The Elite can run the compressor itself, raise idle before the load hits, and drop the A/C when you need every horsepower. Here is how we set it up in ESP.

What the A/C function actually does

An A/C compressor is a parasitic load bolted to the front of your engine. When its clutch engages, the idle sags, and at wide open throttle it steals power you'd rather send to the tires. The Elite's Air Conditioner Control function handles both sides of that:

  • It protects performance. The ECU can switch the compressor off at high RPM or high throttle, then bring it back when you settle down.
  • It protects idle. Before the clutch engages, the ECU can lift the idle target and idle valve duty so the engine is ready for the extra load.

To do this the ECU needs two things: an input telling it the driver has asked for A/C (the request switch on the dash or HVAC panel) and an output that drives the compressor clutch, usually through a relay. Both are assigned on the function's Wiring tab.

Wiring tab: inputs and outputs

Options

  • Input Mode: choose a digital switch input, or read the request over the vehicle CAN bus if your car's body electronics already send it.
  • Air Conditioner Output Enable: turn this on to let the Elite drive the compressor directly. Compressor Mode only offers a digital output.

The A/C request switch input

You can use an SPI or an AVI for the request switch.

On an SPI, three settings matter:

  • Edge Select: pick Falling if pressing the A/C button pulls the wire to ground. Pick Rising if pressing it feeds the wire a voltage.
  • Sensor Type: always Hall Effect for a switch.
  • Pullup: enable it when the switch only grounds the wire, so the input has a voltage to see while the switch is open.

On an AVI, you tell the ECU which voltage means on and which means off. The gap between the two thresholds is deliberate: it stops a noisy signal from flickering the A/C on and off. Leave plenty of margin from the real voltages you measure.

Switch behaviorSwitch On VoltageSwitch Off VoltageHow it reads
Sits at 5V, pulled to 0V when pressed1.0V4.0VOn once it drops under 1.0V, off again once it climbs past 4.0V
Rests at a low voltage, driven to 12V when pressedA value comfortably above the resting voltageA value between the resting voltage and the on thresholdOn once it rises past the on threshold, off once it falls back under the off threshold

Measure the real resting and pressed voltages with a meter before you pick numbers. Old switches and long runs rarely sit exactly at 0V or 5V.

The A/C output

Assign a spare output wire, normally a DPO or a stepper output, to drive the compressor clutch relay. Active State decides polarity. The default, Low, grounds the wire when the ECU wants the compressor on, which suits a relay coil fed with 12V. High flips it, grounding the wire while the compressor should be off. Use High only if your factory circuit is designed that way.

Air Con tab: the logic and our advice

SettingWhat it doesOur advice
Conditions Time DelayMinimum time between the compressor turning on and off, so rapid throttle changes don't chatter the clutch. Default 5 sLeave it at the default unless you have a reason. Short cycling wears clutches
Min Engine Running TimeHolds the A/C off after start until the engine has run this long. 0 lets it engage straight away. Default 5 sLong enough for idle to settle after a cold start
Maximum RPMSwitches the A/C off above this engine speed to protect the compressor. Default 4500 rpmKeep it inside what your compressor is rated for, especially with an underdrive or overdrive pulley
Maximum TPSSwitches the A/C off above this throttle position so the engine gets full powerHigh enough that normal part-throttle driving doesn't cut it
Air Con Idle RPM OffsetRaises the idle target while the compressor is onEnough to keep the engine smooth, confirmed in logs
Air Con Idle Base OffsetAdds idle valve base duty while the compressor is onTune this so idle barely dips when the clutch engages
Idle Time On DelayWait between raising idle and engaging the compressorAround half a second is typical
Idle Time Off DelayAfter a request ends, idle offsets drop first and the compressor stays on this long before switching offShort, just enough for idle to come down smoothly

Sensor-based protection

If you've enabled an A/C temperature sensor or an A/C pressure sensor, more settings appear:

  • Air Con Min Temp and its hysteresis: the compressor won't run while the sensor reads below the minimum, and it only re-engages once the reading climbs past the minimum plus the hysteresis. This protects against icing.
  • Min Pressure Enable, Air Con Min Pressure and its hysteresis: the compressor is disabled below the minimum refrigerant pressure (a low charge or leak) and only comes back once pressure has risen past the hysteresis band.
  • Air Con Max Pressure Hyst: after a high-pressure cutout, pressure must drop by this much below the maximum before the compressor is allowed back on.

Hysteresis is the key idea in all three. Without it, a reading sitting right on a threshold would switch the compressor on and off every few moments.

Pulsed output

Pulse Enable turns the output into a repeating on/off pattern instead of a steady on. Pulse On Time (default 3000 ms) and Pulse Off Time (default 1000 ms) set the pattern. Leave it disabled unless your system specifically needs it.

Worked example: a street car with factory A/C

  1. Wire the dash A/C request to a spare SPI. It grounds when pressed, so set Falling edge, Hall Effect, pull-up on.
  2. Wire a DPO to the ground side of the compressor relay coil and leave Active State on Low.
  3. Keep the default 5 s running time and time delay, set a sensible Maximum RPM, and a Maximum TPS that only trips near full throttle.
  4. At idle, press A/C and watch the log. Adjust the idle RPM and base offsets until the dip is barely there, and fine tune the on delay so the idle rises before the clutch bites.
  5. Drive it and confirm the compressor drops out on a full-throttle pull and comes back afterwards.

Idle behavior depends on idle control being properly tuned first. If you're running an electric fan, set up the thermofan so it helps the condenser too.

Troubleshooting

SymptomUsually
Compressor never engagesOutput not enabled, wrong active state, running time or a sensor minimum not yet met, or the request input isn't registering
A/C flickers on and offAVI thresholds too close together, or time delay set too short
Idle drops or stalls when it engagesIdle offsets too small or the on delay too short
Compressor runs with the switch offActive state inverted, or the edge setting doesn't match the switch
A/C drops out on the highwayMaximum TPS or RPM set too low for normal cruising

FAQ

Can the Elite run my factory air conditioning?

Yes. With the request input and compressor output wired, it handles engagement, idle compensation and performance cutouts.

Why does A/C cut out at full throttle?

That's the Maximum TPS setting doing its job, freeing up power when you ask for it. Raise it if it's intruding on normal driving.

Do I need the A/C pressure sensor?

It's optional, but it adds protection for low refrigerant and high-pressure conditions that a simple switch can't match.