The Top DSM Community on the Web

For 1990-1999 Mitsubishi Eclipse, Eagle Talon, Plymouth Laser, and Galant VR-4 Owners. Log in to remove most ads.

Please Support STM Tuned
Please Support STM Tuned

ECMlink Tuning With ECMLink v3

Recently, a member on the ECMLink forums requested some help with tuning and I decided to lend him a hand. Before long, I found myself writing a full blown guide that I thought would be a valuable and essential asset to the dsmtuners community. This article describes the methods I, and many others use, to tune our dsms and it is my intention to consolidate all of that priceless information into one resource. You'll notice that I'm simply relaying information. This stuff is already out there, yet people still find themselves lost when it comes to tuning. Hence, the need for a guide.

Before I get started, I just want to say that I am not, nor claim to be, an expert of ECMLink. In fact, quite the opposite is true. With that said, this guide is not complete and I plan to make many updates (especially to the timing and fuel sections). If anyone has anything to add, whether it is questions, comments, or opinions, please feel free to do so.

Without further adieu, I present to you: Tuning With ECMLink v3!

Required Software:
Latest version of ECMLink v3

Required Hardware:
A wideband o2 sensor (logging through ECMLink)

(and the obvious)
A Laptop
ECMTuning USB cable
Socketed EPROM ECU with ECMLink chip (flashed to latest version)

Required Reading/Viewing:
ECMLink 101 (also read all links within that page)

(Initial Setup/Injector Dial-in)
Initial Setup Video
Injector Data Compilation

List of Values to Log
Captured and Displayed Values Video

First off, If you don't have a wideband yet, get one. Without it, tuning is effectively useless. I very much prefer the Innovate LC-1.

Secondly, you must ensure that all mechanical systems are functioning properly. This includes anything from verifying that there are no boost or exhaust leaks, correct engine timing, good compression numbers, adequate fuel, spark, etc...everything must be working properly. A DSM Wiseman (thanks Calan!) has compiled a wonderful checklist that helps with this process: PLEASE READ - Before you ask for ECMlink/DSMlink log advice...

Thirdly, tuning is all about making sure you have properly configured sensors, allowing the ECU to properly interpret their signal. This is especially true for the MAF. Once you dial-in your MAF, tuning is as simple as setting your target air-fuel mixture and increasing/decreasing timing at WOT for the most horsepower, with little-to-no "knock."

The factory 1g timing map is notorious for being too agreessive. Therefore, it is recommended to start with a factory 2g or EVO timing map and make the necessary adjustments to it. These can be found here: V3 Configurations Options
Also, it's a good idea to start with a fresh ECMLink configuration. Stock data config files can be found at the bottom of the above link.

At this point, I should mention that you should already have your injectors dialed in. If not, go back review the Initial Setup/Injector Dial-in under the Required Reading/Viewing section above

Before going any further, go out and do a baseline third gear pull (at normal operating temp) and analyze it with ECMLink. If you experience excess knock retard (over 3 degrees), stop the pull immediately and consider pulling timing (see Timing section below).

NOTE: it is recommended to start with a low boost setting, such as wastegate pressure to get comfortable with the tuning process. Just remember, when you raise boost you'll have to make additional adjustments.

WOT Fuel:

For the most part, the factory fuel map is adequate for idle and cruise, and these areas can be left alone. For Wide Open Throttle (WOT), you can set the target AFR in the OpenLoopMaxOct Direct Access (DA) table to whatever you want. On pump gas, a very common and safe AFR is 11.0:1. For E85, around 12:1 - 12.3:1.

Use the "track datalog" feature to determine which cells to adjust at WOT. Also, it's useful to "interpolate" values to smooth things out so that you dont have such drastic changes between cells (select a row/column of cells, right click, select "interpolate selection (linear)").

Here's an example:
You must be logged in to view this image or video.

Don't be afraid to make (reasonable) WOT adjustments to this table. A lot of new people think that AFR has a direct effect on power, when in fact, timing has more of an impact. Here is a video demonstrating this concept:
Haltech: Ignition Timing vs Air Fuel Ratio

That said, AFR can be used to control minimal amounts of knock, which can affect power slightly (because the ECU will pull timing). Some tuners prefer running a lean to rich map, meaning they start out lean on the lower end of their powerband and enrichen up top. An example of this (on 93 pump) would be starting at around 11.5 and decreasing linearly to about 10.8 or so near redline. If you find yourself constantly fighting low amounts of knock at higher rpm ranges, you might want to give this a try.

MAF Dial-in
Next, we need to dial-in the airflow (if not running a MAF, see Speed Density section below). Here is an excellent guide that shows you how to manually do things the oldschool way:
MAFT Calibration by Logged WBO2

The more semi-automatic, newschool way is to:
Idle: 7. ECU - Initial setup (using combft and airflowperrev)
Cruising/Idle: 8. ECU - Fuel trim (using maftcompadjust tool)
WOT: Instead of going through all the calculating as outlined in the above guide, you use wbfactor and manually adjust the mafcomp sliders. wbfactor is ECMLink's estimated adjustment value that is needed to make afratioest and your logged wideband match, which is the end-goal. In other words, you want wbfactor as close to 0% as possible, throughout the pull.

Basically, if wbfactor estimates a 3% increase, raise the mafcomp slider at the corresponding mafraw frequency by roughly 3%...

Here's an example (my apologies, I know it's hard to see):
You must be logged in to view this image or video.

You can (hopefully) see that around the 500-600hz area (mafraw), wbfactor suggests a 5% increase.Therefore, I would go to the corresponding mafcomp sliders and raise them up accordingly and try another pull. Additionally, wbfactor is slightly raised throughout the rest of the frequency range, so I might consider raising those up a tick.

You can also see that I'm getting 0.4 degrees of knock retard in a couple spots. I'm not too concerned, as it might disappear if I raise the sliders in the rest of the frequency range, lowering the AFR slightly. Remember, "adding" air adds more fuel. But we're not really adding air, the ECU just thinks we are. If the knock were greater and/or consistant throughout other pulls, I might consider pulling a degree in those areas (via the DA table TimingMaxOct, see Timing section below).

Lastly, I should state that you'll want to ignore the wild swings of wbfactor during significant throttle changes.

Speed Density:
Speed density is a little different, but the concept is still the same. Instead of the mafcomp sliders we have the Volumetric Efficiency (VE) table. The VE table is basically an RPM vs Absolute Pressure (PSIA) graph with values of VE. Fear not, because the above procedure is still useful and v3 allows us to use our dialed-in MAF to apply it's configuration to the VE table. This is done through the sdveadjust(sdratio) tool. If you are unable to utilize a MAF while logging sdratio, you can use sdveadjust(combft), but this will only adjust for closed loop operation, open loop must be manually adjusted: said:
Dialing in the VE Table

This is the "fun" part of a new SD installation. Luckily, there are a several tips and helpers that can make this process pretty painless.

SD VE Adjust (SDRatio) - If you have the option of running on a mass airflow sensor while you dial in your speed density VE table, then definitely do so. This is the adjustment tool you'll use.
SD VE Adjust (CombinedFT) - After you've got an initial SD VE table (either the default one provided for you or one derived from a mass airflow sensor), you can further refine closed loop behavior using this tool.

Again, it helps to track the datalog to see which cells are being used. Also, logging volumetric efficiency is handy to keep track of changes you've just made, since there is no "undo last" function. As with MAF tuning, we want wbfactor near 0%. If you need VE values greater than 105, then your global fuel probably needs adjustment.

Remember to smooth things out with the linear interpolation function, so you don't have drastic differences between cells. Because the VE table uses absolute pressure (psia), it helps to change the map sensor units to psia (edit->app preferences->units->air pressure). This makes it easier to determine which row you are operating in, especially when two rows are being referenced simultaneously.

After the airflow is dialed in, you can follow this video for the basics of tuning the ignition timing: Basic Tuning Example Video
and apply these concepts to the entire powerband at WOT. In general, if you see 2 degrees of knock retard, for example, decrease timing by 2 degrees in the corresponding cell. Again, it is recommended to start with a factory 2g or EVO timing map and make the necessary adjustments to it. These can be found here: V3 Configurations Options.

To tune for more power, instead of tuning out knock (as shown in the video), here's a decent guide you can follow:
Be careful when running ethanol or race fuel as knock is not a safe way to determine if you've advanced timing too far. Generally, with E85, a good spot to be is at 12:1-12.3:1 AFR with around 20* advance, but this is completely dependant on your rpm and load. The rule is - increase timing with rpm and decrease it with load. Tuning on a dyno is optimal, as you can determine how much power the car is generating. At a certain point, power will stop increasing as timing is being advanced and this is an indication to stop. As jeffgst once put it, in terms of knock - pump gas will tell you when to stop. Ethanol or race fuel won't. Therefore, in the case of E85 or race fuels, it is strongly recommended to tune on a dyno.

From the guide mentioned above, we're interested in this segment:
quickersol said:
After you set your air/fuel ratio to 11:1 calculated, its time to add some more timing up top and hopefully make a little more power. Start by adding 1 degree of timing advance (move the sliders in a positive direction) starting as boost hits. Make a pull and watch your data log for knock. Keep adding timing until you see over 1 degree of knock. Use the rpm's on the log as a guide to which timing rpm sliders to adjust. Once you make a pull and see over 1 degree of timing retard from knock, go back to the settings you just used prior to that pull.
Note: prior to v3, sliders were used for fuel and timing adjustments. Now, it is recommended to use the DA tables.

When all's said and done, tuning is really not that difficult and the hardest part is making sure all the mechanical issues are addressed and things are configured properly. Whether running MAF or speed density, ECMlink provides very useful tools to give you an estimation of where things need to be. This is especially true for closed loop operation. For the most part, 'Link will take care of idle/cruise, but you'll have to adjust WOT. Ultimately, you want wideband factor close to 0% throughout WOT pulls at the desired AFR. With a positive wbfactor estimation, an increase in airflow is needed (using mafcomp sliders or VE table cells). With a negative estimation, a decrease is needed. Also, timing can be adjusted to control knock or to create more power, and it is strongly recommended to use a dyno when running ethanol or race fuels.

So there you have it, I hope this helps you and HAPPY TUNING!

Special Thanks:
I would like to thank Calan and snowboarder714 for their vast knowledge that has helped pave the way for my ever-evolving understanding of 'Link. You guys are true assets to the community!
and also, Dave Mertz and Tom Dorris for their infinitely amazing product!
Thank you all so much!
Last edited by a moderator:
Support Vendors who Support the DSM Community
Boosted Fabrication ECM Tuning ExtremePSI Fuel Injector Clinic Jacks Transmissions JNZ Tuning Kiggly Racing Morrison Fabrications RixRacing RockAuto RTM Racing STM Tuned

Latest posts

Build Thread Updates

Vendor Updates

Latest Classifieds