ProECU BMW ECU Coding Recovery Tool

Introduction

ECU coding can be problematic on N55 and S55. Every time you flash the ECU, they lose the ECU coding. The car will not start and run until it has been recoded.

EcuTek counter this by taking a backup of the ECU coding before flashing the ECU and restoring it again afterwards. Sometimes there are situations where things go wrong and the car needs to be recoded manually. Sometimes for various reasons, there is no coding backup available.

This tool is designed to help recover from these kinds of situations, it is not intended for general editing of the ECU coding.

The tool has recently been updated to add extra features and make it easier to use.

This tool is for power users only, even among our tuners. If you have any doubts regarding the use of this tool, please contact EcuTek support for guided assistance

Tool Usage

Query ECU <---- DO THIS FIRST

Like most EcuTek tools, the first thing you should do is press the Query ECU button so ProECU can identify exactly what kind of vehicle is connected.

Read Coding From ECU

This reads the current coding from the ECU and displays it at the bottom of the window

Read Coding From Library

This selects the coding shown in the dropdown box and displays it at the bottom of the window

Save Coding To File

This saves the coding that is currently displayed at the bottom of the window.

Write Coding To ECU

The coding currently displayed at the bottom of the window will be written to the ECU.

Coding Library

ProECU stores its coding backups in a file called BMWCoding.bin. The tool reads this file and lists the available backups in the drop down box at the top right of the window. There are some checkboxes that help you find an appropriate coding for the current vehicle. There is also a selection of default coding for various vehicles.

Import From Another Library

If you have another BMWCoding.bin file, perhaps from another laptop or given to you by another tuner, you can add all of the coding records

from it into your library.

Import From A Coding File

If you have saved a coding record using the "Save Coding To File" button then you can load it into your library.

Import From An ECU Backup

This button will search for coding in the eeprom section of an ECU backup taken using the bflash or autotuner tools. (.bdc, .RomDump or dflash0.bin, dflash1.bin)

This allows you to recover the coding if you have a suitable backup of the ECU. You can usually make the backup file even AFTER the ECU has lost its

coding because the records can still be found in the EEPROM.

Example workflows

Example 1: Recovering an ECU where you have a coding backup

  1. Click "Query ECU"

  2. Check "Only Show Coding Backups for Current VIN"

  3. Select a coding backup from the dropdown box

  4. Click "Read Coding From Library"

  5. Click "Write Coding To ECU"

Example 2: Recovering an ECU where you don't have a coding backup, but there are similar vehicles in the coding library

  1. Click "Query ECU"

  2. Check "Only Show Coding Backups for Current Model"

  3. Select a coding backup from the dropdown box

  4. Click "Read Coding From Library"

  5. Click "Write Coding To ECU"

Example 3: Recovering an ECU where you don't have a coding backup, but you do have a bflash backup (or can make one)

  1. Click "Query ECU"

  2. "Click Import from an ECU Backup"

  3. Select the bdc file and press OK.

  4. Select the coding from the dropdown box

  5. Click "Read Coding From Library"

  6. Click "Write Coding To ECU"

Common Problems

3300 Coding Section Issues

The 3300 section of the coding is only allowed to be written during the first 100 hours of the vehicle life. After 100 hours, that section becomes locked. When EcuTek unlock the ECU, we remove this restriction so that our tuners can edit the VMAX field for example. Some other tools do not expect this section to be writable and will accidentally write incorrect data to it.

The problem is often compounded when somebody flashes a stock rom and the section becomes locked again, so it's not possible to fix the incorrect data. The solution to this is to unlock the ECU using EcuTek, so that the 3300 section becomes writable. Then program good coding data. Then you can put the ECU back to stock if you want to.