EvolutionM - Mitsubishi Lancer and Lancer Evolution Community

EvolutionM - Mitsubishi Lancer and Lancer Evolution Community (https://www.evolutionm.net/forums/)
-   EcuFlash (https://www.evolutionm.net/forums/ecuflash-179/)
-   -   Training Videos: How to tune an Evo with EcuFlash (https://www.evolutionm.net/forums/ecuflash/422098-training-videos-how-tune-evo-ecuflash.html)

recompile May 20, 2009 07:47 AM

Training Videos: How to tune an Evo with EcuFlash
Just started recording these for the hell of it. They aren't polished, they are just unscripted, off the cuff brain dumps.

If there's a significant interest in them, I'll re-record them and put in some nice PowerPoint slides and try to polish them up a bit.

Feel free to correct any mistakes or oversights too, I'm sure I screwed some things up. Off the top of my head, I know I shouldn't have referred to "Load" as "Airflow", but hey, nobody's perfect the first time :D {thumbup}

Edit: Now available on YouTube in HD

YouTube Playlist: Intro to EcuFlash (How to Tune an Evo)

Original WMV Download Download Links: Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6

Mirror: here

Lazyfong May 20, 2009 11:42 AM

Thank you, more info is always better!

Evoluvin May 20, 2009 11:46 AM

damn they take forever to load lol

Fast_Freddie May 20, 2009 01:17 PM

This is pretty helpful... mainly for people that have no clue what an .xml is or how to actually patch a rom...

shaggy May 20, 2009 04:11 PM

very helpful wish I hade a golden evo award to give you for your time

recompile May 20, 2009 06:53 PM

Thanks guys, I hope they can help people get their feet wet.

pupo May 20, 2009 07:33 PM

These videos are very nice, thanks! I hope you keep updating and making more advance videos.

golruss May 20, 2009 07:36 PM

Excellent job!!!{thumbup}

evo082006 May 20, 2009 07:40 PM

Hey I apperciate all your hard work...

SoCal Rally May 20, 2009 07:55 PM

Awesome, great for beginners, like me.

I have made it through the first two parts so far.

Some comments:

For absolute beginners, you probably want to mention:
- where to find EcuFlash (OpenEcu.org)
- what a Tactrix cable, is and where to get it (tactrix.com or http://www.limitless.co.nz/cables/)
- what EvoScan, is and where to get it (http://www.limitless.co.nz)

Also, this is kind of a nitpick, but several times in Part 1 it was mentioned that: "EcuFlash is a 'roadmap'" ... really, I think it's a little more technically accurate to say that the ROM XML definition files are the roadmap or definition of the memory layout, and that EcuFlash is the program that presents the values contained in specific memory addresses to the user, and allows the user to edit those values, along with reading them from and saving them to the ECU.

I made some notes as I viewed them of the various topics discussed ... not meant to replace the videos as it's obviously much more informative to watch the actual video, but more as a quick reference, and also so I know which part(s) to watch again if I want to revisit a particular topic.

Part 1 (approx. 15 min runtime):

Topics discussed:
- basic overview of EcuFlash
- how to read, and save a ROM file from the ECU
- what a map consists of, and the scalings
- how to edit a particular table
- ROM hierarchy explanation, incl. parent XML definition file (common to all cars of a specific gen e.g. Evo IX), and child XML definition file containing more specific info for the particular ROM (i.e. not common to all cars of the same gen e.g. specific hex addresses where tables exist)
- ROM ID is used to identify a particular ECU memory address layout (specifies EcuFlash child class XML definition file)

Part 2 (approx. 40 min runtime):

Topics discussed:
- recap of topics covered in Part 1
- browsing for XML definition files
- opening a specific XML definition file, and examining contents e.g. scalings, table definitions etc.
- explanation of how & where new table definitions are added to a base XML definition file (e.g. OBD-II definitions, incl. blobbits support)
- explanation of how & where new table definitions are added to a child XML definition file
- discarding unwanted changes by closing ROM without saving
- overview of fuel map and ignition timing tables (probably the 2 most important tables for tuning)
- overview of stationary rev limit and rev limit tables
- discussion of numbers shown in EcuFlash merely being a representation of the number actually stored in the ROM, and presented to the user via scaling for easy comprehension
- brief discussion of knock sensor maps, and how unless you're an advanced tuner, you really don't want to modify the thresholds as they are well set up from the factory i.e. if you have a problem with your tune, you probably need to look at tweaking your tune to eliminate/minimize knock, rather than modify the knock sensor thresholds
- editing blobbits tables (have to use [/] increment/decrement keys, = to assign does not work)
- 'blobbits' refers to the grouping of a number of different bits together as a single byte for organizational purposes and editing
- discussion of MUT protocol for diagnostics / data logging using e.g. EvoScan
- discussion of how MUT table defines addresses within the ECU that provides a mapping between a specific MUT ID and ECU address that allows external programs to gain access to certain ECU parameters by MUT ID rather than ECU address
- load is a very important concept in tuning, however load is not accessible by default using MUT ID requests from the factory
- look for official 2-byte load thread in EcuFlash forum on EvoM to find appropriate XML definition file for your ROM so you have access to load for diagnostics logging
- 2-byte load so called because ECU is able to detect load at greater than 255 separate levels, therefore need 2 bytes to be able to represent all possible load levels greater than the 255 separate load levels, so e.g. X Total = [(X Val * 255) + (X+1 Val)]
- EvoScan XML definition file found in e.g. C:\Program Files\EvoScan\EvoScan v2.5\DataSettings\Data.xml
- opened EvoScan XML definition file, and looked for 2-byte load row entry in Mode2 Data List Items to see 2- byte load was defined using MUT00 and MUT01 ID requests
- note: the addresses in your EcuFlash child class XML definition file will likely need to be changed to point to the correct addresses in the ECU memory corresponding to your particular ROM ID
- note: if you are having trouble correctly logging values in EvoScan, it is most likely either a) you are sending the wrong MUT ID request from EvoScan, or b) your EcuFlash child class XML definition files is pointing to the wrong ECU memory address for your particular ROM ID (in most cases it will be reason b i.e. that the MUT table hasn't been updated to point to the correct memory address for your ROM ID)
- before you start tuning, first get logging working correctly for your particular ROM i.e. figure out the ECU memory addresses for e.g. 2-byte load, 2-byte airflow etc. for your particular ROM, and then edit the MUT table to enter the corresponding memory addresses, and then make sure you can log those values correctly
- High Octane Fuel Map and High Octane Ignition Map used under normal circumstances
- Low Octane Fuel Map and Low Octane Ignition Map used under knock conditions i.e. if the ECU detects a significant amount of knock, the ECU interpolates between or switches to Low Octane Fuel Map and Low Octane Ignition Map instead of the High Octane versions
- for that reason, you usually want the Low Octane Fuel and Ignition Maps to be significantly more conservatively tuned (e.g. less timing, more fuel) than the High Octane versions, so that the ECU can interpolate between or switch to more conservative settings in the event of knock detection
- discussion of cranking enrichment Injector Pulse Width (IPW) Adder table; specifically, if you upgrade to larger injectors, since the ECU doesn't know different injectors have been installed, you will probably need to divide/multiply your cranking enrichment IPW Adder timing values by a corresponding amount to prevent flooding the engine at startup e.g. if you upgrade to 1050cc injectors from stock 550cc injectors, you probably want to roughly halve your IPW Adder values to prevent flooding
- newer model Evos tend to have more settings available to them, that some of the older versions may not
- if you can't find a particular table in EcuFlash, it may simply be that that particular table is not accessible or applicable for the particular ROM ID version that you are using e.g. Evo IX ROM and corresponding XML definition file will contain MIVEC settings, that are not accessible/applicable if you are using an Evo VIII ROM and its corresponding XML definition file
- discussion of Immobilizer Table (found inside 'Misc' Group). Simple, but very important. The Immobilizer value is unique and specific to a particular car, so if you intend to use a ROM you obtained from someone else on your car, you will first need to edit the Immobilizer table value so that it corresponds to the correct Immobilizer value for your specific car
- Lean Spool table is the additional leaning of the air-fuel mix by the ECU when it believes the turbo is spooling up. note: many people have found it's actually easier to tune the car more consistently for air-fuel ratio by disabling Lean Spool completely
- there are many tables defined in the ROM and its corresponding XML definition file, but try not be be overwhelmed; in all likelihood you won't need to modify or adjust a lot of them, at least not in the beginning
- if you modify a value in one table that uses the same memory address as another table (can be verified by looking at the table definitions in the XML definition file), then the value in the other table is also changed automatically, so e.g. if you modify a RPM scaling value in a specific High Octane Ignition Map, then the same RPM scaling value will automatically be updated in the corresponding Low Octane Ignition Map since that uses the same memory address
- ECU Periphery bit options are used for controlling peripherals e.g. boost control solenoid, CEL light to indicate fault codes, immobilizer, EGR etc.
- Disabling of undesired peripheral actions can be done via editing the Periphery blobbits tables, e.g. for disabling activation of CEL light for a specific condition or fault code that doesn't represent a real-life fault condition or e.g. for disabling control of the stock boost control solenoid when it has been removed because you are using a manual boost controller instead

Summary of Part 2: more intermediate concepts and how to do e.g. raw editing of XML definition files, some tuning concepts and corresponding table definitions

Thanks again for producing these videos, it's been a great help already!!

Chebosto May 21, 2009 12:51 PM

thank you for your time and hard work putting this together...

volks-traitor May 21, 2009 06:41 PM

thank you much! commencing to get feet wet....:D

Thrilla May 21, 2009 06:51 PM

Thanks for doing this! A beginner, like me, can only read so much before it's ecuflash overload.

ItalyIX May 21, 2009 07:06 PM

omg, u da man. THANKS!!!

Bster13 May 22, 2009 10:52 AM

recompile, u rock, thanks for putting everything together in these easy to understand videos. It should be stickied!

The other thing I was thinking as I watched the videos was...."Is this guy from Boston?" and sure enough you are. haha. Have a great wknd!

All times are GMT -7. The time now is 05:32 AM.

© 2019 MH Sub I, LLC dba Internet Brands