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 RTM Racing
Please Support Rix Racing

ECMlink ECMLink Tips -n- Tricks: Display Optimization

This site may earn a commission from merchant
affiliate links, including eBay, Amazon, and others.

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Introduction

I'm far from being what I would call an expert when it comes to tuning DSM's, but in the last few years, I've spent WAY too many hours driving up and down the back roads while staring at a laptop and uttering not-so-pleasant words, all in an effort to...well just get out of the house now that I think about it. Anyway...with all the features that ECMLink has for displaying critical engine data, it's easy to get lost and overwhelmed when trying to understand what you are looking at. Even when you can see the data you're after, it may not be organized in a way that makes it easy to quickly absorb it.

Along the way I've stumbled across a few "tricks" that have helped me to quickly understand what I'm seeing without having to pull over every 5 minutes to click buttons and study the screen. Some of this comes from good old-fashioned book learnin', some from the forums, and some things I've come up with on my own. In this article I'll describe a few of these ideas, how I have my display set up, and why. Obviously everyone has their own preferences for organizing and displaying information, but maybe these techniques will give you some inspiration and something to think about.

All of the discussion in this article is based on the full version of ECMLink, v3.20.254. If some of the material doesn't apply to you, then either ignore it or upgrade. :)

So without further adieu (errrr....BS), let's start with this:

You must be logged in to view this image or video.



This is what the screen looks like with some common items displayed using the "out-of-the-box" scale values. With the newer versions of ECMLink, datalogging is much faster and allows for much more information to be captured; but this also adds a new set of problems when it comes to viewing this data. Fortunately, ECMLink gives you the ability to set line width, fonts, and color for every item you can log. More importantly, you can also set the minimum and maximum displayed values, which is extremely useful once you understand what you can do with these two parameters. Much more on this in a minute.

Although you will undoubtedly want to log and view a different set of items than I do, I've found that the ones shown throughout this article are the most important and/or most commonly viewed in my case. Sometimes I'll temporarily remove or add some (such as boost parameters when tweaking the new WGS functions), but for the most part the ones shown here are always being logged even if they aren't being displayed. So I consider this my "default" setup, and have customized it accordingly:

As you can see in the screenshots, I use 4 columns in the legend and the font is set to Arial bold with a size of 20. I've set the colors for each item based on the "group" they belong to, or by considering which ones are likely to be displayed together. For example, KnockRet is always red and bold (I want it to literally jump off the screen at me). It wouldn't make sense to have another item that is normally displayed while cruising around to also be red since that could cause some confusion (or sheer panic); but red would be fine for an item that I only display while studying the graph in detail.

On the other hand, I have several items related to air/fuel ratio that are shades of green. These are always displayed in pairs with a bright green for the logged value and a darker green for a comparison item (like Wideband and AFRatioEst). Likewise, MAP and BoostEst are bright blue and a darker blue.

After turning off non-critical items and setting up the legend and colors, we end up with a display that looks something like the image below. I've also organized things so that related items are close to each other in the legend, which makes it easier to see them at a glance (IAT and CoolTemp for example). It's a good start, but there's a lot of room for improvement.

You must be logged in to view this image or video.


Scaled Values

The next step is to vertically break up the display into sections, so that the traces aren't laying on top of each other. We can't actually divide the screen, but we can force each item to fall within a certain part of it. We do this by using the minimum and maximum scaling values (found on the preferences tab for each item), which effectively sets both the displayed range of values (think of this as resolution) and an offset (where it is on the graph window). In my case, I decided to break the screen into four vertical sections, since 1/4 is easy to work with and makes for a nice layout. But before we get to that, lets talk about some basic scaling using the entire graph window.

Let's use my MAP sensor as an example. The first thing we want to do is figure out what the range of displayed values should be. Think of the bottom of the graph area as the "min" value, and the top of the graph as the "max" value. Anything outside of these values gets clipped (chopped off). So if I were to set my MAP item up with min=10 and max =20, I would see something like this:

You must be logged in to view this image or video.


There is excellent resolution, but the range isn't very useful since I can only see pressure between 10 and 20 psi. Likewise if I used 0 and 200, I would see a huge range (mostly unused), but very little resolution. So I need to pick values that will display the smallest and largest values I want to see, but not more than that. For this example, I may go with something like min=-20 and max=25, which would let me see maximum vacuum at the bottom of the graph, and would set the top of the graph to be my expected max boost (which is kind of handy actually...more on this a bit later). But...the MAP curve still takes up the entire screen.

To move the MAP curve into a smaller vertical area of the screen (bottom 1/2 for example), we need to consider where we want the item to be displayed when we calculate our min and max values. There is a tradeoff when using only part of the screen; you do lose some of that resolution we talked about, but it's not that big of a deal considering what you gain.

Let's recalculate our min and max values, but this time we need to think of them as offsets from each end of the total range we want to see. In our example, I need values for min and max that will cause 20 psi to be 1/2 of the way up from the bottom (remember the bottom of the graph represents min, the top is max). So I could use 0/40, -40/80, -50/90, etc. Any set of values that use this same ratio of min to max will cause 20 psi to be 1/2 of the way up. But we need to pick values that also gives us the desired range...not just position.

Now that I've thoroughly confused you (it was just a test to see if you were paying attention), let's simplify things with a formula to calculate min and max for any desired situation. Note that there are other ways to do this; this is just the easiest for me to work with and explain.

Lets start by defining some variables:

ValueUpper – The maximum value you wish to display
ValueLower – The minimum value you wish to display
PercentUpper – Location of the max value, as a percentage of the entire graph
PercentLower – Location of the min value, as a percentage of the entire graph
Min - The calculated value that gets entered into the "Min" box on the preferences tab
Max - The calculated value that gets entered into the "Max" box on the preferences tab


Note: Data is still displayed above and below these values ^, if there is room on the graph. These are just the reference points that we will be setting up.

And now for some simple math:

Min = ValueLower - (((ValueUpper - ValueLower) / (PercentUpper - PercentLower)) * PercentLower)
Max = Min + (ValueUpper - ValueLower) / (PercentUpper - PercentLower)


Using our MAP example:

ValueUpper = 20
ValueLower = -20
PercentUpper = .5
PercentLower = 0
Min = -20 - (((20 - -20) / (.5 - 0)) * 0) = -20
Max = -20 + ((20 - -20) / (.5 - 0)) = 60


So plugging these two values into the preferences for the MAP item will show –20 at the bottom of the graph, and 20 in the middle, as shown below.

You must be logged in to view this image or video.


I've created an Excel spreadsheet with these calculations (among other handy things), which makes the scaling and positioning very easy. Just enter the desired minimum and maximum values you want to see and where you want them in the graph, and then plug the resulting min and max values into ECMLink's properties dialogs. The spreadsheet can be downloaded here.

Reference Lines

Our next "upgrade" to the graph display is to add some reference lines. This makes it possible to see approximate values for many items with just a glance. Since I prefer to break the screen into fourths, we'll add 3 lines at 25% intervals.

We can't actually draw lines on the graph (and putting tape across the laptop just looks ghetto :) ), so we're going to create our reference lines by utilizing extra log items that we'll never need to monitor. There are several to choose from; just pick some with a steady non-changing value that you don't use. It's easier if you can find some with a value of 0 or 1, although not absolutely necessary. For this example we will use the EGRSolenoid, A/C rqst Pin, and KeyStart...since I have no EGR solenoid or A/C, and I know when I crank the engine over.

Since all of these loggable items have a value of 0 when the car is running, positioning them on the display is simple. We use the same formula as described above, with 0 for ValueLower and 4 for ValueUpper (since I'm creating four sections), and shift the percentage depending on which line we are working with. PercentLower sets the line's location, and we add 100% to that to get PercentUpper. The numbers look like this:

Reference line #1 (25%)

ValueUpper = 4
ValueLower = 0
PercentUpper = 1.25
PercentLower = .25
Min = 0 - (((4 - 0) / (1.25 - .25)) * .25) = -1
Max = -1 + ((4 - 0) / (1.25 - .25)) = 3


Reference line #2 (50%)

ValueUpper = 4
ValueLower = 0
PercentUpper = 1.50
PercentLower = .50
Min = 0 - (((4 - 0) / (1.50 - .50)) * .50) = -2
Max = -2 + ((4 - 0) / (1.50 - .50)) = 2


Reference line #3 (75%)

ValueUpper = 4
ValueLower = 0
PercentUpper = 1.75
PercentLower = .75
Min = 0 - (((4 - 0) / (1.75 - .75)) * .75) = -3
Max = -3 + ((4 - 0) / (1.75 - .75)) = 1


So once we plug these values into our extra logged items' properties and change their display name, font, and color...we get the following:

You must be logged in to view this image or video.


Obviously you can use any names, color, and line styles you want; I used these because they match up with three of the items that I am usually most interested in while tuning. I have MAP set to a max of 20 psi at 25%, horsepower equals 350 at 50%, and AFR values are centered around 75%...so my reference lines are colored to match those items.

Going Full Scale

Certain things in the log just work better at full scale, especially if you set their max values to be at some critical threshold. A good example of this is the injector duty cycle, which I have set at min = 0, max = 80. One quick glance at the screen tells me instantly if I'm close to hitting the critical point for my injectors.

In other cases, the maximum value may not be all that important, but you'd like to be able to get a rough idea of a value when it's somewhere in the middle of the graph. This is where the reference lines come in handy, even for full scale items. For example, by setting LoadFactor to min = 0 and max = 4, it uses the entire screen for maximum resolution...and you get the added benefit of having the values of 1.0, 2.0, and 3.0 marked by the reference lines. Likewise, with Airflow set to min = 0 and max = 60, you get references at 15, 30, and 45 lbs/min. When setting up items that have no special requirements, try to pick values for min and max that take advantage of your reference lines.

Air Fuel Ratio (AFR)

Since monitoring AFR is such a critical aspect of tuning, I thought I would spend a little more time on this subject in particular. As we all know, the whole point of calibration (you know...that thing you do before starting to "tune") is to get the actual measured AFR to match what the ECU is shooting for. If the ECU wants to hit 14.7:1, well...that's what we should see on a wideband, or indirectly through the fuel trims. There's several ways to view this information, depending on if the ECU is in closed or open loop.

Note: For the purpose of this discussion we'll assume you have a wideband and the ECU is not locked in open loop.

The first method is to just compare the wideband value to the AFRatioEst, and see if they match up. While this works, it's not always the best way to quickly evaluate how lean or rich you are. A better method is to watch WBFactor, but this is only useful if you have a reference to compare it to. Hey! Whadda ya know... we just happen to have one that will work perfectly. :)

The trick here is to display WBFactor in a way that puts a value of 0 on a reference line (since that is ideal), and lets it swing above or below it as the engine goes lean or rich, respectively. To do this, I'll choose the 75% reference and use the following numbers to come up with min and max values:

ValueUpper = 40 (sets the amount of deviation on either side of 0)
ValueLower = 0
PercentUpper = 1.00
PercentLower = .75
Min = 0 - (((40 - 0) / (1 - .75)) * .75) = -120
Max = -120 + ((40 - 0) / (1 - .75))= 40


Note that ValueUpper is what determines how much swing there is away from the zero reference. With everything else remaining the same, increasing this number will show less resolution and the WBFactor trace gets smoother; a smaller number shows more detail and the deviations become wider. The value shown above seems to work best for me, but YMMV.

This would be a good time to mention something that a lot of people aren't aware of. Remember I said earlier that you can observe the AFR indirectly with fuel trims (in closed loop). The reason for this is that the ECU is constantly monitoring the front O2 sensor and correcting the STFT as needed. The net effect of this is that the CombinedFT parameter ends up tracking the WBFactor almost perfectly in most situations. If you are using a factory O2 sensor, this gives you a way of quickly validating the O2 sensor and wideband with each other.

Note: If your front O2 is simulated from your wideband, then you're basically looking at the same signal with both items, but in different ways.

If you set the min and max values of CombinedFT to be the same as WBFactor, you end up with sort of a rolling average for the AFR error that looks like this:

You must be logged in to view this image or video.


Notice how CombinedFT mimics WBFactor, but it's smoother and drops to 0 during open loop. While cruising around and fine-tuning the airflow, it's sometimes easier to turn off WBFactor and just watch the CombinedFT trace against the AFR reference line. Pretty cool huh?

Note: There are several useful settings for CombinedFT. Another one of my favorites is min and max at -60/60, which provides an easy to read lean/rich signal similar to WBFactor, but centered on the middle reference line. Displaying this along with Wideband and AFRatioEst gives you about all the AFR info you need at a glance.

While we are at it, lets go ahead and set up Wideband and AFRatioEst to take advantage of the same reference line. In this case, we want these two to show 14.7 at the reference instead of 0, so we can easily see when they deviate from stoich. To do this, we use these numbers:

ValueUpper = 18 (the maximum AFR I care about)
ValueLower = 14.7
PercentUpper = 1.00
PercentLower = .75
Min = 14.7 - (((18 – 14.7) / (1 - .75)) * .75) = 4.8
Max = 4.8 + ((18 – 14.7) / (1 - .75)) = 18


Plugging in these values for Wideband and AFRatioEst gives us something like the following. Notice how easy it is to see when we are swinging around stoich and when we aren't:

You must be logged in to view this image or video.


Speed

One more case where reference lines can help greatly is with estimating 70-90 times. By properly setting up the min and max values for Speed, you can select the points where the trace crosses the reference lines and quickly get 70-90 time estimates. This has the added benefit of not having to figure out where on a "step" you should begin and end, and provides more consistent measurements. (Unfortunately it does nothing to improve the accuracy of our crappy speed sensors).

The numbers:

ValueUpper = 90
ValueLower = 70
PercentUpper = .75
PercentLower = .50
Min = 70 - (((90 – 70) / (.75 - .50)) * .50) = 30
Max = 30 + ((90 – 70) / (.75 - .50)) = 110


Which gives us the 70-90 time between the crossing points on the 50% and 75% reference lines:

You must be logged in to view this image or video.


Wrapping it Up

Here is a screen shot of how one of my logs would typically look after applying the ideas we've been discussing. Notice that I've added an additional reference line for knock (set at 2*), using CltchSw at min = –1 and max = 14:

You must be logged in to view this image or video.


Even while the display above is scrolling, I can look at the pull and instantly tell with just a glance that:

  1. I was at full throttle
  2. Max boost is about 20 psi in second, but lower in first. Looks like I need to tweak the WGS duty cycles a bit.
  3. Knock is not an issue (below my 2* threshold), but it was a bit higher in 1st
  4. Horspower is still somewhere below 350 at peak. (more tuning!)
  5. The AFR error is decreasing and looks good during the last half of the pull, but I need to fix that lean tip-in. I also need to see if airflow is off mid-way through 1st gear.
  6. Injector duty cycle is not an issue
  7. Spool is a bit slow...probably need to tweak the timing and AFR some in that area, or check for an exhaust leak (likely).

As you can see, taking the time to reorganize things and add a few reference lines can make a dramatic improvement to the ECMLink graph display. I greatly simplified the above example; I usually have much more displayed at any given time, but it's no harder to read than the display shown above.

The possibilities are endless... but to get you started, here are the min and max values I use with the logged items shown above:

You must be logged in to view this image or video.


Download the spreadsheet and experiment!

Stay tuned!
 
Last edited by a moderator:
Fuel Pressure

If you are logging fuel pressure, it's easy to set up ECMLink so that you can quickly see if you are getting a 1-to-1 rise in fuel pressure as boost increases.

The idea is to display fuel pressure so that it's curve overlays the boost curve; any large deviation from the two means there is some discrepancy with fuel pressure as it relates to boost.

In the picture below, I have the boost properties set up to show 25psi of boost on the 1st reference line (25%). You can also see that fuel pressure is displayed directly on top of the boost curve.

You must be logged in to view this image or video.


The properties for displayed boost (MAP) are:

ValueUpper = 25
ValueLower = 0
PercentUpper = .25
PercentLower = 0
Min = 0 - (((25 - 0) / (.25 - 0)) * 0) = 0
Max = 0 + ((25 - 0) / (.25 - 0)) = 100


To get the fuel pressure to display properly, it needs to have the same range as boost (100psi), but it needs to be offset by the base pressure; in my case it's roughly 43psi. So the numbers for fuel pressure look like this:

Min = boost Min + base pressure = 43
Max = boost Max + base pressure = 143


This makes it extremely easy to monitor your fuel pressure at a glance.
 
Last edited by a moderator:
Back when I wrote this article, I showed how to create three reference lines in the ECMLink display at 25%, 50%, and 75%...using existing logged items.

I've now written a properties file that lets you add them without using existing items. The properties files create new items called "Ref 1", "Ref 2", and "Ref 3" that can be displayed like any other default parameter. Just add them to the displayed items, and set the line properties as you wish.

Copy the two files in the zip file below to "C:\Users\<you>\ecmlink\resources\data" (or wherever your users folder is if that's not it) and restart ECMLink.

www.jcsautomation.com/temp/reflines.zip
 
Last edited:
Support Vendors who Support the DSM Community
Boosted Fabrication ECM Tuning ExtremePSI Fuel Injector Clinic Innovation Products Jacks Transmissions JNZ Tuning Kiggly Racing Morrison Fabrications MyMitsubishiStore.com RixRacing RockAuto RTM Racing STM Tuned

Latest posts

Build Thread Updates

Vendor Updates

Latest Classifieds

Back
Top