What are tables?

Elite Software Programmer › ESP - Tuning Guide › IntroductionUpdated Sep 2026

Every tune is, at heart, a set of tables. If you understand how the ECU reads one, the rest of ESP makes a lot more sense. Here's the idea in plain English, with a worked example.

A table is a lookup, not a formula

An engine needs different amounts of fuel and spark depending on how fast it's turning and how hard it's working. Rather than calculating that from scratch, the ECU looks it up in a grid of numbers, much like reading a mileage chart on a road map: find the row, find the column, read the value where they meet.

On a Haltech Elite, the two axes of the main tables are usually:

  • Engine speed (RPM) along one axis.
  • Engine load along the other, typically manifold pressure from the MAP sensor, or throttle position on some setups.

The base fuel table

In the Base Fuel table, each cell holds an injector opening time in milliseconds. Many times a second, the ECU measures RPM and load, finds the matching spot in the table and reads off a time.

Worked example: suppose the engine is cruising at 2,500 rpm with the manifold at light vacuum. The ECU finds the cell for 2,500 rpm and that load, and suppose it holds 3.10 ms. That's the base injection time. Before the injectors fire, the ECU adjusts it for conditions the table doesn't know about, such as coolant and air temperature. The adjusted time is what the injectors are held open for on the next injection event.

When the engine sits between cells, which is most of the time, the ECU blends the neighboring values, so fueling changes smoothly instead of stepping from cell to cell.

Ignition tables work the same way

The ignition tables use the same grid idea. The only difference is what's stored in each cell: degrees of spark advance instead of injector time. The ECU reads the base timing for the current RPM and load, then applies its corrections.

Why this matters when you tune

  • Tuning is filling in the cells the engine actually uses with the right numbers, one region at a time.
  • If an area of the table is wrong, the engine is only wrong there. That's why a car can drive perfectly at cruise and still be lean at full load.
  • Corrections should correct. If you're leaning heavily on a correction to fix a whole region, the base table needs work.

Next steps: selecting tuning tables, modifying them, and tuning the base tables. For the bigger picture, read mapping an engine.