Injectoropening parameters:


[[Manual: Detailed.Output.Fuel.Config]]

Basic req_fuel calculation


Input data

req_fuel = D / N * 0.0012 / 14.7 / 0.755 / I * 60000

The constant 60000 is responsible for scaling output from min (coming from the injector cc/min) to msec unit we usually use for this. The other constants are self-explanatory.

Simplified equation is: req_fuel = 6.49 * D / N / I


D N I fuel pulsewidth (msec) req_fuel=0x..
1600 4 220 11.8 76

We usually use 50% of calculated req_fuel and scale up VE values (j[] table) to double values (max values around 200, not 100) for somewhat higher precision.

Note: bin/ in firmware has a bit more featureful calculator, and there are many on the web.

Tuning software support.

PSITuner implements a tool to calculate the req_fuel. In the Tools menu select "Fuel Calculations"


Boost is considered when the value looked up from VE table is multiplied by MAP. Also, the l[] lambda table will command a richer mixture for high MAP loadsites. So there is no need for NA/forced induction flag for the req_fuel calc. What does it do currenly ?

Injopen/additive fueltrim note

Unfortunately the 4 (or 5..8) injectors often show huge deviation at short pulsewidth (even if full-flowrate is matched within 1%), and (especially at 1.2 - 1.5msec pulsewidth or lower) the amount of injected fuel changes also depend on unaccountable factors (fuel pressure fluctuations and fuel temperature and mechanical bias).

To make it a bit better, there are arguments for adding additive fuel-trim.

(when multiplicative fuel trim is needed, the injector flowrates differ unacceptably or the setup is otherwise broken that should be fixed).

Reasonable options:

The injopen parameters and the additive fueltrim can show up in separate dialogs (one or the other is always greyed out).

See also