Start with the wastegate
A turbo is a feedback loop. Exhaust spins the turbine, the turbine drives the compressor, more boost makes more exhaust energy, and without something to interrupt it that cycle keeps escalating until a part fails. The wastegate is the interruption. It is a valve that lets some exhaust skip the turbine and go straight to the dump or exhaust, so only as much energy as you need reaches the turbine wheel.
The valve is held shut by a spring behind a diaphragm. A reference hose from the compressor side pushes on that diaphragm, and once the pressure beats the spring, the valve cracks open and boost levels off. Swap the spring and you change that baseline boost. That baseline is the floor for everything that follows.
What the ECU adds
To run more than spring pressure, you put a boost control solenoid in that reference line. The Elite pulses it with a 0 to 100% duty signal. The solenoid bleeds off part of the signal meant for the diaphragm, so the wastegate sees less pressure than the manifold does and stays closed longer. As a rule, more duty means more pressure bled away and more boost.
ESP gives you two ways to decide that duty:
- Open loop: you fill in a duty table and the ECU outputs exactly that. Think of it as a mechanical bleed valve you can map against RPM or other axes. It never corrects itself.
- Closed loop: you give the ECU a target pressure. It starts from a base duty, compares real boost to the target, and adds or removes duty to close the gap. This is where most of the confusion lives, so the rest of this guide focuses on it.
If you want the short version of that comparison first, read closed vs open loop boost control.
The Boost Control tab, setting by setting
| Setting | What it does | Our advice |
|---|---|---|
| Mode | Open Loop or Closed Loop | Closed Loop for nearly every street car once the base table is sorted |
| Controlled Parameter | Manifold Pressure (the same MAP sensor used for fuel and timing) or Wastegate Pressure | Manifold Pressure unless you run a two-solenoid CO2 system |
| Output Frequency | Pulse rate for the solenoid, in Hz | Not a tuning value. Match the solenoid; 33 Hz suits Haltech's HT-020400 |
| Minimum Duty Cycle | A floor that overrides lower table values, covering the solenoid's dead zone | Often 5 to 10% on the Haltech solenoid. Find the duty where boost first climbs above spring pressure |
| Maximum Duty Cycle | A ceiling that overrides higher table values | 100% is fine with the Haltech solenoid |
| Control Point Offset | How far below target boost must reach before closed loop starts correcting | Begin near 5 psi. Raise it if boost overshoots early, lower it if boost sags early |
| Max Derivative | Boost must be rising slower than this rate before corrections are allowed | Try 15 psi/sec, then log the MAP Derivative channel and set it a little under what you see while boost builds |
| Overboost Offset | Switches the solenoid output off if boost passes target by this much | About 5 psi while tuning, tightened to about 3 psi when finished |
| Enable Spool Assist | Holds 100% duty from positive boost until the control point, then drops to base duty | Leave it off while you learn the system. Long wastegate plumbing can make it overshoot |
| Closed Loop Min TPS | Throttle opening required before closed loop runs | Around 80%, so the engine has the airflow to actually reach target |
Note that overboost offset is not a fuel or spark cut. It simply releases the wastegate so boost falls back. For real engine protection, set up an overboost cut as well.
Why min TPS matters so much
Picture cruising up a hill at half throttle. The engine physically cannot reach a 20 psi target there, so an unguarded controller keeps stacking duty, trying to fix an error it can never fix. Engineers call that integral wind-up. Now floor it. All that stored duty hits the solenoid at once and boost rockets past target. Requiring a high throttle opening before corrections start keeps the controller out of situations it cannot win.
The tables that do the real work
Closed Loop Base Duty Cycle
This is the most important table in the whole function. Each value should be the duty that lands exactly on a given target. The default horizontal axis is Boost Control Target Pressure, not measured boost, and that is deliberate: when the target changes, the ECU looks up the matching duty and starts from a sensible place. Start the column that matches your spring pressure near your minimum duty and add duty as targets rise.
Closed Loop Target Pressure
What you want the engine to make. Entirely your call.
Controller Start Delay
A wait time after boost passes the control point before short term corrections kick in. Correct too soon and the ECU sees boost below target, adds duty, and causes the overshoot you were trying to avoid. Err on the long side; too long only costs a brief pause. Boost builds slower at low RPM, so use longer delays there and shorter ones up top.
Proportional, Integral and Derivative gains
A boost system is slow by nature. The ECU pulses a solenoid, which changes diaphragm pressure, which moves a valve, which changes exhaust flow, which eventually changes compressor output. Aggressive gains just chase something that cannot respond that quickly. Our approach:
- Proportional: reaction to the size of the error. Keep it low. Too much gives fast oscillation.
- Integral: helps push the last bit of the way when the error is small. Start low and raise it only if target arrives too slowly. Too much gives a slow, rolling oscillation.
- Derivative: damps how fast the output changes. Leave it at or near zero on a normal wastegate setup. It earns its place on fast systems like CO2 control.
Our PID mapping article covers the theory in more depth.
Long term trim (Elite 1500 and 2500)
On the Elite 1500 and Elite 2500, long term trim watches what the short term controller is doing. If short term keeps adding duty, long term slowly learns a positive offset; if it keeps removing duty, it learns a negative one. That lets the base table adapt to climates and altitudes you never tuned in.
| Setting | What it does | Our advice |
|---|---|---|
| Enable Long Term Trim | Turns learning on | Off until you understand the short term behavior |
| LTT Min TPS | Throttle required before learning | 80 to 90%. Short term can work lower, but don't let it learn there |
| LTT Min RPM | No learning below this RPM | The RPM where your turbo can first hold target |
| LTT Max RPM | No learning above this RPM | Roughly 500 RPM under the rev limiter |
| LTT Min Gear | Lowest gear allowed to learn (needs gear detection) | 3rd is usually the first gear stable enough |
| Long Term Trim Gain | How quickly it learns | 100 to 200 is a good start. A good base table leaves it little to do |
| Reset / Apply To Base Table | Clears learned values, or folds them into base duty and clears | Apply after a few sessions of consistent data |
Worked example: three boost settings on a knob
Say a customer wants low, mid and high boost on a rotary trim module: 12 psi, 17 psi, and 19 psi rising to 21 psi above 5500 RPM. The base duty table needs a column for each of those target values, 12, 17, 19 and 21 psi. On the 12 psi setting, only the 12 psi column matters, so we adjust just that column until logs show 12 psi with almost no correction. Same for 17. On the high setting, we tune the 19 psi column below 5500 RPM and the 21 psi column above it.
Two mistakes we see all the time. One is changing the axis to plain manifold pressure, which takes away the ECU's way of choosing a starting duty for each target. The other is filling the whole table with one number, which means only one target can ever be hit accurately.
Reading the logs
| Symptom | Usually |
|---|---|
| Boost dips well under target right after the control point, then recovers slowly | Base duty too low. Raise it until the dip is gone. Most obvious with spool assist on |
| Duty and boost both flutter quickly around target | Proportional too high. Halve it and retest |
| Boost swells and sags in slow waves | Integral too high. Halve it and retest |
| Overshoot as boost arrives | Controller start delay too short, control point offset too small, or spool assist with long plumbing |
| Spike when going from part to full throttle | Closed loop min TPS too low |
For solenoid plumbing and output setup, see Elite boost control settings.
FAQ
Should I use spool assist?
Sometimes. It can bring boost in faster, but it can also overshoot. Tune without it first, then try it and compare logs.
Why won't my Elite hold target at part throttle?
By design. Below closed loop min TPS the ECU runs base duty only, because the engine may not be able to reach target there.
Can long term trim replace tuning the base table?
No. It is meant to nudge a good table, not build one. If it is learning large numbers, fix the base duty. Need a hand? Book a free consultation.




