The Central Hub for DSM Community and Information

For 1990-1999 Mitsubishi Eclipse, Eagle Talon, Plymouth Laser, and Galant VR-4 Owners. This is where the DSM platform history is documented and archived. Log in to help us in our mission, and to remove most ads from the browsing experience.

ECMlink Help me learn to tune injectors

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

dwb

Proven Member
1,571
1,087
Sep 9, 2021
Broomfield, Colorado
Today I installed a set of new 1000cc FIC injectors, replacing stock injectors. I'm new to tuning but very seasoned when it comes to DSMs. I would like some guidance on how to tune these injectors. I feel like I have it running OK-ish right now, but need to fine tune it. Prior to new injectors, everything was running great with stock injectors, so there is a solid starting point with no known issues. I need to perform another boost leak test, but it wasn't long ago that I did so with very minimal leaks that *should* be all fixed now.
My build thread should have everything up to date: https://www.dsmtuners.com/dsm-profiles/1991-tsi-awd.16075/

A brief rundown of my current relevant mods:
1991 TSi AWD - daily driver
EVOIII 16g @ ~15 PSI (less than 1000 miles since new)
FIC 1000cc HI z injectors with resister delete plug (brand new, spec sheet below)
91 octane fuel (high altitude)
43.5 PSI base fuel pressure
Walbro 255, rewired
EVO 8 MAF
AEM Wideband (sensor is downstream from stock narrow band)
2g pistons running 2g timing maps
ECMLink v3
Stock exhaust

I spent a few hours getting it to idle and some light throttle while in the garage, playing only with global fuel and global deadtime. I referenced the data in this chart as a baseline but through trial & error and I'm currently at -57 Global Fuel and 637 Global Deadtime. Deadtime seems a little high but it ran better there than dropping global fuel instead.
I took it out for a short drive and it seems to be a little rich but is idling decent. My latest log is attached.
I tried to get the AEManalogWB AFR close to the AFRatioEST. And WidebandFactor somewhat close to 0%.
What do you guys think my next adjustment should be? What should be my goal as far as ECMLink logs and things to watch out for?

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

Attachments

You must be registered for see attachments list
From what I can see, the reason your global deadtimes are so high is it looks like you didn't put the injector data in to the Direct Access InjBatteryAdj table. You'll have to interpolate some values but for example, your log shows @ 12v your injector baseline deadtime is it 840usecs (microseconds), but your data sheet shows your injectors @ 12v (assuming 42.5psi base fuel pressure) should be 1.23milliseconds (ms) which is 1230 microseconds, 14v 940ms, etc.. making that change alone should cut your global deadtime nearly in half.

Can't really offer assistance with anything else as I've only been doing speed density tuning for mine.
 
Global Deadtime and InjBatteryAdj are the same thing the two are summed together to arrive at the injector deadtime the ECU uses. I prefer once things are dialed in to update the DA table and leave the global at 0 but that's to eliminate confusion and maybe save a few ECU clock cycles.

Unless Tom and Dave rewrote the way the fuel global works it's not very precise once you get into larger injectors.

I always started out getting the car to start well, get it up to temp and start measuring the AFR or O2 feedback at moderate RPMs under a little load to see how far off the global is and then start looking at idle closed loop to see if the deadtime was making it rich or lean at idle and adjust as needed. One nice thing about MAF cars is the airflow is somewhat calibrated to a standard so you're not fooling yourself playing with the VE table while trying to get fueling right.
 
Global Deadtime and InjBatteryAdj are the same thing the two are summed together to arrive at the injector deadtime the ECU uses. I prefer once things are dialed in to update the DA table and leave the global at 0 but that's to eliminate confusion and maybe save a few ECU clock cycles.

Unless Tom and Dave rewrote the way the fuel global works it's not very precise once you get into larger injectors.

I always started out getting the car to start well, get it up to temp and start measuring the AFR or O2 feedback at moderate RPMs under a little load to see how far off the global is and then start looking at idle closed loop to see if the deadtime was making it rich or lean at idle and adjust as needed. One nice thing about MAF cars is the airflow is somewhat calibrated to a standard so you're not fooling yourself playing with the VE table while trying to get fueling right.
When you make the DA change to 0 out the global deadtime, are you offsetting for the voltage differences as well? Just curious how you set it up, I'm still super new to ECMLink and trying to learn it and the theory behind it. I was only trying to let him know why his global deadtime seemed higher than he was expecting.
 
Before V3 you only had the global to work with and it was applied to whatever the internal map was interpolated to. Those of us who worked directly with the factory binary would go and modify what ECMLink calls InjBatteryAdj.

It's my understanding in V3 the global is still added to what ever the ECU interpolates from the InjBatteryAdj table for the current voltage but since you have full control now of the deadtime by voltage (InjBatteryAdj and the individual injector adjustments) you can tweek things as needed. So the simple answer is yes. If you have good data from the vendor that you know was derived using DSM hardware, you can just plug those into the DA table and be really close. Generic specs are only going to put you in the ballpark.

This is really a something I'd consider a final pass at tuning, same for adjusting some of the other DA tables that effect fueling and driveability. Kind of like machining something, a couple of rough passes to get in the ballpark and then sneek up on the final dimensions.
 
Thank you @Tony1094 & @steve. Here's a new log just a light cruise around the neighborhood. I adjusted InjBatteryAdj per the injector spec sheet. I kept global fuel at -57 and was able to drop Global Deadtime to 350. I still feel like I'm running rich, very similar to yesterday. I'm not sure if I should continue tweaking the global deadtime or what exactly should be my next move. Steve mentioned going at it from the DA tables, which I haven't messed with yet.

The previous tune from yesterday started and idled fine on cold start today, btw.

Thanks again for your help guys!
 

Attachments

You must be registered for see attachments list
Thank you @Tony1094 & @steve. Here's a new log just a light cruise around the neighborhood. I adjusted InjBatteryAdj per the injector spec sheet. I kept global fuel at -57 and was able to drop Global Deadtime to 350. I still feel like I'm running rich, very similar to yesterday. I'm not sure if I should continue tweaking the global deadtime or what exactly should be my next move. Steve mentioned going at it from the DA tables, which I haven't messed with yet.

The previous tune from yesterday started and idled fine on cold start today, btw.

Thanks again for your help guys!
Just to reiterate, I am no expert at this at all.

From what I see, your idle looks perfect but your cruising would appear to be running lean vs rich as your combinedFT is mostly positive under throttle. Hopefully someone else can chime in but from what I see it looks like you could almost add some global fuel back in, maybe a small change like -55%. You'll likely have to change global deadtime again to fix the idle but it should richen up everywhere else, too.
 
Can you capture the fuel trims.
It must be pretty warm in Broomfield right now with you seeing 140 degree intake temps.

Actually you have modified some of the DA tables, InjBatteryAdj is one but FastIdleISCPos and the two timing maps have some changes.
 
Can you capture the fuel trims.
It must be pretty warm in Broomfield right now with you seeing 140 degree intake temps.

Actually you have modified some of the DA tables, InjBatteryAdj is one but FastIdleISCPos and the two timing maps have some changes.
Yes, I'll have to go double check my captured values.
Actually today and yesterday have been much cooler. We'll be back around 100 later this week. I've been doing a lot of idling and my under hood temps have always been high. I've been wanting to build a custom air box because my air filter is exposed to the engine bay and I only have the stock side mount.
I believe I mentioned I'm running 2g timing maps, because I'm running 2g pistons/compression. I forgot I tweaked fastidleiscpos a couple years ago. Injbatteryadj I just modified today. More on that later.

Just to reiterate, I am no expert at this at all.

From what I see, your idle looks perfect but your cruising would appear to be running lean vs rich as your combinedFT is mostly positive under throttle. Hopefully someone else can chime in but from what I see it looks like you could almost add some global fuel back in, maybe a small change like -55%. You'll likely have to change global deadtime again to fix the idle but it should richen up everywhere else, too.
Yeah, I've been focusing mostly on idle and light throttle at the moment. I did some more tweaking to injbatteryadj, global fuel, and global deadtime this evening after the log above. I'm not at my logger right now but I'll upload a new log when I can. I ended up I think around -58.6 global fuel, and upper 300's global deadtime after doing the injbatteryadj per the spec sheet.

On that note, I wrote this up earlier today but got distracted and didn't get it posted:
---------
Alright, I now understand the relation between global deadtime and InjBatteryAdj. Between yesterday's log at 637 global, but stock InjBatteryAdj, and today's log at 350 global with InjBatteryAdj (14v) increased by about 292 over stock I ended up lowering global by 287, which just shifted the deadtime from global to InjBatteryAdj. Short of voltage fluctuations, this got me to the same place. I still came to roughly the same high deadtime purely based on my wideband vs AFRatioEst.
My base FP right now is 43.5. 1g stock fuel pressure is 37. I used the higher value because that is what is on the injector datasheet. Should I be tuning at 37psi instead? That would mean I would have to increase the global fuel but maybe also allow me to lower the deadtime. Yesterday at 43.5 I tried increasing global fuel and lower deadtime without much luck. It was too lean or ran like junk until I upped deadtime. Maybe there is a sweet spot that I just didn't find?
‐----------
Anyway, after doing more research and trial & error this evening, I started paying attention to combinedft. I got it closer to 0 and under 15, but again only idle and light throttle. It significantly changes when voltage drops when I start turning on more power hungry accessories. So i headed back over to the injbatteryadj and bumped up the 12v range deadtime. That helped combinedft when turning on headlights, blower, etc.

I think my old wiring, relays, etc. are partly to blame for my high deadtime numbers. Makes me curious what voltage the injectors are seeing vs what the alternator is outputing and where the biggest voltage drop could be, or if it's even worth tracking down. Not like my alternator isn't to blame either, but I digress.

More logs to come tomorrow and I'll probably start doing some more pulls with some boost and fine tuning that area.
 
Yes, I'll have to go double check my captured values.
Actually today and yesterday have been much cooler. We'll be back around 100 later this week. I've been doing a lot of idling and my under hood temps have always been high. I've been wanting to build a custom air box because my air filter is exposed to the engine bay and I only have the stock side mount.
I believe I mentioned I'm running 2g timing maps, because I'm running 2g pistons/compression. I forgot I tweaked fastidleiscpos a couple years ago. Injbatteryadj I just modified today. More on that later.


Yeah, I've been focusing mostly on idle and light throttle at the moment. I did some more tweaking to injbatteryadj, global fuel, and global deadtime this evening after the log above. I'm not at my logger right now but I'll upload a new log when I can. I ended up I think around -58.6 global fuel, and upper 300's global deadtime after doing the injbatteryadj per the spec sheet.

On that note, I wrote this up earlier today but got distracted and didn't get it posted:
---------
Alright, I now understand the relation between global deadtime and InjBatteryAdj. Between yesterday's log at 637 global, but stock InjBatteryAdj, and today's log at 350 global with InjBatteryAdj (14v) increased by about 292 over stock I ended up lowering global by 287, which just shifted the deadtime from global to InjBatteryAdj. Short of voltage fluctuations, this got me to the same place. I still came to roughly the same high deadtime purely based on my wideband vs AFRatioEst.
My base FP right now is 43.5. 1g stock fuel pressure is 37. I used the higher value because that is what is on the injector datasheet. Should I be tuning at 37psi instead? That would mean I would have to increase the global fuel but maybe also allow me to lower the deadtime. Yesterday at 43.5 I tried increasing global fuel and lower deadtime without much luck. It was too lean or ran like junk until I upped deadtime. Maybe there is a sweet spot that I just didn't find?
‐----------
Anyway, after doing more research and trial & error this evening, I started paying attention to combinedft. I got it closer to 0 and under 15, but again only idle and light throttle. It significantly changes when voltage drops when I start turning on more power hungry accessories. So i headed back over to the injbatteryadj and bumped up the 12v range deadtime. That helped combinedft when turning on headlights, blower, etc.

I think my old wiring, relays, etc. are partly to blame for my high deadtime numbers. Makes me curious what voltage the injectors are seeing vs what the alternator is outputing and where the biggest voltage drop could be, or if it's even worth tracking down. Not like my alternator isn't to blame either, but I digress.

More logs to come tomorrow and I'll probably start doing some more pulls with some boost and fine tuning that area.
Just to make sure we are on the same page with terminology, you said you tried increasing the global fuel and lowering deadtime, meaning you went from say -57 to -59 or something along those lines? If so, that would be removing more fuel and then lowering the deadtime would be taking out even more fuel, so that would explain why it was running very lean.

Since you can adjust global fuel and deadtime in real time with vehicle running, I would attempt going lower on global fuel to -55 and deadtime to maybe 340 or so and see how your fuel trims look. Looking at your config, you are still using a factory upstream o2 sensor, so that's going to respond faster to fueling changes than your wideband sensor that is further downstream in the exhaust. I would ignore the WBfactor outside of WOT and even combinedFT if you haven't reset your fuel trims after every fuel change, but your STFT should be pretty instant reading for fueling changes so you could use the STFT reading to determine whether or not you need more or less deadtime at idle getting the STFT to as close to 0% as you like.
 
Just to make sure we are on the same page with terminology, you said you tried increasing the global fuel and lowering deadtime, meaning you went from say -57 to -59 or something along those lines? If so, that would be removing more fuel and then lowering the deadtime would be taking out even more fuel, so that would explain why it was running very lean.

Since you can adjust global fuel and deadtime in real time with vehicle running, I would attempt going lower on global fuel to -55 and deadtime to maybe 340 or so and see how your fuel trims look. Looking at your config, you are still using a factory upstream o2 sensor, so that's going to respond faster to fueling changes than your wideband sensor that is further downstream in the exhaust. I would ignore the WBfactor outside of WOT and even combinedFT if you haven't reset your fuel trims after every fuel change, but your STFT should be pretty instant reading for fueling changes so you could use the STFT reading to determine whether or not you need more or less deadtime at idle getting the STFT to as close to 0% as you like.
I'll double check I'm capturing fuel trim data and watching STFT and see where those numbers are. I'm really just now figuring what data fields to watch and what numbers I should strive for, so thank you for pointing this out.

In regards to increasing vs decreasing global fuel, if I were to reduce my base FP down to stock 37psi, I would need to increase it, so a value closer to 0 i.e. -51 (or whatever that calculation would end up). However, since I'm running 43.5 psi BFP, and my 1g ecu is expecting 37psi, my research indicated I needed to decrease my global from, for example -57 to -59, to lean it out a tad. I need to take a new cruise log with these values but if you're saying I'm too lean at -57, then my last adjustment to -59 would make it even leaner.
I still need to post a log with these leaner values. I should be able to get that sometime today. I'll probably do a few new ones with different global fuel to compare.

I appreciate your patience and insight, because it really is helping me learn and understand what to watch for. Like how I was watching WBfactor (I read about that a long time ago, probably in different context like WOT) and I should be looking at fuel trims. I often can't wrap my head around what's supposed to happen until I start doing it and seeing the result.
 
I'll double check I'm capturing fuel trim data and watching STFT and see where those numbers are. I'm really just now figuring what data fields to watch and what numbers I should strive for, so thank you for pointing this out.

In regards to increasing vs decreasing global fuel, if I were to reduce my base FP down to stock 37psi, I would need to increase it, so a value closer to 0 i.e. -51 (or whatever that calculation would end up). However, since I'm running 43.5 psi BFP, and my 1g ecu is expecting 37psi, my research indicated I needed to decrease my global from, for example -57 to -59, to lean it out a tad. I need to take a new cruise log with these values but if you're saying I'm too lean at -57, then my last adjustment to -59 would make it even leaner.
I still need to post a log with these leaner values. I should be able to get that sometime today. I'll probably do a few new ones with different global fuel to compare.

I appreciate your patience and insight, because it really is helping me learn and understand what to watch for. Like how I was watching WBfactor (I read about that a long time ago, probably in different context like WOT) and I should be looking at fuel trims. I often can't wrap my head around what's supposed to happen until I start doing it and seeing the result.
You’ll get it. I’m enjoying learning something new myself. But yes, definitely log STFT, ltft lo-mid-high. And I would keep the 43.5 psi fuel pressure as it seems like the standard for most and your ECU is being told to account for it by the updated global fuel. The -55 global and I believe 230 deadtime even matches what’s on the ECMLink table I believe.

But values definitely aren’t set in stone and if I’m not mistaken the ECU can account for up to 30% of fuel correction, even if you did another cruise with what you have it shouldn’t hurt anything. I just wouldn’t go WOT on it because in open loop the ECU isn’t using the o2 sensor for fueling feedback, it’s basically relying on the scaling being correct for the fuel to match the airflow it’s now seeing.
 
Here's a new log from this AM. Cold start warmup Idle only. Global Fuel is at -58.6 and Global Deadtime is 410. With 14v InjBatteryAdj value from injector datasheet, but somewhat elevated 12v deadtime over the datasheet to compensate for when I'm running accessories.
I added LTFT lo, mid, high to the captured values. Hopefully those are the values @steve is looking for.
It got rich according to my wideband, especially after going full open loop near the end of this log. IDK why yet.

I'll go out for a light cruise here in a bit and post that log.
 

Attachments

You must be registered for see attachments list
Here's a light cruise with no config changes from the warmup log above. I might have boosted a little a few times (traffic).
 

Attachments

You must be registered for see attachments list
Another light cruise log. This time I increased global fuel to -56.6 and decreased global deadtime to 390. To my untrained eye I'm still seeing lean conditions above around 15% throttle looking at STFT.

I'll go tweak the global fuel again, and set it to something like -55 as Tony mentioned and do another light cruise log.
 

Attachments

You must be registered for see attachments list
Couple more logs. Both with Global Fuel at -55.1 but I tweaked the Global Deadtime from 390 in the first to 350 in the second.

I got on it a few times in each just to see how it would respond with boost. Unfortunately more knock than I would like to see. A little warm today and seemed a little rich under boost. I feel like I should boost leak test again to make sure it's not rich from a boost leak.

What do you guys see?
 

Attachments

You must be registered for see attachments list
I should boost leak test again to make sure it's not rich from a boost leak.

A boost leak test at 20-25psi revealed only a small leak at the a boost gauge compression fitting, which a little tightening fixed that. Also a tiny leak at the AFPR adjustment screw. It even has Teflon tape on it, so I'll have to figure that out and maybe I'll try some pipe dope instead. No more leaks at the injector insulators on the head thanks to the new FIC's.

Some air escaping from the crankcase. BOV is leaking a little through the recirculation port. Everything is recirculated and plumbed back into the intake like stock, so no loss of air to atmosphere. No open ports on the intake snorkel.

Time to get back to tuning...
 
A boost leak test at 20-25psi revealed only a small leak at the a boost gauge compression fitting, which a little tightening fixed that. Also a tiny leak at the AFPR adjustment screw. It even has Teflon tape on it, so I'll have to figure that out and maybe I'll try some pipe dope instead. No more leaks at the injector insulators on the head thanks to the new FIC's.

Some air escaping from the crankcase. BOV is leaking a little through the recirculation port. Everything is recirculated and plumbed back into the intake like stock, so no loss of air to atmosphere. No open ports on the intake snorkel.

Time to get back to tuning...
Boost gauge compression fitting? Nylon line?
 
Someday i would get rid of that. You can get a barbed fitting for the gauge. Go rubber line all the way.
Replace just the line or both line and gauge? The gauge has always been a little sticky. If I tap it the needle often jumps, so it's crossed my mind to replace it with something more modern.

Fishing a rubber or silicone line up there might be a challenge because clearances are tight.
 
Replace just the line or both line and gauge? The gauge has always been a little sticky. If I tap it the needle often jumps, so it's crossed my mind to replace it with something more modern.

Fishing a rubber or silicone line up there might be a challenge because clearances are tight.
Just the line. Yes a rubber line up there is tricky. I was a little more limber then. I think I did it 30 years ago.
 
I think your deadtime is still way too high. One of your newest logs starts at idle at STFT is showing like -14%.

First thing, though, I would still avoid any WOT until you get fuel scaled correctly, your -05 log was showing knock in some of your pulls.

For just an idle log could you try these settings and see how numbers look? May help to reset fuel trims after you change these settings as well.

For InjBatteryAdj:
7v - 3035
9v - 2125
12v - 1230
14v - 940
16v - 740
19v - 450

Global still -55 and try 0 for global deadtime.

If all that changed physically on the car was the injectors and the only ECMLink changes you've made have been to the fuel settings, your tune may need more adjustment still after getting the injectors scaled, judging by the leanness at WOT.
 
I haven't been able to follow along but a couple of things pop into my head.
If you are rich at idle and lean at WOT that's a classic case of too much deadtime and fuel global too large but you may want to double check the pressure and how well it tracks manifold pressure to make sure your tuning isn't being impacted by a physical issue.

With these size injectors it might be difficult to stay in closed loop and still get enough IPW to see the differences that deadtime contribute.

Keep at it
 
It's so hard for me to not do any spirited driving and occasional WOT. So much fun to watch people's reaction at a stoplight when they just see "an old car." ROFL I get it though.

I haven't posted my latest log. Trying to figure it out so I can learn this stuff. I upped my global fuel last time and it's getting closer, but still a little lean. I'll bump fuel up some more and see how that goes. I've played with lower deadtime and it doesn't like it. I'll keep fiddling though.

This car has been a daily driver it's entire life and approaching 300k miles. It's got about 20k since full engine rebuild but the electrical systems could be a little worn, thus needing more deadtime (I think). I did install new injector pigtails when I rebuilt the engine. AFPR was new 10-15k ago. Same with the walbro 255. I guess I should have flipped on the fuel pump when I did a BLT the other day and watched the fuel pressure. Still something I could do pretty easy.

Yes, only injectors were changed recently from 450's to these 1000's. Along with that I upped fuel pressure from 37 to 43.5. I hadn't paid super close attention to the tune on the 450's. I have some old logs on the stockers if that would be of any use. I felt like it ran pretty good then but probably not perfect.

Thanks for the pointers, I'll get out again today and see what I can do. Weather is gonna be a hot, though.
 
Add Value - Be Respectful - No Trolling - No Misinformation - Participate Often!
Support Vendors who Support the DSM Community

Build Thread Updates

Latest Classifieds

  • For sale S90 TB 70mm
    Purchased this month from STM. Comes with the FIAV block off plate that was already installed...
    • Bedicine
    • Updated:
    • Expires
  • Wanted 1g Need 1g AC tensioner bracket
    I am in need of 1g AC tensioner bracket - looking for complete with bolts. Recently bought 92...
    • JLavetsky
    • Updated:
    • Expires
  • Wanted 1g Pop-up light button
    Looking for a 1ga pop up light button / switch
    • steelcurtaindsm
    • Updated:
    • Expires
  • Wanted Anyone selling Plymouth laser wheels can bring to the shootout?
    I'm looking to purchase a full set of Plymouth laser wheels if someone can bring to the shootout I
    • Syclone#334
    • Updated:
    • Expires
  • For sale DeatschWerks fuel pump
    DeatschWerks DW200 fuel pump. Probably has less than 1000 miles on it. Was keeping it as a...
    • RamenPride
    • Updated:
    • Expires
Back
Top