Speed Density

Speed Density Conversion

This mod replaces the stock MAF, with a MAP and IAT sensor.
This removes any restriction in front of the turbo, and improves drive-ability.
This also allows the use of Vent To Air Blow Off Valves.

My code is a port of JCSBanks Speed Density work on the SH cpu Evos.
All credit goes to him for his elegantly simple mod.
And a big thanks to Mrfred for answering my many questions.

This mod works because of the linear relationship between Pressure(Boost/Vacuum) and Load.


Load = kPa x VE

Load = units of air/rpm used by ecu (g/s)
kPa = MAP Sensor pressure in kiloPascals
VE = Volumetric Efficiency from VE Tables
This simple calculation allows us the emulate the MAF Sensor’s signal very accurately.
All else remains the same in the ecu, just the MAF is no longer needed.


An IAT and MAP sensor will be needed.


The IAT is wired into the MAF plug, pins 5 and 6.  (Pin 8 is unused for reference)

The only supported IAT sensor is the GM IAT.  It is inexpensive and readily available.

  • Part Numbers
    • GM IAT
      • 25036751
    • Pigtail
      • 12102620
    • Bung
      • 3/8 NPT


The MAP is wired into the stock MDP sensor.

As of now there is support for the GM and Omni 3-BAR sensors and Omni 4-BAR.  Support for higher BAR sensors will be added as needed.

The GM 3 BAR MAP sensor is a external unit.  It should be plumbed directly to the intake manifold with a dedicated line, made as short as possible.

The Omni sensors are plug and play units.  They replace the stock MDP sensor that is on 2G intake manifolds.

When selecting a MAP sensor you should choose the smallest that will fit your needs.
They all output a 0-5 volt signal, so a 3 BAR sensor will have more then twice the resolution then a 7 BAR sensor.

It is very important that your boost never spikes above your sensors max reading.
For example using a 3 BAR sensor with a max reading of 29 psi, if your boost spiked to 35 psi, the sensor will only read 29 psi, so the extra fuel needed will not be added and you will result with a lean condition.

  • Part Numbers
    • 3 BAR – 29 psi max
      • GM 3 BAR MAP
        • Old Number – 16040749
        • New Number – 12223861
      • Omni 3 BAR MAP
        • MAP-MITS-3BR
    • 4 BAR – 43.5 psi max
      • Omni 4 BAR MAP
        • MAP-MITS-4BR
    • 7 BAR – 87 psi max
      • Omni 7 BAR MAP
        • MAP-MITS-7BR


First Successful Test


Setting Up Base VE Maps

By default the VE maps are set up to use a GM 3-BAR.
If you are using a different sensor a few things must be changed.

For this example we will use a Omni 4-BAR.

First you must Edit, SD MAP Sensor and Calibration

Then you must change the Y Axis Scaling to the sensor you are using.

So we will change MAP 10 Bit (GM 3 BAR) to MAP 10 Bit (Omni 4 BAR).

Now MAP Sensor VE and Calibration must be edited because we changed the scaling.

First the MAP axis, enter the numbers: 10, 20, 30, 40, 60, 100, and 120.
The last item should be 50 higher then your MAP sensors max reading.
Since we are using a 4 BAR, it will be 400 + 50 = 450.

Now the Load axis, the items should match the MAP axis, so simply transfer them over.

The MAP and Load axis both have different resolutions, so just get the numbers close as possible.

The VE tables are now setup to use you Omni 4 BAR MAP sensor.


Two Volumetric Efficiency(VE) maps are use.

RPM VE is the change in VE over engine speed.
(Effected by, CAMs, HeadWork, etc.)
It is a simple VE percentage.

MAP Sensor VE and Calibration is a dual use table,
first it does the conversion from kPa to Load,
second it is a VE map vs pressure(kPa).
To find the VE percentage in this table you divide Load by MAP.
So if MAP = 40 and Load = 30,  30/40 = 75%.

The Evos have a system to build your base VE maps, that involves take logs with your MAF on,
then switching over to SD, and trying to get your SD logged Load to match your old MAF logs Load.
This can be problematic because there are so many variables to account for and they may not all show up in your log.

I’ve improved this system to allow RealTime VE tuning.




Two new items are now able to be logged.

MAF AirCounts is the raw MAF signal.

SD AirCounts is our emulated signal made from MAP pressure and VE.

You now need to simple drive with the MAF still in place and you MAP Sensor hooked up, and log these two items.
The goal is to get MAF and SD AirCounts to match under all conditions.

If there is a discrepancy that varies with pressure the  MAP Sensor VE and Calibration would be changed.
Or if there is a difference that varies with engine speed RPM VE would be changed.

This system is a lot easier,  then the old way of trying to decipher logs,
and when you are ready to switch to SD,  you know that your VE tables will be perfect.

My testing has shown that you can get MAF and SD AirCounts very close, within 1-2%.
The only time they should not match is during a BOV vent.
Because your MAP Sensor is behind the throttle plate it is not greatly effected by this.
The MAF on the other is disrupted by turbulent air being returned into the intake pipe.