What the Ignition page decides
Before an Elite ECU can fire a single spark it needs answers to four questions. What load signal should the timing map be built on? How many coils are there, and how are they shared between cylinders? What kind of signal does the igniter expect? And who is in charge of coil charge time, the ECU or the ignition module? The Ignition page in ESP (under Main Setup, Engine) holds all four answers, plus the switches that turn the individual timing correction tables on and off.
We treat this page as a checklist during every first start. Get it right and the rest of ignition tuning is just filling in tables. Get the edge or dwell mode wrong and you can damage coils or modules before the engine has even turned over.
Ignition load type
This picks the sensor the ECU treats as "load" for spark. Any table in the ignition section that uses Ignition-Load as an axis, including the correction tables, follows this choice. MAP Sensor is the default.
| Option | When it fits |
|---|---|
| MAP Sensor | Speed-density setups, turbo and supercharged engines, and most street builds. This is our default choice. |
| Air Mass/Cyl | Engines running a mass airflow sensor as the main load input. |
| Throttle Position Sensor | Individual throttle bodies or big-cam engines where manifold vacuum is too unsteady to be a useful load signal. |
| Engine Pressure Ratio | Only available when you have both an intake MAP sensor and an exhaust MAP sensor fitted and the Engine Pressure Ratio function is turned on. |
Your fuel load type and ignition load type don't have to match, but on most builds they do, and keeping them the same makes tables easier to compare. The fuel side is covered in our Elite fuel setup article.
Ignition mode: matching the coil layout
Ignition mode tells the ECU how many coils it is driving and how they map to cylinders.
Direct Fire
One coil per cylinder, so a V8 uses eight ignition outputs and eight coils. Wiring follows cylinder number, not firing order: Ignition 1 goes to cylinder 1's coil, Ignition 2 to cylinder 2, and so on. The ECU then uses the firing order entered on the Main page to fire them in the right sequence. This is the most common layout on modern engines and gives the most control, including per-cylinder timing trims.
Wasted Spark
Each coil fires two cylinders at once, one on compression and one on exhaust. A V8 uses four outputs and four coils. In this mode the outputs are simply fired in order and the firing order setting isn't used, so the coil pairing has to be done in your wiring.
Distributor
A single coil fed from Ignition 1, with the distributor rotor choosing the cylinder. Common on older engines that still have their original distributor.
Twin Distributor
Two coils and two distributors, one per bank. Toyota's 1UZ-FE V8 is the classic example. Ignition 1 fires bank 1 and Ignition 2 fires bank 2.
Single Wire CDI
Reserved for a Haltech Power Select 4, 6 or 8 CDI system. Ignition 1 carries the multiplexed signal to the CDI box, Ignition 2 handles the automatic power selection function on a four-stroke engine, and Ignition 3 does the same job on a rotary. Don't pick this for any other CDI.
Edge and dwell mode: the two settings that can break parts
Both of these describe the electrical behavior of your igniter. For any given ignition module there is exactly one correct answer, and picking the wrong one can overheat or destroy the module or the coil. If you don't know what your coils need, stop and find out before you crank the engine.
Edge
The ignition output sits in one state while idle, flips to start charging the coil, then flips back to make the spark. The time between those two changes is the charge time.
- Falling (default): the output rests at 0V, rises to +12V to begin charging, and the spark happens when it drops back to 0V. Nearly every factory coil-on-plug and most aftermarket ignition systems work this way.
- Rising: the reverse. The output rests at +12V, drops to 0V to charge, and fires when it rises back to +12V. You'll see this on some CDI boxes built to be triggered like points, and on certain Honda distributors.
Dwell mode
- Constant Charge (default): the ECU controls how long the coil charges. This applies to almost every factory system where the ECU sets the advance, whether the igniter is a separate module or built into the coil. Choosing it unlocks a dwell table, up to 3D, set in milliseconds. The right values come from the coil manufacturer's data, not guesswork. Our dwell time article explains why too much charge time is just as bad as too little.
- Constant Duty: the ignition module manages charge time itself, and the ECU just sends a square wave at a fixed duty. Used by some points-style CDI units and older factory modules such as Ford's TFI. This mode reveals the Dwell Duty setting.
Dwell Duty is the percentage of each cycle the output spends "on." Most CDI and constant duty systems want 50%, but confirm it with the ignition supplier before you commit.
Unplug the coils or pull the ignition fuse, power up the ECU and check your settings twice. A coil driven with the wrong edge sits charging almost the whole time, and it gets hot fast. Once the engine is running, feel the coils after a few minutes of idle; a coil that's much hotter than its neighbors is telling you something.
Rotary-only trailing settings
With Engine Type set to Rotary, three extra settings appear for the trailing coils:
- Trailing Edge: the same choice as Edge, applied only to the trailing coil outputs. Leading coils still follow the main Edge setting.
- Trailing Dwell Mode: the same idea for charge control on the trailing coils.
- Trailing Split Angle: how many degrees the trailing spark lags the leading spark, entered as degrees of retard.
Here's how that plays out when you check timing on a rotary. Many Mazda rotaries have factory marks at 5 and 20 degrees after TDC. To line up with those, you'd lock timing with a Firing Angle of -5 (the leading spark 5 degrees after TDC) and a Trailing Split Angle of 15, putting the trailing spark 15 degrees later at 20 ATDC.
Lock mode and firing angle: checking base timing
Lock Mode freezes ignition advance at one number so you can point a timing light at the crank and set the TDC offset. While it's active, every timing table and correction is bypassed and the ECU fires at exactly the Firing Angle, entered in degrees BTDC.
| Lock Mode | What happens | Our advice |
|---|---|---|
| Disabled | Timing follows all tables and corrections normally | Where it should live once timing is verified, unless you want the clear flood option below |
| Always On | Timing is held at the Firing Angle constantly | Use only while you're setting the TDC offset, then turn it off |
| On During Clear Flood Only (default) | Timing locks only when clear flood is active (wide open throttle while cranking) | Handy for re-checking timing later without plugging in a laptop |
The clear flood option is worth understanding. Hold the throttle wide open and crank, and the ECU locks timing so you can check the marks with a light. Let go of the throttle and everything returns to normal. It's a nice way to confirm that a trigger setup hasn't shifted after work on the engine.
We've seen cars leave a shop with Lock Mode set to Always On. The engine runs, but on a fixed advance with no load or rpm response at all. After setting the TDC offset, check this setting before you do anything else.
Ignition angle tables: which ones to switch on
The lower half of the page is a list of timing tables you can enable. Each one adds degrees to, or removes degrees from, the main ignition map. Positive values advance timing; negative values retard it.
| Table | What it does | Our advice |
|---|---|---|
| Overall Correction (on by default) | A single number added to or subtracted from all timing | Great for quick "pull 2 degrees everywhere" tests, then fold the change back into the main map |
| Attack/Decay Correction (off by default) | Limits how fast timing can advance (attack) or retard (decay), in degrees per engine cycle, up to 3D | Use attack to smooth sudden torque jumps; decay is rarely used, which is why its defaults sit high, around 50 |
| Cranking Ignition Angle (on) | Timing used below Max Cranking RPM, up to 3D | Keep it modest so the starter isn't fighting early ignition |
| Zero Demand Ignition Angle | Timing used when throttle (or pedal on drive-by-wire) is below the User Demand Minimum, up to 2D | Useful for steady idle and closed-throttle decel behavior |
| Coolant Temp Correction (on) | Adds or removes timing by coolant temperature, often also by load, up to 3D | Pull timing when the engine is hot and loaded |
| Air Temp Correction | Adds or removes timing by intake air temperature, often also by load, up to 3D | Essential on boosted engines where intake temps climb on long pulls |
| Post Start Correction (on) | Timing change applied once rpm passes Max Cranking RPM, fading to zero over time; usually mapped on run time and coolant temp, up to 3D | Make sure it decays fully to zero |
| Cylinder Correction (off) | Individual timing trim tables for every cylinder, up to 3D | Needs a trigger with full 720-degree sync and per-cylinder control |
| Gear Correction (off) | Timing trim per gear, up to 4D | Requires a gear position sensor or gear calculation |
| Generic Correction 1 to 4 (off) | Tables with axes you choose, with optional enable conditions, up to 3D | Set axes with the GRID icon or F3 |
| Fuel Comp Correction (off) | Adjusts timing based on ethanol content (flex fuel composition) | Only works with a flex fuel composition sensor fitted |
Our rule is to switch on only what you'll actually tune. Every enabled table is another place timing can come from, and when you're chasing knock in a log you want as few suspects as possible. If you're running flex fuel, our flex fuel tuning guide covers how the timing side fits with fuel compensation.
Setting up a generic correction
Turning on any of the four generic tables adds an Ignition - Generic Correction tab. That tab gives you:
- Custom Name: a label for the table, which also makes it easy to find when searching channels.
- Conditions Enable: tick this if the table should only run under certain conditions.
- Number Of Conditions: up to three.
- For each condition, a Select Channel (any ECU channel), a Maths operator that compares it (the familiar =, not-equal, above, below, and the two "or equal" versions), and a Value to test against.
- And/Or: whether all conditions must be true, or just one of them.
Here's an example of how we'd use one. Say a customer wants a little less timing while a launch control switch is on and the car is below walking pace. We'd create a generic table named "Launch Timing," set two conditions (launch switch equal to on, AND vehicle speed less than a low value), and put the timing reduction in the table against rpm. The table does nothing on the street and only steps in when both conditions line up.
Troubleshooting
| Symptom | Usually |
|---|---|
| Coils or igniter get very hot, or fail soon after install | Wrong edge setting, or dwell too long for the coil |
| Timing doesn't change with rpm or load | Lock Mode left on Always On |
| Engine fires on the wrong cylinders with direct fire | Coils wired by firing order instead of by cylinder number, or wrong firing order on the Main page |
| Weak spark at high rpm | Dwell too short for the coil, or constant duty used with a coil that needs ECU-controlled charge |
| Timing jumps around even with steady conditions | An enabled correction table you forgot about; check each correction channel in the log |
| Cylinder or gear correction options are greyed out | Trigger lacks full sequential sync, or no gear signal is set up |
Ignition setup FAQ
Should I run direct fire or wasted spark?
If your engine has a coil per cylinder and your trigger gives full cam sync, run direct fire. It gives you individual cylinder trims and lets each coil rest between firings. Wasted spark is the fallback when you don't have a cam signal or you're keeping factory paired coils.
How do I know if my coils need Falling or Rising edge?
Check the coil or module maker's data. Almost all modern coil-on-plug units use Falling. If you're unsure, ask us before powering the coils, since a wrong guess can cost you a set of coils.
Why is my engine running with fixed timing?
Lock Mode is still active. Set it to Disabled or On During Clear Flood Only once your TDC offset has been checked. For the rest of the engine configuration pages, see our Elite engine setup article, or book a free consultation if you'd like us to look over your map.




