Support for JDM Forester STI EJ255, Legacy 2.0GT EJ20X EJ20Y

We are excited to announce that we have added software support for some popular JDM Subaru models. You can now tune your ECU with our advanced software and get the best performance out of your engine. Base maps are also available to help get you tuning quickly.


JDM 2003 – 2006 Forester STI SG9
Base Map Gains: +50 whp, +46 ft-lbs

The JDM Subaru Forester STI is a rare and powerful version of the popular SUV, with a turbocharged 2.5-liter EJ255 engine that produces 261 bhp and 279 lb-ft. Our base map gets you more performance than a much newer EJ257 at 310 bhp and 325 ft-lbs.


JDM 2003- 2006 Legacy B4 GT and spec.B, BP5/BL5
Base Map Gains: +10whp, +53 ft-lbs

The 4th generation JDM Subaru Legacy BP5 or BL5 with EJ20X or EJ20Y received twin-scroll turbos and dual AVCS for better drivability and low-end torque but the stock tune is so tame that you can barely tell! This can all be fixed with our software and tuning. Greatly improved throttle response and low to mid-range torque makes the car much easier and enjoyable to drive. The fuel economy gets better too. There are really no negatives to tuning these engines.

These cars have been available in the Beta version for quite some time now, so you can rest assured they have been well tested.

We are always working to expand our software support for more Subaru models and engines. We can add almost every phase-2 EJ engine and some FA and FB engines too.

Stay tuned for more updates and happy tuning!


Full List of Cars Added


BL5A 2003 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BL5B 2004 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BL5C 2005 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BL5D 2006 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BP5A 2003 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BP5B 2004 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BP5C 2005 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y
BP5D 2006 Subaru Legacy B4 2.0GT and spec.B EJ20X/EJ20Y

SG9C 2003 Subaru Forester STI EJ255
SG9D 2004 Subaru Forester STI EJ255
SG9E 2005 Subaru Forester STI EJ255
SG9F 2006 Subaru Forester STI EJ255

Special editions of all the above with the same engine code will also be compatible.

JDM EJ205 24 PSI on Stock 2.5RS ECU

MY2000 Impreza EJ251 ECU Running a Turbocharged EJ205

The Subaru Impreza 2.5RS sedan and coupe have been a popular platform for turbo swaps for a while now. Typically the donor turbo engine was not compatible with the factory EJ251 ECU and required a complicated wiring harness merge to get the car running on a swapped-in turbo ECU. Here you can see how it can be done without the wiring hassle by keeping the EJ251 ECU and using our projectLAMBDA Tuner to get it to play nice with the turbo engine. With the engine harness connectors being nearly the same, the swap becomes almost a plug and play affair.

For this build, an EJ205 from a JDM Forester SF5 was swapped in to replace the original EJ251. Other suitable candidates are the EJ207 and EJ205 from the Impreza GC8 and GF8 WRX/STI. A lot of the sensors and wiring are shared between these 2 engines despite the fact that one is turbocharged and the other is not. Both come with a 32-bit ECU although the JDM runs on a mass airflow sensor, has different harness connectors and does not support OBD2 protocol. The USDM NA ECU uses a speed density fuel calculation instead of MAF and also has a Bosch LSU 4.2 wideband front O2 (lambda) sensor from the factory so that needs to be taken into account when doing the swap. The USDM ECU also does not have boost control but we are going to change that in the future. For now a manual boost controller was installed to keep the turbo under control.

The original EJ251 intake manifold has a Bosch 1.0 bar TMAP installed in the plenum to measure manifold pressure and air temperature. Since the EJ205 does not have any provision for this, a GM intake air temperature sensor was installed to support the ECU’s speed-density fueling. A 3.0 bar MAP sensor measures boost off one of the intake manifold vacuum ports. Another cleaner option would be to modify the manifold to fit a Bosch Motorsport 3.0 bar TMAP. This gives minimal measurement delay on the MAP signal versus a remotely mounted MAP sensor.

The owner stepped up from the original TD04HL to a modified VF39, then finally an FP Blue along with supporting mods to reach his power goals. In its current form, the engine is tuned for up to 24 psi of boost on 93 octane pump gas, but 22 psi seemed to be the sweet spot for power and torque. This could be a limitation of the unmodified EJ205 heads and cams. Not bad at all considering the JDM EJ205 tune has a boost target of only 10.6 psi. The end result is a cool-looking daily driver that can back up its looks with performance.

Build Info

  • MY2000 Impreza 2.5RS sedan chassis
  • JDM EJ205, stock block and heads, 9.0:1 CR
  • FP Blue Turbo with EWG, 1.0 bar wastegate spring
  • DW1000 Injectors
  • VA STI top mount intercooler
  • Header, downpipe, exhaust

New Launch Mode, Pops and Bangs in Version 1.4.1

Version 1.4.1 of projectLAMBDA Tuner adds settings for Launch Mode and Pops and Bangs. These much requested features can easily added to any tuned ECU supported by projectLAMBDA.

DISCLAIMER: These features have the potential to cause engine damage, increase wear on engine components, and make your neighbours hate you. Use them responsibly.

Launch Mode

Launch Mode uses a simple 2-step rev limiter instead of the regular rev limiter when vehicle speed (wheel speed) is below a configured threshold. Turbo ECUs also have the ability to retard spark timing to build boost and shoot flames while on the limiter.

  • Launch Mode – Enable: Set to 1 to enable Launch Mode function in the ECU.
  • Launch Mode – Maximum Vehicle Speed: Launch Mode rev limiter is used instead of the regular limiter when vehicle speed is below this threshold.
  • Launch Mode – Rev Limiter: Works the same as the regular rev limiter but used only when Launch Mode is enabled.
  • Rev Limiter – Spark Retard (Turbo ECUs only): Retards spark timing when either the Launch Mode or regular rev limiter is activated.

Pops and Bangs

To get some noise during deceleration, you will need to edit some Deceleration Fuel Cut and Spark Timing maps. Normally during decel, fuel is turned off so no combustion occurs. You will need to increase the delay time before fuel is cut off. Threshold settings can be used to limit when this occurs to above a specific RPM and vehicle speed. The car needs to be in gear and moving for this to work.

NOTE: Some ECUs may have more settings than the ones listed here.

  • Deceleration Fuel Cut – Enable Delay: Increase this to get fuel to stay on during decel.
  • Closed Throttle Spark: This is the spark advance used when throttle is closed. Reducing spark timing at higher RPM will cause more of the combustion to occur in the exhaust rather than in the cylinder, creating more noise and possibly flames.
  • Fuel – Load Compensation: Reducing or increasing fuel at low load regions where deceleration occurs can change the sound of the pops. This can be tuned along with spark timing to get the sound you want. The exact settings will depend on your mods and engine condition. Too much or too little won’t combust and will have little effect.
  • Spark – Minimum: Some ECUs limit the minimum spark timing. If you need more spark retard, then check this map.

EJ251 Tuning Part 1: Engine Size, Fuel Type and Injectors

Configuring injector settings is one of the first things to do when setting up your base map. The two main parameters for configuration injectors are ‘Load Scalar’ and ‘Airflow Scalar’. These should also be updated if the engine’s size (displacement) has been changed or you’re running a fuel other than straight gasoline.

For easy reference, I’ve done the calculations for some commonly used injectors so that you don’t have to. Just copy and paste the numbers into your current tune.

These load and airflow scalars were calculated a 2.5L engine running on gasoline. If you’ve got a different engine displacement or are running a fuel other than gasoline (such as E85), see the parameter explanations after the table.

Latency Latency
Top Feed Injector Part Number Color Flow Rate (cc) Load Scalar Airflow Scalar Slope (ms/V) Offset (ms)
EJ251 16611AA430 Grey 280 0.0723 0.9621 0.10 1.76
EJ205 16611AA521 Light blue 420 0.0482 1.4432 0.12 2.36
EJ207 16611AA510 Pink 550 0.0368 1.8899 0.12 2.36
EJ255/EJ257 16611AA720 Dark blue 550 0.0368 1.8899 0.13 2.62

Latency Latency
Side Feed Injector Part Number Color Flow Rate (cc) Load Scalar Airflow Scalar Slope (ms/V) Offset (ms)
EJ205/EJ207 16611AA370 Yellow 500 0.0405 1.7181 0.11 2.03
EJ255/EJ257 16600AA170 Yellow 500 0.0405 1.7181 0.11 2.14

Note: Flow rates are estimated based on ECU data. Use flow test data when available.


Load and Airflow Scalars

These two parameters can be found under ‘Configuration’ in the map tree. The ‘load scalar’ is a combination of injector flow rate, engine displacement and stoichiometric ratio all in one parameter.  It is used to calculate how much fuel is needed based on the volumetric efficiency map. ‘Airflow scalar’ is used to calculate the mass airflow of the engine from engine load and engine speed (RPM).

How to calculate what your new load and airflow scalars should be:

For an injector change:



For an engine displacement change:


For a stoichiometric ratio change:



For multiple changes you can chain the equations together in any order to get the final value.


Injector Latency

Fuel injectors don’t open instantly. There is a lag time between when the ‘on’ signal is sent and when the fuel injector fully opens. This is called ‘Injector Latency’. This latency changes with voltage. At lower voltages, the injector will take longer to open. At higher voltage, it opens faster.

To compensate for injector latency and inject the correct amount of fuel, the ECU adds latency to the fuel injector pulse width.

If you’ve swapped injectors you will need to use the latency values for the new injectors. Incorrect latency settings can cause fueling consistency problems. This is most noticeable at idle and low engine load.

The following equation describes how the ECU calculates injector latency:


‘Slope’ and ‘Offset’ are two parameters which can be modified by re-flashing. They are found under the ‘Fuel Injectors’ group in the map tree. Slope determines how quickly the latency falls with increasing voltage. Offset is the starting point from which the slope subtracts.


Cranking Base Injector Pulse Width

This map is found under the ‘Fuel – Base’ group. It sets the injector pulse width when starting the engine. Scale the entire map down when using larger injectors. Do the opposite for smaller injectors. These values already include injector latency, so you may want to take that into account when making changes. Once the engine gets to about 400 rpm the ECU will stop using this map and switch over to regular pulse width calculations.


Minimum Injector Pulse Width

Also found under the ‘Fuel Injectors’ group. This limits the minimum pulse width that the ECU is allowed to use. When pulse width times get very low, the injector doesn’t fully open and the flow rate won’t be accurate. If you’ve got larger injectors you may find reducing this helps solve rich conditions at low load and idle.