Subaru EJ Programming Guide






Programming an ECU

Programming an ECU is the process of taking a ROM file and placing it into permanent storage inside the ECU. Programming an ECU is a two stage process consisting of entering a special mode known as ‘Utility Mode’, then subsequently uploading the new ROM file.

Before Programming

Ensure that the ROM file with the changes required is of the same type as the ECU being programmed. For example, if the ECU in question is an af423, then only a ROM file based on an af423 should be uploaded. Always ensure that you have a tuned ROM file of the correct version to install in the ECU that you are tuning.

Minimise Power Drain from the Battery

It is essential that all devices that use power from the battery are switched off BEFORE attempting to program an ECU. This helps to minimise electrical interference to vehicle systems that may interfere with communication between ProECU software and the ECU. 


For devices within the car, this includes:

  • Headlights
  • Interior lights
  • Air Conditioning, fan cooling & heating
  • Any devices powered from the cigarette lighter socket, including mains inverters or laptop power supplies.


For devices that are not part of the car, this includes:

  • Mobile (cell) phones
  • Nearby industrial equipment, such as welders and high power fans or mobile phone transmitters.


Connecting to the ECU

Obviously, to program a car’s ECU, the programming hardware must be correctly connected to the car:

  • Plug the programming interface into the OBD-II socket of car. This is located below the steering column.
  • Connect the EcuTeK Vehicle interface to the laptop USB Port.



Location of Programming Connections

Test Mode connectors are normally located underneath the steering column.  There will be two green ‘test mode’ connectors (one male & one female), these connectors are used for Subaru KLine 99, K-Line 2002 and K-Line 2004. On K-Line 2002 cars, there will also be one of two different types of ‘flash block’ connector. The differences between these will be shown on the next page. 




EcuTeK ‘Test Mode’ Cable

For Subaru K-Line 2002 and 2004 only, we have included a

‘Test Mode’ cable that has all of the connections that you will use for flashing. This cable includes the following connections:







New Style Loom Flash Block (K-Line 2002)

This block is plugged into the flash connector underneath the dash when programming. The flash connector is a white, translucent, 6-pin (3x2) plug, populated with 4 pins. Under normal circumstances, this connector is simply hanging beneath the steering column, close to the green test mode connectors, or may be found taped up against the loom nearby. Orientation of the plug is unimportant – the block may be connected either way around. 2004 and 2005 WRX cars only require this Flash block to be plugged in for programming, the ‘Test Mode’ connections are not needed.






Old Style Loom Flash Cable (K-Line 2002)

On older versions of car, the cable shown below is used to join the two pins present on the older 3 pin flash connector. Again, this connector is a white translucent plug. This older version is a 3-pin housing containing 0.25 inch spade tabs. In this instance, two out of three locations are populated, and this cable is used to join the two pins present.




'Test Mode’ connection

When the two green plugs are connected, it enables ‘Test Mode”.  While in test mode, the ECU is able to be programmed. If using the EcuTek ‘Test Mode’ cable, the ‘connection’ can be instantly joined by using the switch on the end of the EcuTek cable. 

NOTE: This CANNOT be used for programming with K-Line 99.

Harness end of ‘Test Mode’ connection shown on right




Subaru K-Line 99 ECU reprogramming 


The Green Test Mode connectors MUST be joined together during ECU programming.

You CANNOT use the supplied Quick Access Test Mode cable on K-Line 99 ECU, you MUST

connect the two Green Test Mode Connectors directly together. Then follow ECU reprogramming sequence. WHITE Flash Block connectors are NOT used on K-Line 99 vehicles.

EXTRA care MUST be taken when programming MY99-00 ECUs. Ensure ALL battery power drain items are tuned OFF including Laptop 12v adaptors, Heater Blow fan, Interior light, Hifi / Sat Nav / DVD system and mobile phones. 

It is suggested that a Battery Power Pack is used to assist the vehicles battery during ECU reprogramming sequence.


If during ERASE or REPROGRAMMING the ECU processor stalls then do NOT turn off the Ignition, this will damage the ECU beyond repair. 

Leave the ignition ON and OBD2 cable connected and carefully disconnect the Green Test Mode Connectors and then reconnect them again. This may be enough to restart the processor and recover the ECU. If processor does not restart then keep trying, if you turn off the ignition then the ECU is lost and has to be replaced.

So if this does ever happen (quite rare) then keep trying including using Battery Power Pack to provide additional Battery power.


Subaru K-Line 2002 ECU reprogramming


The Green Test Mode connector MUST be joined or we suggest you use the supplied Quick Access Test Mode cable. You MUST also use one of the WHITE Flash Block connectors attached to the Quick Access Test Mode Cable.


Subaru K-Line 2004 ECU reprogramming

   

The Green Test Mode connector MUST be joined or we suggest you use the supplied Quick Access Test Mode cable. WHITE Flash Block connectors are NOT used on K-Line 2004 vehicles.

Legacy Test Mode connectors are located by the ECU or in the footwell behind the kick panels.

Some later cars have a second set of Green connectors in the kick panel as well as under the steering column. Check in Delta Dash under Digital Data if ECU sees the Test Modes joined.

Entering Utility Mode (Subaru K-Line 2002, K-Line 2004)


In order for the ECU to be programmed, make sure that you have the USB programming cable plugged in before ProECU software is booted. To enter ‘Utility Mode’, the EcuTek test mode connector will need to be plugged into the car. Then follow the steps below:


  1. In ProECU, from the ‘Tools’ menu, select ‘Manually Select Vehicle…’




  2. Select either ‘Subaru Petrol K-Line 2002’ or ‘Subaru Petrol K-Line 2004’, click OK.




  3. Program Engine ECU.




  4. The programming window will appear.



  5. On the right of the window, there is a progress display. This area displays messages as the programming process proceeds.  Click on the ‘Enter Utility Mode’ button. At this point, you will be reminded of how to connect the hardware, as listed above. You will also be reminded to turn off the ignition. Once you have done this, click on OK.




  6. You will now be told to turn on the ignition and click OK again within 5 seconds.




  7. If you have correctly completed the steps listed above, you will now be in what EcuTeK describe as ‘Utility Mode’. Once in this mode, special functions can be performed on the ECU.





Uploading a New ROM

Once in ‘Utility Mode’, as detailed above, a new ROM file may be uploaded to the ECU. To do this, simply follow the steps below:

  • Choose the ROM file that you wish to use. By default, the last file that you last saved or opened will already be selected.
  • Click the ‘Program ECU’ button. The selected ROM file will then be uploaded to the ECU.
  • After programming, the ECU must be put back into standard operating mode before it will start the car. A message is displayed to remind you of this. Simply turn off the test mode switch and click ok. Cycling the ignition switch will have the same effect as clicking ok here. However, if you wish to stay in ‘Utility Mode’, click ‘Cancel’.


At this stage, the ECU is ready to be tested. Bear in mind that maximum performance will not be apparent immediately. It is necessary to drive the car for a period of time to allow the ECU to learn the ignition advance parameters that it can use.

Extra Features

Programming is the main feature that will be accessed whilst in ‘Utility Mode’. However, there are many additional features that may also be used if required. Note that you must already be in ‘Utility Mode’ before attempting to use these features.

Compatible ROM Files

This will display all applicable ROM files for the Queried ECU.

Comment Field

When programming an ECU, it is possible to enter a short comment before programming. This comment will be permanently stored in the ECU and so will be accessible in the future, should the ECU be seen again. This field could be used to store the name of ROM file used, the brand name, or the version or state of tune.

The comment is accessible by any ProECU software user. However, this information is not viewable using DeltaDash or a standard Subaru Select Monitor.

Registration Details

By clicking on the ‘Read Registration Details’ button, various stored information will be retrieved and displayed from the ECU. This includes:

  • The comment field, described above
  • The Compatible ROM files, described above
  • The ID of the user who programmed the ECU (if applicable) – each license key has a unique ID, so the authenticity of an ECU can be confirmed.  The number of times the ECU has been reprogrammed. 
  • The ECU version e.g. af423 or aj931. This will tell you on which base ROM file any tuning must be based.
Programming Supply Check

This allows the output voltage of the inbuilt programming supply of the interface to be checked. A correctly functioning unit will output close to 12.0 Volts.

ROM File Comparison

This is a very quick way of comparing a ROM file with the current contents of the ECU. This feature compares the checksums of the ROM file with those of the ECU. If they match, there is 99.99% likelihood that the stored data is identical. This allows the ECU data to be checked without using one of the ECUs 100 programming ‘lives’.

EcuTek Information Dump

It is possible that you will come across an ECU version that EcuTek have not seen. It will not be possible for you to program this ECU until EcuTek have been supplied with certain information about the ECU. The ‘Dump Details for EcuTek’ button saves certain information from this ECU. The information is stored in a file that will be saved into the directory C:\EcuTek\RomDumps. The name of the file will be displayed as it is saved. This information should be sent to EcuTek by clicking on ‘Help’, then ‘Submit New ROM…’. EcuTek will then supply an updated version of ProECU that will be capable of programming the ECU. Note that it is not something that can be done while-u-wait. Turnaround time is likely to be 3 to 7 days for support of a new ECU.

Programming Statistics

After an ECU has been programmed, the progress window displays two statistics:

  • The number of erases pulses used out of a possible 5.
  • The number of programming pulses used out of a possible 50.

These figures indicate the ‘freshness’ of an ECU i.e. how easily the ECU was reprogrammed. As the number of erase and program pulses required to reprogram the ECU rise toward their maximum values, you should think about programming the ECU with a final map and start using another ECU for development.

The rated life expectancy of the flash memory in the Subaru ECU is 100 reprograms. ECUs will generally take more than this number of updates. We have on several occasions reprogrammed the ECU over 250 times with any deterioration or failures. The above statistics are an indicator of when the flash memory is starting to wear out. If the ECU flash memory is allowed to wear out completely, the ECU will be rendered unusable and the flash license it contains will be lost.

Protection of Mapping Expertise

After customising the mapping of an ECU and programming it back to the unit, a sensible concern is that the data may fall into the hands of other tuners, who may copy the work. EcuTek have considered this and come up with a simple solution: EcuTek customers have the ability to program an ECU, but not read back its contents with EcuTek software. This means that a map placed in an ECU by ‘Tuner A’ cannot be copied by ‘Tuner B’. Only EcuTek themselves can read the data out of an ECU. However, tuners do have the facility to compare the contents of an ECU with an existing ROM file – this allows verification of the contents of the ECU, so long as the tuner already has the ROM file on their PC.




Resetting an ECU

To reset an ECU, select ‘Subaru ECU Reset’ from the ‘Tools’ menu. This will clear any Diagnostic Trouble Codes, learnt ignition timing and air/fuel correction. It is a good practice to reset an ECU after programming. Bear in mind that when the ECU is reset, all learnt data is lost.


    





Teaching the Immobiliser (K-Line 2002 / 2004)

Some ECUs contain an alarm immobiliser feature. This security feature establishes a relationship between the ECU, the car’s security system, and a specific number of car keys. If an ECU for one of these cars is replaced, the ECU must be forced to relearn this relationship.

Note that it is only necessary to do this if an ECU is to be used in a different car.

Reprogramming the ECU with different tuning maps will not affect the immobiliser learning – this data is stored separately. E.g. A customer can send their ECU in the mail to be reprogrammed. That same ECU can be returned to the customer without any immobiliser issues to deal with.

Before Immobiliser Teaching

  • Ensure that the ECU in question actually requires this. For example, US ECUs do not contain immobiliser hardware. If after swapping ECUs, the car starts, this process is unnecessary. It may be confirmed that failure to start the car is due to an immobiliser problem by checking the trouble codes via DeltaDash.
  • Ensure that all keys for the car are available. Only keys present at the time of teaching will be able to start the car.
  • Note that once a new ECU has been installed and taught, the previous ECU will no longer start the car. Only one ECU at a time will ever start a particular car.

Begin Immobiliser Teaching

To begin the teaching process, simply click on ‘Subaru Immobiliser Functions’ from the Tools menu. You will then be guided through the process, which takes approximately one minute to complete.





Contact Us:

EcuTek Technical Support

support@ecutek.com

(+44) 1895 811200

When dialing from within the UK, the country code is not required so dial 01895 811200


Open Hours

Monday to Friday 9:00am - 5:00pm BST (UK Time)

(4am-1230pm Eastern Standard TIme US)

Visitors by appointment only


EcuTek Tehnologies Ltd.
8 Union Buildings
Wallingford Road
Uxbridge, UB8 2FR
England

VAT No: 
GB 235 2616 23