Subaru Impreza GC8 & RS Forum & Community banner

DIY: ProjectLambda Stock ECU Reflash Tuning (Master Reference Thread)

112K views 242 replies 32 participants last post by  Viper1982 
#1 · (Edited)
Ok. Let's do this.

Project Lambda Tuning

Disclaimer This is a technical reference guide. No more. No less. No guarantees are expressed or implied. Period. Save the debates and **** measuring for the dyno and the track.

Prior RS25.com Thread:
http://www.rs25.com/forums/f5/t221027-n-tuning-again.html


User's Build Threads:
(Post your build thread link and I'll add it here.)

ImprezaRSC DrunkenBoxer 2.0


Prologue

Plenty of us have waited a long, long time for a reflashing option for the late model GC Imprezas. For about $400, this is a decent option for fine tuning adjustment of available factory parameters on the older ECU. This was a suitable compromise for me between a standalone and swapping a WRX ECU + harness. I'll forever be a fan of the direct nature of stand-alone systems; they just do what you tell them. This tuning options allows you to at least wrangle the stock ECU and rope it in under your saddle. Plenty of the functionality you don't have to actually use until it is needed, similar to open source reflashing.

This thread is meant to be an explanation and a how-to guide for end-users and tuners. There is no handbook, to date, and the software is also still technically in beta testing. Tuners will find it easy to use. If you are an end user who helps your friends debug their stuff, then that's about the skill level you need to work with this on your own.

This software is a good stepping stone for advanced users. Beginners should still consult with a qualified tuner. There are still software revisions and new features being added. The attraction as an end user was the stability. It has never crashed my laptop or bricked my ECU. That is at least a very good start. I have a background in automotive product development, tech writing, and software so the current incubation stage of this software is a familiar place to me. Some of the functions will seem a little weird and may not be in the final release version. I have been working with the software now as and end user and tester for about 3 months and like what I see. It has not been a painful or expensive experience.

As always, datalogging is your friend and will be how you judge your results along with your own tangible experiences like listening for spark knock or knowing what causes CELs. The dyno comes after, not before, the ECU is pleased.

(This needs to be said...)It's still important to have good support for your build, beyond earmarked threads. Find good people, pay them fairly, and don't **** on them. Jon at Fuji Factory has been very helpful since my engine combination is his brainchild. Mike has been helpful with the software since he wrote it. I had to fill in the details by turning the wrenches, polishing the computer tuning, and debugging the electronics of the swap. I took a chance on several new things and am happy with the results. I'm leery of dynoing it until the software is a little further along, like being able to raise the redline. I'm still leaving a lot on the table. /rant

Let's get to it by going down the line on available features and what they do. Screenshots added for reference 8/26/16



Configuration

Airflow Scalar This is more for readouts and logging than ECU calculation. It lets you know where you're going with airflow measurement moreso than the ECU.

E85 scalar value-0.96212
93 scalar value-1.47763

Load Scalar--this is essentially where you can scale your injectors. It doesn't read as simply as plugging in injector sizing. Mike is very helpful with these two figures to get you started. I used the following for my 440 injectors on E85 and gas.

E85 scalar value-0.05589
93 scalar value-0.03949

When both of the above values are correct, you are off to a good start on dialing in the rest of the mapping accurately.

You'll find that many of these settings are simply "1" = "on" and "0" = "off".

Learning Enable (useless). I killed 2 IAC valves with it.
Set to 1, the ECU will learn and adjust it's fuel trims and timing.
Set to 0, the mapping stays static.

VSS Error Fuel cut enable (useless)
Set to 1, the ECU will enable fuel cut for vehicle speed sensor errors
Set to 0, the ECU will disable fuel cut for vehicle speed sensor errors

Sustained High RPM fuel cut enable (useless)
Set to 1, the ECU will enable injector fuel cut at high rpm trailing throttle just like the factory.
Set to 0, the ECU disables this factory feature.

Evap leak test enable
Set to 1, the ECU will keep checking for evaporative pressures being inline with its expectations
Set to 0, turns this hippie crap off.

Fuel level sensor enable.
Set to 1, the factory fuel level sensor is enabled which keeps your gas gauge working. If you have an aftermarket fuel cell, then you likely don't have the sender operating anyway.
Set to 0, turns this thing off.

Fuel temperature sensor enable
Set to 1, this enables the factory fuel temperature sensor to keep working. It can vary the functionality of the ECU on ethanol because it runs colder.
Set to 0, turns this hippie crap off.

Evap system enable
Set to 1, keeps the factory evap solenoids and logic enabled.
Set to 0, turns this hippie crap off.

Vent Solenoid enable
Set to 1, keeps the factory evap solenoid functioning. If you have an aftermarket fuel cell then you've likely removed this.
Set to 0, turns this hippie crap off.

PCV solenoid enable
Set to 1, keeps the electronic PCV solenoid functioning. Some older ECUs have an electronic PCV solenoid installed instead of the analog temperature enabled unit.
Set to "0, turns this hippie crap off.

Power Steering Switch Enable
Set to 1, keeps the factory power steering switch enabled. If you have changed to a manual rack, then you don't need this.
Set to 0, turns this hippie crap off.

Air Assisted Injector Valve Enabled

Set to 1, this keeps the factory air assist valve working. Those with later model intake manifolds that delete this antiquated auxiliary system will find this useful.
Set to 0, turns this hippie crap off.

Cooling Fan Temperature Threshold
This is a 2x2 mapping table with two temperature triggers and an on/off option. You can control when the main and backup fans come on and turn off. You can make the fans come on sooner or later according to temperature in Celcius.



Map Sensor
Eh...leave this one alone if you are using the factory map sensor. This table will let you adjust offset and slope for a 2-3bar map sensor for reading boost. Until then, don't mess with it.



O2 sensors
This can be handy, but doesn't really need to be adjusted for much. It can go a little stupid with E85-E98 ethanol and this keeps the ECU from hunting so much for the right o2 signal readings.

Front o2 calibration
Mapping reference table for front o2 sensor voltage, referencing lambda value by o2 sensor voltage.

Rear o2 maximum STFT
Mapping reference table by g/s of airflow and maximum % fuel trim to be applied. This can minimize adjustability of fuel trims according to the rear o2 readings, extending catalytic convertor lifespan. You can tame the fuel trims by turning this down or make them more sensitive.

Rear o2 minimum STFT
Mapping reference table by g/s of airflow and minimum % fuel trim to be applied. This sets the "floor" of adjustability of fuel trims according to the rear o2 readings. You can tame the fuel trims by turning this down or make them more sensitive.

Closed Loop-Minimum Coolant Temperature (Useful)
What is the minimum temperature for closed loop fueling you would like? Set this to 205C to stay in open loop. Race tune only. Expect fouled plugs or o2 sensors from extended use. Best for rounds of racing with extended WOT use instead of extended street cruising at legal speeds.



Limiters


This works, now. Mine was a bug with scaling of the MAP sensor. Stop at 99.9 on the columns insteaqd of 103 and 105kpa. It will never actually hit those and confuse the computer. It's like boost cut, without boost, if you don't mind that little detail.



Fuel Injectors

injector end angle Mapping table, 16x16. This is the timing of the fuel injector firing, defined by crank angle and coolant temperature. Default is 230deg. I was able to clean up fuel trims and improve mileage by adjusting this. I have an earlier crank angle figure (210deg) at low rpm to introduce the fuel a little sooner. I have a later crank angle figure (250) at high rpm considerate to my head/cam combination.

(These next two don't translate like other injector latency settings. Don't go plugging in wild figures according to another software's figures)
injector latency slope/volts
Static figure for injector ramp up time. 0.10ms is the factory setting. I have not needed to adjust this even on 440 injectors.

injector latency offset
Static figure for average injector pulsewidth. I lowered mine to 1.74ms for the 440 injectors from 1.78

Minimum injector pulsewidth
Static figure for minimum injector on-time. I lowered mine a fair bit to 1.20ms for the 440 injectors to clean up idle and transitional fueling.



Fuel-Base
This tab has tables for base fueling in closed loop.

These next few tables read a little differently than you may have seen on other programs. It reads by kPa and RPM.

Volumetric Efficiency
This is a 16x16 mapping table for fueling based on a volumetric efficiency reference. The reference cell is called upon by RPM and kPa, both of which can be rescaled. You might notice the kPa reference having a slope to the numbers. Low and high airflow rates are spaced closer together, per factory.

Volumetric Efficiency - Atmospheric pressure bias
This is a 16x16 mapping table for atmospheric pressure reference adjustment. It also reads with RPM by kPa

Volumetric Efficiency - Throttle Compensation
This is a 16x16 mapping reference table for VE compensation. It is another reference table that adjusts by throttle position percentage and kPa

Cranking Base Injector Pulse Width (MT)
This is a 16x3 instructional table in need of a bit better labeling. It reads by coolant temperature and 1 of 3 modes (Test A, Test B, Normal). Basically, it can help you dial in your cranking fueling for better start up with manual transmissions.

Cranking Base Injector Pulse Width (AT)
This is a 16x3 instructional table in need of a bit better labeling. It reads by coolant temperature and 1 of 3 modes (Test A, Test B, Normal). Basically, it can help you dial in your cranking fueling for better start up with automatic transmissions.



Fuel-Power Mode
This is basically your open loop fueling, blended into the closed loop base figures.

Power Mode - Initial Fuel Ratio
This is another 16x16 reference table for the the initlal open loop fuel ratio. It is read with throttle position percentage by RPM. When you get so far into the throttle to turn on open loop fueling, this is the figure it starts to use before arriving at its final lambda value.

Power Mode - Final Fuel ratio
This is yet another 16x16 reference table for the final open loop fuel ratio desired. It is again read with throttle position percentage by RPM. This is the final fuel ratio you wish to arrive at in open loop. The computer provides a way to get there with blending and delay triggers, shown next.

Power Mode - Blend Delay
This is an arbitrary factory timer to complete the blending of open loop to closed loop fueling.

Power Mode - Enable Delay
This is an arbitrary counter for which to enable the blending and begin coming out of closed loop.

Power Mode - Throttle Enable (MT)
This is a 16 cell single column reference table for when to enable open loop on a manual trans. I hit open loop between 15% and 5% throttle. For purposes of my own build, I need to be able to hit open loop rather quickly at low throttle percentages because of how much air my motor gobbles up. 20% throttle will slap the rev limiter with my Fuji Factory twin throttle manifold.

Power Mode - Throttle Enable (AT)
This is a 16 cell single column reference table for when to enable open loop on an automatic trans.




Spark Timing
This tab is for adjusting available spark tables and parameters

Base Spark (MT)
This is a 16x16 reference table for ignition spark advance for manual transmission cars, measured in BTDC. You can enter negative values where needed. There is no open loop adjustment, but there is a learned spark table where you can let it add as much timing as you feel safe doing.

Base Spark (AT)
This is a 16x16 reference table for ignition spark advance for automatic transmission cars, measured in BTDC. You can enter negative values where needed. There is no open loop adjustment, but there is a learned spark table where you can let it add as much timing as you feel safe doing.

Learned Spark (MT)
I play it safe with this table. Rather than using a lot of base timing and setting this table to negative values,
I set base timing conservatively and let the ECU add timing that it is comfortable with. Knock control is not a hard coded thing, and it does have some inherent adjustability behind the scenes. Best to leave that functionality as. No heroics here.

Learned Spark (AT)
Same as above, just for AT cars.

Base Spark - Traction control enabled
My early manual car doesn't have this. I've never messed with it.

Closed throttle spark
This is another one of those weird 16x3 tables. It reads by engine speed vs. AT:Drive, AT:park/Neutral, and MT. I set my base spark to match this table to eliminate the afterfire on quick throttle inputs.

Closed Throttle Spark - Coolant Temperature Compensation
This is a 16 cell single column table allowing timing adjustment at closed throttle, based on coolant temperature.



Spark Timing - Knock Control
IAM initial starting value is hiding over here.



There's some usefulness here, but mostly not worth messing with. 2 tables were most useful for me.

Knock sensitivity
You can dial the knock sensor sensitivity up or down with this table. Higher values mean less sensitivity. Careful with this, as you can get more pinging and the ECU won't compensate for it. I turn it down a tad so the AVCS gear movement doesn't piss off the knock sensor, clacking a bit. Those of you with forged pistons that clack a little bit might need to adjust this.

Knock Sensitivity - Low Load compensation

This is a one-shot figure. Turn this figure up to turn down the sensitivity, just like in the above table. If you go the wrong way, you can get high voltage CEL codes because the ECU is panicking from all the noise at the sensor.


Idle Control

This section gets a little trick to explain. If you have a different intake manifold, deleted the air injection system, or run multiple throttles then these functions can be useful. After adjusting fueling for bigger injectors, you can fine tune the little things that cause stalling with these tables. These explanations are a little condensed just for readability.


Idle Speed Target MT
This is a 16x4 mapping table reading by Coolant temperature and Coast, Cold, Stop, and Drive. You can adjust your desired idle speed target here under those 4 driving conditions, by coolant temperature. It's a little weird to read, but again that is how you have to think when cracking the factory ECU. Someone else wrote the rules.

I have a higher idling combination to begin with, having multiple throttles. This lets me set my higher base idle target. The IAC valve operates in steps and is not currently adjustable in the software. This at least puts it in the right ballpark, eliminating CELs and further taming the driveability.

Idle Speed Target AT
This is a 16x4 mapping table reading by Coolant temperature and Coast, Cold, Stop, and Drive. You can adjust your desired idle speed target here under those 4 driving conditions, by coolant temperature. It adjusts by the same parameters, but your stall speed or a manual shifter gate might mess with it, IMO.



Idle Speed Target minimums
These 5 tables are best for adjusting low load idle targets for A/C and power steering. A dry sump would be a little more load, but by that point I hope you're running a stand-alone ECU. Removing A/C and P/S negates the need to adjust these.

Idle Spark Control
These 4 tables are useful for corrections to idle spark if needed. You can remove or add timing if idle gets too high or too low.

Idle Air tables
These are where the real meat is for keeping idle stable in a variety of driving instances. The above tables are targets. These tables are more of the actual adjustments for the IAC valve itself. Expect to spend some time fine tuning here if you've changed cams or the intake manifold.

Idle Air Base-This table is shown as a percentage of the IAC's flow. 20% of it's flow rate, 50% of it's flow rate, etc. It's important to get this table adjusted right, in line with your idle target.

Idle Air Engine Speed Compensation - WHEN the vehicle is moving, this 1x16 table kicks in. This will open the IAC a little more at given engine speeds. Don't try to radically ramp this up to add more air. I cheated here and it didn't work. Driveability was far too jerky, and you can actually kill the IAC from making it work too hard. I ramp mine steadily downward.

Idle Air Throttle Compensation - This table adds more IAC opening as you add more throttle. I tried to cheat here, too. It didn't work. More jerkiness. Ramp it steadily downward towards redline.

Idle Air Startup Compensation - This table can help aid with stalls after startup. You can add a fair bit of airflow here if you have to work the throttle a lot when cold to keep the engine running. Best to add airflow when cold. It's not really needed when warmed up. Bigger cams may need some adjustment here, FYI.

Idle Air Radiator Fan Compensation - This one cell adds a little bit of IAC flow percentage for when the fans come on. It basically counteracts increased load on the alternator. Don't get stupid with this figure.

Idle Air Trim Step tables - These are handy for stabilizing idle if it gets too high or too low. You can add some airflow when you need it and remove some when you don't.

Idle Fuel Cut on Error Speed Threshold - I turn this off to keep the ECU from killing fuel should the IAC functions go haywire. I haven't really needed it and just set it to zero to be safe.


Fuel Deceleration cut
This is new and I have not messed with it much at all. I'm thinking it can help further tame my idle with the a/c on. RPMs will drop a little too low sometimes. I'll update this later.


So, there you have it. This is everything the software can currently do. I'm not sure how much more power there really is left on the table. The advantage is being able to wrangle the factory ECU functions. This isn't as powerful as a standalone, but it beats the hell out of piggybacks for later model cars.
 
See less See more
11
#2 · (Edited)
I'll see if I can explain some of the finer points of E85 tuning with this software. (Forgive me if I go in a few circles. You will have to read this a few times to get it.) Mike is great about customer support, but these little things could use a bit of explanation in print. Cleaning up the fuel adjustments is more the point of writing this. I adjust these finer points to eliminate bogs, pops, and improve mileage. Throttle response got a lot sharper from minding a few of these smaller details in the mapping. Nobody really seems to be talking about this stuff, so I figure you're doing ok on your own or might not notice an issue.

I'll work my way down the table menus on the left of the software and just explain adjustments at each node.

Global Adjustments

The first place to start is load scaling. There were two twists here for my specific combo--440 injectors and a smaller displacement engine. These hard figures for me will be different than yours.

Gas - .04247
E85 - .05589

Note the difference of 25% between these load scales, roughly equivalent to the requirement of 20% more fueling with E85. That's the important part. I bumped up the difference due to running a richer target AFR on E85. A higher load scaling brought the STFT fuel trims within +/-5% on E85. My LTFTs really do never move.

Further regarding the global setup, turn off the fuel temperature sensor on E85. Ethanol runs colder, so this sensor will detect colder temps. Turning this off is one less thing to confuse the PCM. Turn off P0181, P0182, and P0183--all the fuel temp sensor codes. You don't have to, but I do so for the sake of cleanliness after turning off the sensor.

I also lowered the fan operating temperatures about 2C. Your choice of thermostat means more to these figures than the fuel. Ethanol runs colder, so I turn this down a little bit for shits and giggles.

Finer adjustments

I set injector end angle to 235deg across the board, except for 400-800rpm. You're setting when the injector turns off. In turn, the PCM adjusts when it comes on in reference to crankshaft angle. If I had usability of my engine's AVCS, I'd spend more time dialing in this table. Trying to add a gradient to this table makes the engine feel like it's playing scales on an instrument. Flattening this out with a static figure made my throttle feel more flat and torquey instead of quite so "v-tec" like.

Injector Offset is 1.74

Minimum pulsewidth is lowered to 1.22, since my injectors are bigger. Lowering this
cleans up idle AFR. Going too far will lean it out under power, though.

I'll skip base fueling adjustments here because this is so specific to my twin throttle manifold. A turbo would look just as "weird" to a beginner. My cranking fuel settings on twins is a little different, too.

Power fueling isa bit easier to explain

Initial fuel ratio is set between .853-.823 lambda through the rpm band.
Final fuel ratio is set between .848-.805 lambda through the rpm band.

These are about half a point leaner than a turbo would like, IMO. I'll swap in colder plugs before trying to lean it out any more.

Blend delay is 2.
Enable delay is 3.

I set these timers lower to speed up response to open loop fueling. It doesn't ask me a few times if I really mean it by working the throttle more than once.

Throttleenable for me is 14%-11% below 3600. Above that, is 0% so it's always in open loop when the cams are on power.

Load enable is set to 59kPa and 49kPa for me, so anything past cruise kPa triggers open loop. I only have closed loop fueling slightly enabled for highway cruising. Anything more triggers open loop fueling pretty quickly.

For timing, I aim for 32deg total. Any more than that becomes sensitive to knock with high temperatures even on E85. This is where I need to see if colder plugs help out at all. Playing a bit conservative here, but still toeing the line enough.

Idle air adjustments I've had to play with a lot because of my twin throttles. I've had to adjust nothing between gas and ethanol here.

Temperature sensors I didn't adjust.

Warmup fueling I shaved a bit off of, and here's why. After getting cranking fuel dialed in, it would then die out while warming up, with STFT's often being +20-30%. Pulling 20-30% out of these warmup table figures brought STFT back in line. Pulling back some fuel here kept the engine from drowning out in fuel while warming up.

Acceleraton enrichment was very crucial to me because of my intake manifold, less so because of the fuel. For you, adding a little bit of fuel on tip-in isn't a bad thing. Adjust the 2nd table, enrichment compensation, instead of the accel enrichment. You're adjusting a percentage this way, instead of a global adjustment. It's a finer adjustment on the 2nd table, and that's all it needs. When I was playing on the first table, it was adding too much fuel with incremental adjustments.

Decel enlean is like accel enrich. As much fuel as you're putting in, this takes it out. If you lift the throttle and get a fireball, then pulling fuel here eliminates the fireball. If you get an intake pop when you lift the throttle, then you need more fuel during decel. Pretty straight forward, here.

Deceleration fuel cut is the last table on the list. You're on your own with this one. I have a higher idle, smaller engine, and bigger injectors. My figures here would be nothing like the rest of you. The only thing I can say reliably is that you can adjust here if you're engine is dying out as it approaches idle.

The largest problem that I have tackled has been overly rich fueling at the wrong times. That's what all these little side tables have helped me fix. Make datalogs, then adjust. Rinse. Repeat. STFT's have been my guide. The stock o2 sensor is a little slow to respond, but you're at it's mercy to make everything work happily. Keeping that sensor happy keeps the PCM happy.

Cleaning up the fueling makes a night and day difference in how the throttle feels. Mileage improved, along with power. Adjustments are more intricate than just a global figure. If you like statistics, then you'll like noodling with these numbers.
 
#3 · (Edited)
Acceleration enrichment strategery :p.

Fine tuning acceleration enrichment will have you jumping through a few different tables. I've been using kPa enabled enrichment on the AH-966X template.

3 tables to be concerned with

Fuel-Acceleration Enrich

This is for finer changes in throttle percentage. (2%-19%.) The columns are scalable, but a little pointless. I tried getting down to 1.5% to really perfect cruising on twin throttles, but it just didn't help me. Adjusting the mapping here is more important than rescaling the column values for throttle percentage. Larger injectors will need this table re-mapped to avoid over-richening on tip-in. You only actually need their larger capacity under boost or at high rpm.

FYI--those two pointless columns on the right? Don't mess with those.

Fuel Acceleration Enrich RPM Compensation

This table adjusts your pulsewidth considering the RPM that you're at. If you're at 4,000rpm and need a bigger slug of fuel than at 3,000rpm, that's basically what this table is for. I tended to tailor this one more around my bigger stock heads and cams without active AVCS, giving it a bit more fuel up top and not adding as much down low. SOHC engines might not want as much up top, instead wanting more fuel in the middle rpm, say from 2500-5500rpm.

Volumetric Efficiency - Throttle Compensation

This is where things get a little trickier. You're swinging into the outfield here. I set this table up to "pick up" where the Fuel-Acceleration Enrich table leaves off. That table stops modifying fueling at 19% throttle. This table, I've back-filled to 27% throttle. It's basically for throttle changes percentages after tip-in.

There's further nuance at play in this table. You're adjusting fueling, but irrespective of RPM. It's labelled as being able to dial in fueling according to pressure waves. Most of us at home, that's a little over our heads. It might be easier to explain it as tailoring fueling to the airflow characteristics of your engine combination. Consider my earlier comparison of my 2.0 with non-active AVCS vs. a stock 2.5L SOHC. My 2.0 loves the top end, wanting more fuel up there and less in the middle. The 2.5L SOHC loves the midrange but runs out of breath up top. Adjust your numbers accordingly. The 2.5L mapping is way off on my combination, and my mapping would be way off for a 2.5L SOHC.

Change the cams in the SOHC to Delta 2000s or something comparable, and you'll get more of that same midrange punch character. Keep that same curve in the map, but increase all the figures a tad.

Part of where the map blending gets tricky is just where my experience stops. We're all going to have different experiences with dialing things in. My twins can reach 100kPa at 5-7% throttle, basically just twitching the throttles at idle. If I give too much throttle at low rpm, it bogs. Well...no shit. I've doubled the throttle area on a detuned stock motor. I'm not adding as much fuel as you might think, more because of the non-active AVCS. I've had to tune more around that than I have dialing in for the mods. Just dumping in fuel is easy, but you can really get it right with polishing the details in these tables.

How do you know you're getting somewhere using these tables correctly? I'll just say from my own experience what I was seeing. I was pegging the AFR readings to full rich just by cracking or opening the throttle. I dialed back added fuel in these tables until throttle changes showed AFRs closer to open loop targets. If you don't add enough fuel during throttle changes, then you'll see a lean AFR. If you're adding too much, you'll see a rich AFR. The trick is WHEN you're seeing it. I was seeing it way too rich at 1-5% changes in throttle and then level out a bit up top.

(Mike, correct me if I'm wrong here.) The ECU won't adjust for the AFR shown in open loop, but it will still show you the number present at the sensor in the logs. That's how you know where you're headed. An external wideband will give you a better idea of where your AFRs are at and when, but the ECU is still only going to do what you tell it and respond to what it can see.

Confused? Good. Let that marinate in your noodle for a while. You'll get the hang of it. Until then---:drunk::stafiseiz:crazy:
 
#6 ·
Hi, sorry if this is a silly question, but could you please elaborate on your comment about "rewiring a WRX ecu"? If you mean use a wrx ecu in an N/a subaru, has this been done successfully/easily before?

I would love to have a remap'able ecu in my 2003 outback (ej251, delta cams, ported, 4-1 headers etc..) but without going full aftermarket AEM, haltech, greddy style ecu's.

I have 'googled' this before but did not find anyone who had done it..
Cheers
Dude it's literaly the first sticky in this forum...

Also, keep that kind of stuff to a PM, this is about how to tune your stock ecu (which is phenomenal)
 
#9 ·
Ok started fiddling with this stuff last night on the 99 2.2 maf turbo impreza I helped build. We have a few mechanical issues to sort through first before really playing with the tuning. Mainly we have a bit of a leak somewhere im assuming post turbo since its really lean at idle the rich uptop. The maf tables are a little different than the map but it seems to work alright. went through rescaled all the tables for fueling and ignition timing to higher loads, gradually decreased timing in the mid load, then substantially dropped timing in the upper rpms. Basically its at 15 at peak torque going up to 21-22 at redline, this is with zeroed knock learn and only 5psi on a td04. For 91 octane this timing is quite conservative, more inline with what I would run on this engine for 15psi. but for now its not knocking so we will leave that alone until everything else is sorted. For fueling just dropped the high load tables to a constant .75 lambda across the board (constant so I can tweak the load comp fueling table on the maf rom easier) had to pull back the fueling up in the high load to get it above 10:1 (air leak post turbo is causing the turbo to push more air then the engine is actually receiving) so once the leak is found and fixed I should be able to add the fueling back in up there. was able to delete the rear o2 codes so no more CEL, bumped the rev limit up to 6500 without issue. Bumped the speed limit up to something like 500km/h (lol). Overall the software is very familiar in layout some of the language and methods are a little different then accesstuner or romraider/ecuflash but a lot of that comes down to jecs vs denso. For being in its initial stage it gives you plenty of control for tuning to the limit of the stock engine internals. It will probably max out the maf once the boost leak is fixed and we push it to 8 psi so that will be the next thing to play with along with injectors (and fuel pump of course).

As far as flashing goes it was fairly hassle free, the only issue I had is after using the Bluetooth for logging on a different program the only way I could get it to connect to lambda tuner after shutting down the other program was by disconnecting the Bluetooth on my computer and plugging it back in, probably more of a computer error than anything meh. The flashing is a bit quicker and less picky compared to ecuflash, you don't have to time hitting the flash and turning the key or anything. as long as the key is on and flash modes in with the dongle connected it will flash. Flash times are relatively quick considering it flashes the whole image every time if im not mistaken? Of course this was on the mad ecu which doesn't have the realtime tuning yet.

The only things I can think of for the software in terms of gripes would be for adjusting values a lot of them are limited to whole numbers no decimals even though they have a decimal place defined. For Example the ignition timing you cant put any decimals in the values just whole numbers. Is this a limit of the ecu code or the tuning software right now?

For changing values it would be nice to be able to have a shortcut for quickly scaling values up and down by small increments, for example on romraider hold CTRL then use the up or down arrows to quickly change (a) select(ed) data point(s).

When you press the multiply or add buttons it brings up a data box to input how much to multiply add subtract divide etc by. A single box with the MDAS buttons referencing that box would be easier to use IMO.

This one may be user error, but when I'm finished playing with the tune I want to save it to the computer to open it later, So I go save as, XXXX.tune file or whatever the ext is. Then I close out the tuning software, open it back up and try and open the tune I just saved and it says it cant be opened something with the calibration file or the sorts. Try selecting the stock image in the software then opening it and same issue. Its not the worst thing in the world right now I just pull the image off the ecu when I need it again but saving to the computer would be nice.
 
#10 ·
Finally, the Holy Grail! You've even managed to make it handle boost!

I like the WRX setup, but it's complicated, a ton of work, and requires a specific sort of person who's willing to figure it all out. (I think it took me two days between all the wiring and the troubleshooting to get my car running). It's more flexible, but then it's existed since... 2003? 4? And this route, no cam gear changes, no harness modifications...

Can live adjustment be done, or is it like the WRX, and needs to be programmed at the bootloader? Also I believe the JECS ECUs don't have the capability for individual coils, right?

It's not gonna make me switch back to my old ECU (not much would), but it's a better choice than most if someone needs to keep street legality. Super job!
 
#11 ·
The timing on this thing couldn't have been more perfect. basically my buddy had all the bits collected for the turbo setup and we were planning on doing the hack job wrx ecu wire in but this popped up and I was like ok, this could work. Seems to do just that. Its crazy how shitty these cars run with boost on the n/a tune, cant believe some peoples hold together as long as they do. Don't get me wrong I love my 16bit sti ecu on carberry with all the fun bells and whistles, but you cant argue with a couple hundred bucks to control all you really need to on your stock ecu.
 
#12 ·
First I want to say thanks to ImprezaRSC for the time he's put into creating this thread. He has been the most helpful beta tester so far and has provided a mountain of data logs on gasoline and E85 tunes.

nhawks, thanks for the feedback. The software is able to reflash the ECU in 2 separate blocks (2 halves of the flash memory). It only reflashes the block that needs updating.

If you're using Romraider for datalogging, try clicking the disconnect button in Romraider and leave it open before going back to use the tuner. When you're done with reflash go back to Romraider and click connect. This works for me. I am working on adding logging to the tuner so we don't have to do that anymore. It will also give access to more parameters that are missing right now like Feedback Knock Correction and IAM.

The spark timing rounding off is because that's the way the ECU stores the values. I could modify it to accept 0.5 deg increments if there's enough demand for that feature.

Sent you an email about the file opening error, I'll look into it. Also will add your suggestions for the editor to my list of stuff to work on.

Live adjustment is possible on the SD ECUs right now. I was just waiting for nhawks to try out the new MAF stuff. Sounds like it worked so I will add live tuning for MAF ECUs now.

There is a setting in the JECS ECU to run 4 coils, I just need to trace which ECU pins are used for the 2 added coil outputs.
 
#13 ·
Wow, okay, between the (possible) 4 coil option and the live tuning, that would make me switch back...

But that said, it may be possible that the JECS doesn't have pins for the extra two outputs. For instance, using the CarBerry ROM on the WRX ECU lets it control AVCS, since it's based on a JDM code, but the USDM ECUs don't have any pins for it. I guess you could technically find the pins on the actual IC, but that's too far for me.
 
#14 ·
Theres some situations where the ecu does have the hardware to run more outputs because it was cheaper to mass produce them all with a the same amount of everything then not use what you don't need, but then they also make them with the least amount possible when it comes to money so it will be interesting to see how its setup. On the 16bit ecus you have the footwork for 6cyl control but don't actually have any of the hardware connecting them together. At least that's what ive seen in my feable 2nd grade electronics mind when ive poked around them.
 
#15 ·
Is it possible yet to scale the MAF for like a stock wrx one? which is roughly 375 at 5v vs the 200 that's probably gonna come up pretty quickly once the fueling is in order. I didn't notice any IAT scaling or compensations either. That would be nice and probably slightly necessary for different mafs. But I like to run a gm iat post intercooler anyways even on maf cars so I can use iat ignition compensations to pull timing when the intercooler is heatsoaked.
 
#21 ·
I just traced the ECU pins, there are only circuits for 2 coils. So no possibility of running 4 coils as they were meant to unfortunately.



99 2.2L MAF ECU can be rescaled up to 429 g/s. Use 'MAF Limit' to set the overall scaling, then plug your WRX values into 'MAF Calibration'. Also don't forget that 'MAF Bias' gets subtracted from the looked up values. I usually just set 'MAF Bias' to zero so I don't have to think about it.

The MAF ECUs don't use the IAT. I don't even see the wire for it in the wiring diagram. Only the JDMs read the sensor and they only use it for boost control adjustments. SD ECUs use it of course as it is integral to the main fuel calculations. It may be possible to reflash a MAF ECU to SD and use with the GM IAT, but again might have the missing circuitry problem again. I don't have a MAF ECU on hand to inspect.
 
#23 ·
Glad to see some more of you jumping in. I'm not sure about emissions testing with the pass monitors. Some skip the OBD check and concentrate on the sniffer. Depends on the state, though.

I find I can only run romraider logger or the tuning software. Both at the same time fight over the bluetooth device.

This is working fine as a compromise setup for my little aspirated animal. Mike is a hell of a computer geek and I know enough to be dangerous. Some more computer geeks in the mix would be a healthy thing.
 
#26 ·
I find I can only run romraider logger or the tuning software. Both at the same time fight over the bluetooth device.
I really need to adding logging to the tuner software. Romraider Logger has been a great tool for me but is starting to show its age. It's Java 64-bit support issues bug me and it keeps trying to open all the serial ports of which half of them are Bluetooth on my laptop so it takes over a minute to finally find the right one and connect. This wouldn't be an issue for normal users though who only have one or two devices installed.
 
#25 ·
Version 1.0.2 is out! https://lambdatuning.com/support/tuner/

I added the latest dealer reflash updates. These cover SD EJ251/EJ252 ECUs. Here are the ECU codes:
AH966 Impreza MY00-01 MT/AT
AF408 Impreza MY02 MT
AG73F Legacy MY00-01 MT/AT
AG74F Outback MY00-01 MT/AT
AJ501 Forester MY00-02 MT
AJ511 Forester MY00-02 AT
I am now working on adding Live Tuning support to these.

AH965 (1st Impreza dealer reflash) now forces OBD monitors to show ready. I will also be adding this feature to the newly discovered dealer updates.

I also found a dealer update for 99 Impreza 2.2L but haven't cracked it yet.

Waiting for my 2004 RS ECU to show up then can get started on figuring out the reflash for those.
 
#29 · (Edited)
I compiled some MAP sensor data. The Subaru values are taken directly from the ROMs for the respective cars. GM data is calculated from the Delphi engineering datasheets (09350899 for 2 bar, 12223861 for 3 bar). It looks like all GM 2 bar sensors use the same calibration but I can't confirm. Let me know your part number and I'll try to find the data for you.

Code:
			Rating	Offset	Slope		Max Boost
			bar	kpa	kpa		bar	psi
USDM SOHC MAF MY99	1	-20.0	32.5		0.41	6.0
USDM SOHC SD MY00+	1	 11.1	21.9		0.19	2.8
EJ205/EJ207 MY99-MY00	2.75	-55.2	67.0		1.78	25.9
EJ205/EJ207 MY01-MY04	2.75	-55.2	68.6		1.86	27.0
EJ207 MY05+		3	-39.1	68.6 	        2.02	29.3
									
GM 2 bar		2	  8.0	40.0		1.07	15.5
GM 3 bar		3	  1.1	62.9		2.14	31.1
 
#33 ·
I had that issue, too. I think it is a Java bug. If you have Android Studio on the same computer, it also fusses about the version. 32bit and 16bit don't play nicely together.

Logging is working very well. The sampling rate looks a lot higher than Romraider.

I can't wait for the new tables to further refine things :cool:
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top