i-Club - ECU Flashing for Dummies

Go Back   i-Club > Articles

   ECU Flashing for Dummies
You don't have permission for this action You don't have permission for this action You don't have permission for this action You don't have permission for this action You don't have permission for this action You don't have permission for this action
An introduction and how to for flashing and editing your Subaru ECU
   Full Article

Author’s Note – The programs and hardware discussed in this article give you the power to improve your vehicle as well as blow it up. This is intended as a starting point to learning the basics of flashing and reading your own ECU. As a general rule, leave the tuning to an experienced tuner


With today’s modern ECUs, and more specifically Subaru ECUs, we have reached a point where stand alone engine management systems and piggy backs are almost completely unnecessary. Modern Subaru ECUs are now completely modifiable with access to countless maps and settings. Recently with the introduction of shareware programs like ecuFlash, this power has been made accessible to the general public. However, clear information on how to use these tools has not been as forthcoming. When I first started looking into these tools, I felt I had to be a developer to figure out what works, how to make it work, and how to figure out simply problems. To add to the problem, finding answers to my questions was difficult and often not clear enough for a novice. This article is designed to give novice users a clear path to get started, learn the very basics, and supply the resources to further educate yourselves.

Getting Started

Before you do anything you will have to download three free programs which first require registering as a user at each site. Be sure to download and install the latest version to a laptop. You will also need the Tactrix Cable and possibly reflash connectors depending on the vehicle year. Be sure to choose the correct one for your vehicle.

Tactrix Cable

ecuFlash – Flashing software

Enginuity – Map Editing Software

ECUexplorer – Data Logging and Code Checking Software

Connecting and Reading Your ECU using ecuFlash

For a Subaru Drive By Wire (DBW) vehicle, you first look under the driver side dash and find the bright green test plugs which you then connect. A DBW vehicle is any newer model that the throttle body is controlled by the ECU via a servo rather than a physical throttle cable. 2006+ WRXs, all US STIs, and newer legacy models are DBW. For the other models, you will have purchased a reflash connector. Plug this into the matching plug which will be hanging up in the driver side dash. Your next step is to plug the cable into the OBDII port at the lower portion of the driver dash well below the steering wheel and connect to you laptop. Open ecuflash and select the read from ECU icon. Choose the appropriate vehicle from the list and follow the directions. If you are unable to connect, check that the appropriate com port is selected by choosing “Options” then “Port”. Other connection problems could be cause by the reflash connector not being on or loose or the Green connector in DBW cars. The cable could be loose or plugged into the wrong USB port on the laptop.

When connected and reading, it will take a few minutes to completely read the ROM. Once completed, save the ROM and back it up in another location preferably on another computer. Make sure to save it as a “.hex” file. If it does not have this extension, you will not be able to read it. To verify that the read is correct, you may use the “compare to ECU” function with the far right icon You may want to read it a second time to be sure as you do not want to loose your base map. Once this is completed, under ROM info on the left hand side you will find the Internal ID. This is the ECU ID by which you can identify other ROMs intended for use with your vehicle. Once finished, unplug the green diagnostic plug or reflash plug.

Viewing and Modifying Maps

In place of Enginuity, one could also use a program called ecuEDIT, however for simplicity, we will stick with Enginuity. Open Enginuity and using the “Open Image” icon on the far left to select the map you wish to view. Enginuity come preset to the lowest user level. This means that many of the maps are grayed out and not accessible. To change this, select the “View” menu and then “User Level”. The higher the user level, the more maps are accessible. To view a map, select the category then click the map. To make changes, highlight the cell or group of cells and use the adjustments at the top of the map. For a detailed listing of what each map is visit this link:


Once you have finished modifying you map, simply save it under a new name. The map may then be flashed to your ECU using ecuFlash.

Flashing Your ECU

Set everything up just as you did in reading your ROM (listed above). Open the ROM you wish to write to the ECU. First test write using the “Test write to ECU” icon. Once that completes, use the “Write to ECU” icon. You have now successfully flashed you ECU. Unplug the green diagnostic plug or reflash plug. It is generally a good idea to data log some information to make sure that your vehicle is running properly and safely. In addition to this, your timing advance memory has been erased. This will come back over the next day or two, or you may use the ECU fast learning technique found at the link below. Until the ECU has relearned, your car will not be at peak performance.


Data Logging with Ecuexplorer

Connect only the Tactrix from the laptop to the vehicle, but not the test connector. Open ecuexplorer. Under “options” select “Capture SSM Trace File” and you will be prompted to restart the program. After restarting, Maximize the section entitled “ECU(Disconnected)”. Right click anywhere is the right hand box and select “Choose logging directory” to select the folder to save logs. Next right click on this area again and select ”Trigger Logging on Defog Switch” (see screen shot). With this enabled, once connected, every time you push the defog button on your climate control a log file is started and data logging has begun. Press it again, and it stops logging and closes the file. Files are marked by date and time. Finally, right click on the listing at the bottom left “COM# SSM Diagnostics” and select “SSM Diagnostics” (see screen shot). Once the program is restarted, you will now be connected and see you ECU ID listed. Select the “+” next to this and then select “Realtime Data View”. There will be a list of items that you can view in real time. You can only select a limited amount or it will run out of memory. You can see this by when the number next to “Realtime Data View” maxes out and stops fluctuating. Also, data may no longer stream. There are additional a couple of user defined parameters to ad to the list. These are Ignition Advance Multiplier and Engine Load. To ad these to the list, select “User Defined Data Items” then right click on the item you wish to activate to select “Mark as Active” (see screen shot). To find the correct ones for your vehicle, first look in the instructions under the “Help” menu to find the naming sequence for your year and model. Once you have found that, you must activate ever item on the list that follow that naming sequence. For example, on the project STI, I marked ever Advance Multiplier with FF#### active. Then with the laptop connected to the ECU and the vehicle on, go down the list one by one selected each different occurrence of each of these two parameters until you find one that shows the correct data. At idle, the Engine Load should fluctuate very close to .25. The ignition Advance multiplier can be 1 to 8. Once you have found one that fits this, mark all the rest as inactive to shorten your list. You are now ready to start logging. Once you have created a log, you may open in Excel, or in ecuExplorer. You may also change a select few of the measurement units such as KPH to MPH by selecting this from the same right click menu for setting the defog trigger.


Scoobypedia – Best single source for information

Open Source ECU ROMS – Sources for stock and modified ROMS (maps)

OpenECU Forums – Discussion on ecuFlash, reflashing, ROMS, and reverse engineering.

Enginuity Forums – Discussion on Enginuity and tuning

Discuss this article here

All times are GMT -7. The time now is 11:53 AM.