EFIxMR
05-15-2006, 02:59 AM
This is a beginners tutorial I wrote to help people get started on ECUflash. Please feel free to correct me if you see any blatent mistakes.
http://www.evolutionmr.net/img/images/openecu/cable.jpg
Here's a picture of the ECUFLASH cable.
One end is usb which goes into your computer, and at the other end the big black plug goes into your obd2 port, the little white plug next to it goes into the small port right beside the obd2 port.
http://www.evolutionmr.net/img/images/openecu/port.jpg
This is your target of interest right here. plugging the cable into the ports mentioned above give you access to the stock ECU. These ports are located on your right hand side under the driver dash, if you've looked under your dash before you might have easily missed it before, but now with ECUFLASH this is going to be your new best friend.
Before actually connecting to your car and DL its rom, you should familiarize yourself with the ECUFlash program and how efi systems work in general. First DL ECUFlash from OpenECU.org and purchase an OpenECU cable.
Next you download the 05' EVO Rom here below and save it to your desktop. We will use this as a demo in this tutorial.
http://www.evolutionmr.net/img/images/openecu/EVO8%20JM9693.hex (http://www.evolutionmr.net/img/images/openecu/EVO8%20JM9693.hex")
To open up the rom run the ECUFlash program and click the folder button as shown in the following picture.
http://www.evolutionmr.net/img/images/openecu/openfile.JPG
a pop up screen will follow and direct it to the desktop where you saved the 05' EVO rom.
http://www.evolutionmr.net/img/images/openecu/metatables.JPG
load that rom and the metatables will appear. these are preconfigured "definitions" (memory addresses used to control various parameters). The red arrow is pointing to the fuel map parameters, clicking the boxes will bring them up. We are going to learn about the fuel map first.
http://www.evolutionmr.net/img/images/openecu/fuelmap.JPG
This is the high octane fuel map. The fuel map is a 3d table with rpm on the Y axis and load on the X axis. The computer references the fuel map table under open loop (no o2 sensor feedback) conditions. This table tells the ECU how much fuel to add under what conditions as a function of rpm and load.
http://www.evolutionmr.net/img/images/openecu/indexed.jpg
The X axis is easy enough to understand it is simply RPM. The load however is just lightly more complicated. It is quantified in the metric system in kilopascals (kpa). 100 kpa is 0 vacuum. 200 kpa or 1 bar of boost is ~14.7 psi. Anything below 100 kpa is vacuum.
*edit just talked with Jason@mynes and he said that the load isn't in KPA but is a caculated load from multiple sensors but this is a quick short cut to think about it until we can get a definitive answer*
http://www.evolutionmr.net/img/images/openecu/fuel%20path.JPG
Under light cruise conditions the computer references the yellow region on conjunction with the 02 sensor long and short term fuel trims. i.e., Freeway driving.
The green path is an imaginary overlay running clockwise of your engine traveling under light acceleration. Lets say leaving a stop light, ect.
The black path is an imaginary overlay running clockwise of your engine under WOT. For example, when you are being a ricer and want to hear your exhaust scream :P
By changing the numbers inside the fuel map either up or down you affect the engines a/f ratio.
http://www.evolutionmr.net/img/images/openecu/editing.jpg
Now that you are a little bit familiar with how the fuel map goes. Let's talk about edititing the fuel table. By clicking the edit button (red arrow) you can manipulate any highlighted cell or cells (green arrow). This works much like an excel table.
That much is simple enough. However, the numbers in the fuel table are a bit more tricky. These correspond to the target a/f ratio you want, but only for a stock car.
Once a vehicle has been modified this a/f targets are off, and these numbers just become data which you move up and down to achieve your target a/f measured by a high accuracy wideband.
The tricky part is bigger numbers = leaner, smaller numbers = richer
This differs from traditional EFI systems that control injector pulse width directly.
http://www.evolutionmr.net/img/images/openecu/dual%20fuel%20maps.jpg
Click the low octane and high octane map in the metatables as indicated by the red arrows. This will bring up the screen above.
As you might already know the EVO ecu has dual fuel maps. Which map the ECU
runs on depends on knock sensor activity. When knock sensor activity reaches a predetermined threshold, the ECU looks up the low octane map to protect the engine.
The low octane map is set richer than the high octane map in efforts to mitigate what the ECU detects as knock. When knock activity has decreased the ECU reverts back to the high octane map which is leaner for more performance.
You've likely see the effects of this when you dynoed your car and had a dip in your tq curve. The ECU sensed what it thought to be knock thru the knock sensor and richened the mixture to protect your engine accordingly.
http://www.evolutionmr.net/img/images/openecu/timing%20maps.jpg
Editing the timing table is much the same as editing to fuel table. The numbers in the timing map correspond to at what degrees of crank shaft rotation to fire the spark plug. These are measured in degrees before top dead center (BTDC).
Again like the dual fuel maps, the evo has dual ignition maps for both high and low knock sensor activity. This is again to protect your engine.
When high knock activity is detected the ECU retards ignition timing by reading the low octane map. Once knock level activity has ceased to a predetermined threshold by the ECU it reverts back to the high octane map with advanced timing for more power.
http://www.evolutionmr.net/img/images/openecu/limits.jpg
*edit just talked with Jason@mynes and he said that the load isn't in KPA but is a caculated load from multiple sensors but this is a quick short cut to think about it until we can get a definitive answer*
To conclude our beginner tutorial of EcuFlash for the EVO, we will look at the limiting systems built into the ECU.
Click Speed Limit, Stationary Rev Limit, Rev Limit, and Boost Limit in the metatables to bring up the screen above.
The speed limit is the vss governor
Stationary rev limit is mitsubishi's way of keeping our trannies together, but now that its under our control its the newest member of the EVO bowling league.
Primary rev limiter is self explanitory, it keeps you from reving your engine out like you did on your old integra gsr for good reason, it doesn't need to rev that high.
Boost limit is the dreaded boost cut we periodically run into at night on the freeway... The first time I bumped into it, I thought I blew up my motor, thru time I just learned to ignore it... But now i can set it as crazy as I want! :P
So everyone... be sure to find your favorite vendor and pick up a wide band with some sort of logging capability before you even think of attempting to modify your engine's fuel injection maps.
Modify at your own risk, there's still tons of stuff out there to know, this is just the tip of the iceberg but I hope I've accelerated your path into getting more enjoyment from your car by freeing your ECU!
But before we go we need to learn how to save maps...
http://www.evolutionmr.net/img/images/openecu/save.JPG
When saving a file, the program doesn't automatically append the file type to the end of the save file, so if you don't type .hex or .bin to the end of the file you wont be able to see your saved rom when you try and open it up with ECUflash.
So be sure to add .hex or .bin!
Thanks to everyone involved who made this program. ECUflash is awesome!!!
http://www.evolutionmr.net/img/images/openecu/cable.jpg
Here's a picture of the ECUFLASH cable.
One end is usb which goes into your computer, and at the other end the big black plug goes into your obd2 port, the little white plug next to it goes into the small port right beside the obd2 port.
http://www.evolutionmr.net/img/images/openecu/port.jpg
This is your target of interest right here. plugging the cable into the ports mentioned above give you access to the stock ECU. These ports are located on your right hand side under the driver dash, if you've looked under your dash before you might have easily missed it before, but now with ECUFLASH this is going to be your new best friend.
Before actually connecting to your car and DL its rom, you should familiarize yourself with the ECUFlash program and how efi systems work in general. First DL ECUFlash from OpenECU.org and purchase an OpenECU cable.
Next you download the 05' EVO Rom here below and save it to your desktop. We will use this as a demo in this tutorial.
http://www.evolutionmr.net/img/images/openecu/EVO8%20JM9693.hex (http://www.evolutionmr.net/img/images/openecu/EVO8%20JM9693.hex")
To open up the rom run the ECUFlash program and click the folder button as shown in the following picture.
http://www.evolutionmr.net/img/images/openecu/openfile.JPG
a pop up screen will follow and direct it to the desktop where you saved the 05' EVO rom.
http://www.evolutionmr.net/img/images/openecu/metatables.JPG
load that rom and the metatables will appear. these are preconfigured "definitions" (memory addresses used to control various parameters). The red arrow is pointing to the fuel map parameters, clicking the boxes will bring them up. We are going to learn about the fuel map first.
http://www.evolutionmr.net/img/images/openecu/fuelmap.JPG
This is the high octane fuel map. The fuel map is a 3d table with rpm on the Y axis and load on the X axis. The computer references the fuel map table under open loop (no o2 sensor feedback) conditions. This table tells the ECU how much fuel to add under what conditions as a function of rpm and load.
http://www.evolutionmr.net/img/images/openecu/indexed.jpg
The X axis is easy enough to understand it is simply RPM. The load however is just lightly more complicated. It is quantified in the metric system in kilopascals (kpa). 100 kpa is 0 vacuum. 200 kpa or 1 bar of boost is ~14.7 psi. Anything below 100 kpa is vacuum.
*edit just talked with Jason@mynes and he said that the load isn't in KPA but is a caculated load from multiple sensors but this is a quick short cut to think about it until we can get a definitive answer*
http://www.evolutionmr.net/img/images/openecu/fuel%20path.JPG
Under light cruise conditions the computer references the yellow region on conjunction with the 02 sensor long and short term fuel trims. i.e., Freeway driving.
The green path is an imaginary overlay running clockwise of your engine traveling under light acceleration. Lets say leaving a stop light, ect.
The black path is an imaginary overlay running clockwise of your engine under WOT. For example, when you are being a ricer and want to hear your exhaust scream :P
By changing the numbers inside the fuel map either up or down you affect the engines a/f ratio.
http://www.evolutionmr.net/img/images/openecu/editing.jpg
Now that you are a little bit familiar with how the fuel map goes. Let's talk about edititing the fuel table. By clicking the edit button (red arrow) you can manipulate any highlighted cell or cells (green arrow). This works much like an excel table.
That much is simple enough. However, the numbers in the fuel table are a bit more tricky. These correspond to the target a/f ratio you want, but only for a stock car.
Once a vehicle has been modified this a/f targets are off, and these numbers just become data which you move up and down to achieve your target a/f measured by a high accuracy wideband.
The tricky part is bigger numbers = leaner, smaller numbers = richer
This differs from traditional EFI systems that control injector pulse width directly.
http://www.evolutionmr.net/img/images/openecu/dual%20fuel%20maps.jpg
Click the low octane and high octane map in the metatables as indicated by the red arrows. This will bring up the screen above.
As you might already know the EVO ecu has dual fuel maps. Which map the ECU
runs on depends on knock sensor activity. When knock sensor activity reaches a predetermined threshold, the ECU looks up the low octane map to protect the engine.
The low octane map is set richer than the high octane map in efforts to mitigate what the ECU detects as knock. When knock activity has decreased the ECU reverts back to the high octane map which is leaner for more performance.
You've likely see the effects of this when you dynoed your car and had a dip in your tq curve. The ECU sensed what it thought to be knock thru the knock sensor and richened the mixture to protect your engine accordingly.
http://www.evolutionmr.net/img/images/openecu/timing%20maps.jpg
Editing the timing table is much the same as editing to fuel table. The numbers in the timing map correspond to at what degrees of crank shaft rotation to fire the spark plug. These are measured in degrees before top dead center (BTDC).
Again like the dual fuel maps, the evo has dual ignition maps for both high and low knock sensor activity. This is again to protect your engine.
When high knock activity is detected the ECU retards ignition timing by reading the low octane map. Once knock level activity has ceased to a predetermined threshold by the ECU it reverts back to the high octane map with advanced timing for more power.
http://www.evolutionmr.net/img/images/openecu/limits.jpg
*edit just talked with Jason@mynes and he said that the load isn't in KPA but is a caculated load from multiple sensors but this is a quick short cut to think about it until we can get a definitive answer*
To conclude our beginner tutorial of EcuFlash for the EVO, we will look at the limiting systems built into the ECU.
Click Speed Limit, Stationary Rev Limit, Rev Limit, and Boost Limit in the metatables to bring up the screen above.
The speed limit is the vss governor
Stationary rev limit is mitsubishi's way of keeping our trannies together, but now that its under our control its the newest member of the EVO bowling league.
Primary rev limiter is self explanitory, it keeps you from reving your engine out like you did on your old integra gsr for good reason, it doesn't need to rev that high.
Boost limit is the dreaded boost cut we periodically run into at night on the freeway... The first time I bumped into it, I thought I blew up my motor, thru time I just learned to ignore it... But now i can set it as crazy as I want! :P
So everyone... be sure to find your favorite vendor and pick up a wide band with some sort of logging capability before you even think of attempting to modify your engine's fuel injection maps.
Modify at your own risk, there's still tons of stuff out there to know, this is just the tip of the iceberg but I hope I've accelerated your path into getting more enjoyment from your car by freeing your ECU!
But before we go we need to learn how to save maps...
http://www.evolutionmr.net/img/images/openecu/save.JPG
When saving a file, the program doesn't automatically append the file type to the end of the save file, so if you don't type .hex or .bin to the end of the file you wont be able to see your saved rom when you try and open it up with ECUflash.
So be sure to add .hex or .bin!
Thanks to everyone involved who made this program. ECUflash is awesome!!!