Applies to 2017-2023 IMPREZA (5th gen) and 2018-2023 XV/CROSSTREK (2nd gen) with FB20D engine ONLY. Only tested on MT. Mirroed at XV/Crosstrek.
While I've changed quite a few things on my personal car, I believe this is the most important.
If you want your throttle response linearized, or a more linear torque curve, even on 87 octane, contact me for a full tune.
Rev hang is obnoxious. It makes it tricky to shift smoothly without wearing clutch.
DISCLAIMER: By following this guide, you agree that I am not responsible for damage to your car, ECU bricking, house burning down, or ANYTHING ELSE. I am not a professional. Just an engineering student sharing what I've learned. Please proceed at your own risk!
THIS MAY BE ILLEGAL IN YOUR STATE/REGION. CHECK LOCAL AND FEDERAL LAWS BEFORE PROCEEDING!
I also apologize for the slightly blurry screenshots, my laptop has a high-DPI screen and subaruEdit is not high-DPI compliant.
The following tools/software are required:
Install the Tactrix drivers first. Then you will need to email epifan and follow his instructions. He will ask you to input some keys, read the ECU ID, and provide the info to him. He will then send you your editable ROM file in .hex format. Open the file in subaruEdit and we can begin.
Once you received the stock dump from epifan, we can begin modding.
1) Open up your hex in subaruEdit.
2) From the "View" menu, select "View as Tree".
Rev Hang Delete:
Rev hang is when the RPM does not drop immediately after lifting off the gas, most noticeable during upshifting. The overrun air table is responsible for this, keeping the throttle plate open too far during engine decel.
I have very carefully developed an overrun table over a few months of logging and tweaking, to balance instant RPM drops with a smooth driving experience. I have kept Subaru's increase in idle overrun values during cold engine operation and eliminated the unnecessary overrun spike at 4400RPM. The result is a smooth response - without causing jerky behavior when lifting off the throttle in gear. A secondary bonus is slightly stronger engine braking on hills.
Note: When the car has been freshly started, the ECM runs without feedback for some moments and thus it may appear to hang revs slightly. This is reduced with my fix, but there may still be slight rev-hang after a fresh start. This will disappear in roughly 30 seconds or less (in most climates) and cannot be tuned out. This is not caused by the values in my new table.
1) Expand "Fueling", then "Overrun"
2) We will be modifying "Desired Overrun Mass Air Flow" tables A, B, and C. Start with A.
3) Click the checkbox to open the table. The stock table will be visible. Make sure you have a backup of your original .hex file before continuing.
4) Open the following Excel sheet: Subaru-FB20D-Maps.xlsx. Select the content of the table WITHOUT the axes, then in subaruEdit, select "Edit" -> "Paste from Clipboard".
Note: You can select with the axes, but you'll get a prompt when pasting. At the prompt, choose "with Axes".
5) Select "Edit" -> "Map Confirm" (or press CTRL+S) to save the table. Then close the table.
6) Repeat steps 3, 4, and 5 for tables B and C. Close the tables when done.
7) Select "File" -> "Save As" and save the file in a safe place.
8) Flash the hex file to the car (below).
Flashing the ECU:
This process can be used to write your modified hex, or to write the original back to your car.
Before you begin, make sure that your laptop has sufficient battery or is plugged in to power. Ensure that A/C and lighting on your car is switched off, and that the car's battery is sufficiently charged.
1) Connect OpenPort 2.0 to your car and switch the ignition on.
2) If you have a hex open for editing, select "Tools" -> "Send to Flash Utility". Otherwise, select "Tools" -> "Flash Utility", then open your hex using the folder icon.
3) Ensure that the "Subaru FB16/FB20/FB25 2018+ x.xMb Impreza/Legacy/FXT/XV" template is selected. If your ECM is 1.50MB, choose 1.5Mb, if it is 3.87MB, chose 3.8Mb.
4) Click the "Write" button.
Hope this helps! Comments, suggestions, feedback, notice a mistake? Please post!
While I've changed quite a few things on my personal car, I believe this is the most important.
If you want your throttle response linearized, or a more linear torque curve, even on 87 octane, contact me for a full tune.
Rev hang is obnoxious. It makes it tricky to shift smoothly without wearing clutch.
DISCLAIMER: By following this guide, you agree that I am not responsible for damage to your car, ECU bricking, house burning down, or ANYTHING ELSE. I am not a professional. Just an engineering student sharing what I've learned. Please proceed at your own risk!
THIS MAY BE ILLEGAL IN YOUR STATE/REGION. CHECK LOCAL AND FEDERAL LAWS BEFORE PROCEEDING!
I also apologize for the slightly blurry screenshots, my laptop has a high-DPI screen and subaruEdit is not high-DPI compliant.
The following tools/software are required:
- Tactrix OpenPort 2.0 (use a legitimate to reduce risk of problems)
- subaruEdit Personal (or Lite, but you'll need to contact me and I'll edit the ROM for you)
- Windows laptop
Install the Tactrix drivers first. Then you will need to email epifan and follow his instructions. He will ask you to input some keys, read the ECU ID, and provide the info to him. He will then send you your editable ROM file in .hex format. Open the file in subaruEdit and we can begin.
Once you received the stock dump from epifan, we can begin modding.
1) Open up your hex in subaruEdit.
2) From the "View" menu, select "View as Tree".
Rev Hang Delete:
Rev hang is when the RPM does not drop immediately after lifting off the gas, most noticeable during upshifting. The overrun air table is responsible for this, keeping the throttle plate open too far during engine decel.
I have very carefully developed an overrun table over a few months of logging and tweaking, to balance instant RPM drops with a smooth driving experience. I have kept Subaru's increase in idle overrun values during cold engine operation and eliminated the unnecessary overrun spike at 4400RPM. The result is a smooth response - without causing jerky behavior when lifting off the throttle in gear. A secondary bonus is slightly stronger engine braking on hills.
Note: When the car has been freshly started, the ECM runs without feedback for some moments and thus it may appear to hang revs slightly. This is reduced with my fix, but there may still be slight rev-hang after a fresh start. This will disappear in roughly 30 seconds or less (in most climates) and cannot be tuned out. This is not caused by the values in my new table.
1) Expand "Fueling", then "Overrun"
2) We will be modifying "Desired Overrun Mass Air Flow" tables A, B, and C. Start with A.
3) Click the checkbox to open the table. The stock table will be visible. Make sure you have a backup of your original .hex file before continuing.
4) Open the following Excel sheet: Subaru-FB20D-Maps.xlsx. Select the content of the table WITHOUT the axes, then in subaruEdit, select "Edit" -> "Paste from Clipboard".
Note: You can select with the axes, but you'll get a prompt when pasting. At the prompt, choose "with Axes".
5) Select "Edit" -> "Map Confirm" (or press CTRL+S) to save the table. Then close the table.
6) Repeat steps 3, 4, and 5 for tables B and C. Close the tables when done.
7) Select "File" -> "Save As" and save the file in a safe place.
8) Flash the hex file to the car (below).
Flashing the ECU:
This process can be used to write your modified hex, or to write the original back to your car.
Before you begin, make sure that your laptop has sufficient battery or is plugged in to power. Ensure that A/C and lighting on your car is switched off, and that the car's battery is sufficiently charged.
1) Connect OpenPort 2.0 to your car and switch the ignition on.
2) If you have a hex open for editing, select "Tools" -> "Send to Flash Utility". Otherwise, select "Tools" -> "Flash Utility", then open your hex using the folder icon.
3) Ensure that the "Subaru FB16/FB20/FB25 2018+ x.xMb Impreza/Legacy/FXT/XV" template is selected. If your ECM is 1.50MB, choose 1.5Mb, if it is 3.87MB, chose 3.8Mb.
4) Click the "Write" button.
- Follow the prompts from subaruEdit very carefully. Do not do anything else on the computer.
- IF THE PROCESS GETS INTERRUPTED, DO NOT TURN THE KEY OFF. RESTART subaruEdit AND TRY TO WRITE AGAIN IMMEDIATELY.
Hope this helps! Comments, suggestions, feedback, notice a mistake? Please post!