September 20, 2021

How To: Speed Density on the Evo 8 ECU Using Tephra v7- By: Scheides

scheides tested, ecu-guru approved! Still, be careful.
Also, it may (and likely will) change, I’ll try and bump the thread with ‘updated’ as I do so…this is a work in progress!

Converting your evo8 to speed density is a lot easier than you might think! With the right tools, some time, and careful steps you’ll be running MAF-Free in no time! I’ll be using a lot of hyperlinks for reference points on material previously covered elsewhere. Make no mistake, speed density running on the stock ecu is a culmination of years worth of work by a lot of people around the world. Don’t forget to thank them once you get it running properly: jcbanks, mrfred, JohnBradley, tephra, phenem, recompile, l2r99gst…to name a few.

First off, there’s some hardware required. I HIGHLY recommend getting these going on your existing rom so you have a known good rom to easily flash back to while you are getting speed density going (in case you run into trouble and simply need to drive the car). Otherwise, swap the hardware below and read on!

Hardware Required:

Step #1: A good running car with a safe tune on it.
Do a boost leak test, have a spare set of spark plugs handy (your existing ones may get fowled during this conversion process), fresh fluids, known-good boost levels, etc. If you car is in disrepair, take care of maintenance items before attempting this conversion; you will only be making it harder on yourself!

Step #2: Get a pre-patched rom from tephra/phenem:…hramod-v7.html
I used post #2, option 5, here’s the direct link: Download

I used tephra v7 because it has all of the latest and greatest hacks in it, and this pre-patched rom has a LOT of work behind it to make what you’re about to do much easier! Unpack the .zip file, put the 96531706-TephraMod-phenem-sd.bin file in a new folder somewhere called SpeedDensity. Put TephraMOD-96531706-v7.xml in C:\Program Files\EcuFlash\rommetadata\mitsubishi\evo\ and rename it 96531706.xml

Now launch ecuflash. Open the 96531706-TephraMod-phenem-sd.bin, make sure you can see some of the tables and that all is well. Hit save and call it 96531706-myspecialname-test1.bin (keep the original untouched so you have a local backup copy). Then load your existing rom off of your car or open a previously saved copy. You’re ready for the dirty work.

Step 2a: light throttle cruise jitter (this may go away some day)
There is a very small issue with the existing speed density implementation that causes an ever-so-slight jitter while cruising around 2000-2500rpm. The final fix is still up in the air, but for now, I’m recommending mrfred’s fix#2 since I’ve had the best luck with it. The XML is included in the pre-packaged rom, so simply find Fix2 or Fix3 under ‘Speed Density Programming’ and adjust the values per the mini directions.

  • Fix2: change 112 to 0
  • Fix3: change 8909 to 0009

Step 3: Copy *most* of the tables over from your old rom to the new rom.
I say *most* because there are some things set in this new rom that you’re not going to want to mess with. The XML file that comes with these pre-patched roms does a good job detailing the periphery bits, so be careful which ones you copy over, and be careful which values you copy over in the MUT table. The ones that are key to getting this rom up and running on your car:

  • High/Low Octane Fuel and Timing tables (including rpm and load scaling values)
  • Injector scaling/latancy tables
  • Boost contrl/boost limit tables
  • MAF scaling (yes this does still have an effect)
  • MAP sensor scaling (scaling and xml here and here if you don’t have this running already)
  • Immobilizer (or immob disable…if you car won’t fire at all, this would be why)
  • …(any other suggestions?)

NOTE: This rom comes with BIG maps enabled. This is a mixed blessing; you now have a lot more resolution when tuning, but you’ll have to get your existing table translated into big maps. A GREAT tool for this is this translator but don’t just plug values in blindly, carefully double-check several rpm vs load cells and make sure they line up.

Step 3a, idle tables:
I left all of the stock values, save for desired idle RPM alone. To keep things simple, consider doing the same on your car, as SD idles amazingly well, even on a highly modified engine. You did a boost leak test, right?

Step 3b, MAP Sensor Selection:
This rom has no scaling tables for the MAP sensor and is setup for the JDM/EvoX 3bar MAP sensor by default. If you are using a different MAP sensor, you need to change the scaling on a few tables from ‘PSIa8 JDM3barMAP’ to ‘PSIa8 OMNI4barMAP’, or the preset for your specific MAP sensor. Right-click on the map/table in the left column of EcuFlash and select Edit, and pick the appropriate scaling from the drop-down menu.

  • Alternate Boost Desired Engine ‘PSI’ : PSIa8 JDM3barMAP -> PSIa8 OMNI4barMAP
  • Boost Error Correction (PSI) : BoostErrorPsi JDM3barMAP -> BoostErrorPsi OMNI4barMAP
  • Boost Desired Engine ‘PSI’ : PSIa8 JDM3barMAP -> PSIa8 OMNI4barMAP
  • Boost Adder (PSI) : PSIa16 JDM3barMAP -> PSIa16 OMNI4barMAP

NOTE: I tried keeping XML editing out of this post, but for now, it needs to be done if you are using anything other than the JDM/EvoX 3.3 bar map sensor. There are different scalings for MAP kPa based on which sensor you use. You can choose to use these or not. I HIGHLY recommend updating the MAP kPa scaling in c:\Program Files\EcuFlash\rommetadata\mitsubishi\evo\96531706 .xml based on mr. fred’s values here:

Step Four, let’s talk speed density!
There are two tables that will get a lot of your attention: SD MAP Sensor VE and SD RPM VE. These tables correlate pressure and speed with engine load (and thus fuel), and should be started at a 1:1 ratio like so:

Step 4a: SD RPM VE Table
The first table to play with will be SD RPM VE. (side note, starting here on a warm car may be advantagous). Start your car, leave it in neutral. Log wideband AFR and narrowband o2 feedback. If it is running extremely rich (like mine was), adjust values in the SD RPM VE table down in 5-10% increments until feedback is near zero and AFR is in the 14.7 range. Smooth the table from idle rpm areas up to boost areas (which are likely going to be just over 100%).

Once you have your idle or sub-2000rpm area dialed in and happy, push the throttle a bit and rev the engine up to 2500, 3000, and maybe 3500rpm and continue to monitor o2 feedback and wideband AFR.

As you do this process, got any check engine/service engine lights? Address them now. Once you drive the car on speed density you’ll never wanna go back to a MAF

Step 4b: SD MAP VE Table
Again, log wideband AFR and narrowband o2 feedback. Put the car in gear, take off, in first, then grab second or maybe third gear. The car should drive pretty well with *feather* light throttle. NO BOOST! Now, tip in throttle a bit, maybe 25-35%, just enough to bring the car out of vacuum, mabye like 0-5psi. If your car is like mine, it will lean out a bit in this load range, and you’ll need to lower the load% values that correlate to ~31-61kpa a bit to bring AFRs in line. I dropped mine about 8-10% for these light load cruising areas.

Step 4c: drive the car, no boost!
If your car is going to stay in closed loop (like mine and most cars are) drive the car around with no boost. Take this time to admire how awesomely smooth speed density makes the car, and how thankful you are to everyone mentioned above and all of their hard work for making your evo drive so nicely. Watch your AFRs, o2 feedback, and LTFT Mid. I spent a few days driving back and forth to work tweaking MAP VE and RPM VE to get the car to cold start nicely, drive nicely, and keep LTFT’s in check. This is not unlike dialing in a new set of injectors, if your LTFT is a bit negative, lower the appropriate RPM VE and/or raise your MAP VE values a few % at a time to bring them back in line. If the LTFT is positive, raise RPM VE and/or lower MAP VE.
(can someone double check this for me? pretty sure this is how I remember it!)


Step 5: BOOST!
If you’re smart, you will now turn down your boost. I started at wastegate pressure. Roll on the throttle, get the car into the main powerband area (typically 4000-6000rpm) and if you can, watch wideband AFR as you do this. You may now have to de-linearize the MAP VE and RPM VE tables. I started by bumping the top two values in MAP VE table up by about 15% per some existing tables that were posted and it landed me very near the desired AFR at WOT. Lowering and smoothing the RPM VE table in the 4000-8000rpm range dialed it in perfect. NOTE: Don’t expect the values in your map to represent the actual desired AFR values, they are correlated but not equal.

Once you’ve verified that AFR is safe, time to turn the boost back up to where it was previously tuned at. Doing WOT pulls from low rpm, you want your timing numbers to line up with your previous tune. You can be as precise or rough as you like here, depending on what you have in mind. If you’d like to get your car running perfectly on your previous tune, you need to tweak the MAP VE and RPM VE tables until your car runs like it did when running the MAF. If you are about to do a full tune on the car, you can tweak the values a bit to make them smooth, and then simply begin tuning the timing table.

If you began with a tuned rom, chances are your VE tables may end up looking somewhat similar to mine:

Tuning notes from Aaron@EnglishRacing:

Originally Posted by JohnBradley View Post

It should be pointed out that as we play with the MAPVE and RPMVE the load will change for a given boost level. This can be used to play with the resolution if not on a V7 map.

i.e.- 29psi can be 300 load (depending on how long you take to play with it) to correlate to Kpa

29psi can also be 235 load and have a somewhat funky looking fuel map

Step6: drive the car, log, continue to monitor fuel trims, AFR and knock at WOT
This patch has not 100% proven to me that it is stable in all climate changes once it has been tuned. I’m sure its going to be close, but for now, plan on keeping an eye on things here and there, and if your car hasn’t been professionally tuned, consider doing so!

Step 6a: tip-in/low rpm lean-out
A common problem that you may come across is the car wanting to run lean during initial TPS tip-in. For me, this occurred mostly at low rpm (1000-2000) and is induced while either lugging the car in traffic, or leaving from a stop. I found the solution by tweaking two tables: Asynch_vs_TPS (under global fueling) and your Fuel maps (don’t forget the alt maps if you’re using them). Bumping Asynch_vs_TPS by 10 units across the board is where I ended up, and richening up the AFR in areas around 80 load kpa from 1000-2250 a bit (with smoothing) made a world of difference for me.

Note: at this point, you can UNPLUG YOUR MAF sensor! You don’ have to, but if you want to find a different intake setup to eliminate it from your intake tract, go for it!