How to Code non Sport BMW 320i to Sport+

Questions before entering:
Does anyone know if it's possible to code Sport+?
I have a non-M Sport 320i and it only has three modes(sport, comfort and eco pro)

It is possible . I have done on on my 320i. Using a BMW ENET cable and E-sys F-series coding software.

Try ICMQL => IcmKod_B_Sportlenkung = verbaut.

For Sport+, only IcmKod_B_Sportlenkung in needed.

This is Sport+ & SAT.

Do the following:

Kombi => 300C ECO_FDS =>Function

FDS_MENUE_TEXT_1=> menue_3
FDS_MENUE_SIGNAL_1=> menue_3
FDS_MENUE_TEXT_2=> menue_3
FDS_MENUE_SIGNAL_2=> menue_3
FDS_MENUE_TEXT_3=> menue_3
FDS_MENUE_SIGNAL_3=> menue_3
FDS_MENUE_TEXT_4=> menue_3
FDS_MENUE_SIGNAL_4=> menue_3

ICM Module/ 3000 Daten/ IcmKod_B_Sportlenkung/ verbaut

EGS/3000 Applikation -> Sportschalter_alt -> aktiv
EGS/3000 Applikation -> Sportschalter -> aktiv

ICM/IcmKod_B_S2TBA -> verbaut

It will activate sport+ and sport transmission.
Or you also could add 2TB option and delete 205 in salapa element.

What exactly does sat do?

SAT = Option 2TB Sport Automatic Transmission, which is the Paddle Shifters.


E-sys DME Coding For BMW F30 After Replacement

I wirte up this topix about how to coding DME for BMW F30 335xi after engine repalcement.
To fix car I decided to replace engine. I bought a new engine with all equipment (including DME) from “Authorized BMW disassembling facility” and everything is mounted in the car. Only gearbox from old engine was mounted to the new engine. The engine is pretty new with only 7km on dash.

The old DME engine
The new DME engine:
Both DME looks exactly the same, but numbers on them are different.
Now I want to start the car.
I connected to the car with Rheingold and received few errors from DME:
1F2108 DME, incorrect data record: Variant monitoring
1F2601 DME, encoding: Missing
1F2604 DME, encoding: Vehicle identification number wrong

Ps. 1F2108 DME, incorrect data record: Variant monitoring in details:
Fault description:
The diagnosis monitors the software variants between CAS and DME.
Fault monitoring conditions: The fault is detected whenever the software variants fail to match one another.
Action in service: Continue troubleshooting at following control unit:
-Reprogram and encode the DME.

With the situation above, i was confused to do anything. Then post a thread on a forum. People answered me as follows. Put questions and answers here, hope they will help someone out also.

How to align the DME to the car ?
Use abritus and ista-p.
Is the error “1F2108 DME mean that I need to flash DME ?
You must reencode DME with E-sys and if car still not start you must move ISN data from old ecu and do sync with ISTA/D.

Should i BUY bmw explorer ecu explorer?
you will need to buy ECU explorer not BMW explorer

I heard that when there is sync issue the engine will not try to start.
When I try to start the car the engine cranks.
Is this means that sync between DME an CAS is not the issue ?
In Esys I noticed that DME lack of CAFD. Is this could cause the engine to not starting ?
In esys click on “DME2 [12]” than click on “Detect CAF…” than choose CAF file and code DME, but you will still have to synch ISN number CAS-DME to start engine.
Several modules with your ISN and VIN must match up internally to start the car, you may be able to get the trans into neutral and power to the ignition to crank, but if you don’t have the EKPS (electronic fuel pump module in F3X, idk the F10 equivalent) matching up with the DME and the gearbox module the fuel will never flow and then you can crank all day but never start because the fuel pump is disabled.

Is it possible to code the old DME for controlling turbo by wire ?
It sounds like you are trying to convert a PWG car to EWG. The 2 are incompatible and I have not found any instance of anyone being successful with such a swap yet. Your case is different since your changing so many components but it has not been done yet to my knowledge.

How the type (PWG and EWG) is represented in FA??
It is not compatible for original and replaced DME
1: You have to read out DME VIN from replaced engine. Use BMW explore or ECU explore to change VIN and sync DME_-CAS.
2: Check read out VINs type key. Use BMW ENET E-sys to change original FA’s type key->save it.
3: Load modified FA to caculate swfl, cafd…and flash it.
BTW you must use replaced engine wire harness and all parts.


How to set up BMW ICOM for E-sys Coding Software

BMW F-series coding software E-sys is able to work with BMW ICOM emulator and ENET cable. Here’s simple guide to set up BMW ICOM A2 for E-sys software.
With ICOM A2/ICOM Next, you connect via ICOM. You will need to lock IP with program like EasyConnect or Itool Radar.
With BMW ENET cable, you connect via VIN.

BMW ICOM Setting for E-sys:
1)Run ISTA-D and check ICOM IP (mine is slight different of windows IP
Properly itoolradar will do the same.

2) Run easyconnect
IP: (edit file ip_db.txt and add IP)
Mode: OBD_ab625
3) Run e-sys
Connect via ICOM/Ethernet (tcp://
(click to enlarge images).
With ICOM, you can certainly try with ISTA+ to see if you get a different IP to lock with Itool Radar.
  • Make sure motor is running if car is not on a Charger.
  • Third party Security Suites (Antivirus / Firewall / etc) are disabled
  • LAN Adapter is set for DHCP and not using a Static IP.
  • The Target Connection Window should not be blank (It should show multiple target connections for different chassis’)


3 Methods to Reset BMW E90 Battery with INPA

I have been interpreting the text in E90 clubs in Japan.

The battery reset is said to be in the inpa ... (There are 3 different methods of vehicle,

Battery (IBS) reset can be done with BMW INPA K+DCAN cable.

1. First Method

1 Select your car model

2 Select your engine type (MS or MSV in front of the engine type)

3 Select Status (F5)

4 Select PM-IBS (F5)

5 Click B Exchange (F5)

6 Popup (OK) should appear if job is done.

2. The second method

Step 1: select BODY from the left hand pop-up menu

Step 2: select POWER MODULE in the right hand list

Step 3: select ACTIVATE from the next menu

Step 4: Select ACTIVATE2 from the next menu

Step 5: Then select F7 - Register battery replacement. Almost instantly you get the message: "Register battery replacement Activated properly."

3. The third method

In that case you open up Toolset 32 ​​(under EDIABAS folder):

1. Open MSD80.prg

2. Look up steuern_batterietausch_registri. (near bottom of job list)

3. Go to Jobs menu

4. Select Run Job

Use ncs expert to change the ampere to 70ah -> 90ah in the CAS module.

Battery reset is available only in INPA.

After clicking STATUS button, click PM-IBS second state B, and press amperage and battery old

You can see the current charge.

Press B change to change the battery and press reset to reset the IBS intelligent battery system.

If you look at status B, the old status is changed to 0 and the battery run is reset.

I have not tried it yet ... You can try it yourself. 


How to add parameters in BMW NCS Dummy Software

In order to code the DMB driving lock in the E series, I added the parameters and modified the data value to FF, so I added the parameters many times, so I applied the additional method.

When replacing a battery with an amp that is higher than the original amp, sometimes I need to add a parameter to set the proper ampere .... I do not have to .... But, I want to ....

I can not see the 100 amperes parameter in BMW coding software NCS Dummy.


If you search for KLASSE_BATTERIE to set the battery

(First picture) KLASSE_BATTERIE - Select BATTERY TYPE, right click on it and select Add parameter to modify the added parameters .... (second, third picture)

Edit the data (fourth picture) .... The modification here seems to be the menu order. 01, 02, 03, ....... 09,0A.0B, 0C.0D, ......

In the DMB lock, I modified the setting value to FF ..... It seems that the order is not so important here. So it makes sense that some people do not need to set it up.

I think the battery should be reset.

Finally (in the fifth figure), press the Module Functions button to select the Update Module.

When you start to update the module, you will be notified that you can not revert anymore.

Now go back and load the modified module and you will see the modified 100 amperes.

I have added two parameters: 100 amps in general and 100 amps in AGM batteries.

BMW ICOM ISTA-D ISTA-P with engineering software INPA Ncs expert, WInKFP




Note: The document was translated from Korean. Credit to ds5ppx.



V2017.09 BMW ICOM ISTA-D 4.06.31 ISTA-P Software List

Latest V2017.9 BMW ICOM software HDD comes with free BMW Engineer Software for Windows 7 operating system.

Software version:
ISTA-D 4.06.31
VIN: 2017.06.12
Not connected 9000 days remaining

Compatible with: BMW ICOM, ICOM A1, ICOM A2, ICOM A3, and BMW ICOM Next

Software Including:

BMW ETK: 2017.08
BMW KSD: 08.2017 Multilanguage
BMW FSC Navigation Code Generator
BMWAiCoder for BMW Coding 

With free BMW Engineer Software (INPA, NCS, WinKFP, E-Sys 3.27.1, e-sys plus 3.27.1, Ediabas tool32 61.5, BMW FSC code generator, newly added Dr.gini B020 diagnostic software, BMW AiCoder. 

Dr.gini B020 diagnostic software requires Ediabas properly installed and functional with a communication interface ( ICOM, ICOM Next, ENET, PASSTHRU or K+DCAN ),
the BMW manufactured before 2003 are not supported.

Multi-language available in diagnosing, programming and TIS diagram circuit: English, German, Spanish, Russian, Simplified Chinese

V2017.09 BMW ICOM Software Display:







System Requirements:

Dual-core processor, better above I3; over 4G of memory

Support Model:

It is recommended to use Lenovo ThinkPad: T61, T400, T410, T420, T430, X61, X200, X201, X220 X230 and other laptop with Intel chipset, such as I3 I5 / I7 series.


BMW ICOM Next vs. ICOM A2 vs. INPA vs. ENET cable

Any cost-effective DIY solution of BMW diagnostic/coding/programming?
Yes, first you should know which a BMW ICOM cable you need: K+DCAN or ENET or ICOM A2/ ICOM Next.
 INPA K+DCAN cable
(switch mode)
Price$17.99$11.99$300 around
VehicleFor Exx carsFor Fxx carsFor ALL Exx & Fxx cars
(BMW E, F, G, I, Alpina series cars, MINI and Rolls-Royce from 1985 – 2017)
SoftwareInpa 5.0.2
E sys 3.23.4
NCS Expert
E-Sys 3.27.1
BMW AiCoder
BMW FSC code generator

In summary,
It depends on your purpose (diagnostic or coding or programming) and model (Exx or Fxx or others).

For Coding, you need different Tools, NCS Expert / SP-Daten for E-Series and E-Sys / PSdZData for F-Series.
All Diagnosis and Coding can be done with cheap DCAN Cable for E-Series and cheap ENET Cable for F-Series.

For Programming (Flashing ECU’s with new Firmware), then you need ISTA/P for for both E-Series and F-Series cars, or you can use WinKFP for E-Series and E-Sys for F-Series. For E-Series Programming, you will need an ICOM, but for F-Series Programming, you can use ENET Cable.

For Exx- Series:
Interface = K+DCAN Cable (OBDII to USB) or ICOM
ECU Data Files = SP-Daten
NCS Expert = Coding Software
WinKFP = Programming (Flashing) Software
EDIABAS = Low-Level ECU Communication Software used by NCS Expert & WinKFP

For Fxx- / Ixx- / Gxx-Series, Mini, & Rolls-Royce:
Interface = ENET Cable (OBDII to RJ45 Ethernet) or ICOM
ECU Data Files = PSdZData
E-Sys = Coding Software
E-Sys = Programming (Flashing) Software

ICOM A (also ICOM A2, ICOM A3, ICOM Next A): main interface
ICOM B: adapter for programming multimedia in E series
ICOM C: adapter for old BMW with round 20 pin diagnostic plug
ICOM D: adapter for motorcycles
ISTA+ (AKA Rheingold or ISTA-D)
DIAGNOSTICS for All Vehicles
PROGRAMMING for F/I/G/RR & MINI, but requires an ICOM
PROGRAMMING traditionally for all chassis, but is being phased out by August 2017, except for legacy E-series.
Replacement ECU’s must be NEW

YOU HAVE TO KNOW before you buy ICOM A2 or ICOM A3 or ICOM Next:

-> much faster in BMW F and G series ..
-> supports gigabit Ethernet too to be future proof, there currently is not gigabit Ethernet protocol defined yet for autos. Also it has USB3.0 instead of USB2.0 and a better wifi card. 


-> more stable during programming
-> be necessary for the future Gbit cars
-> faster start-up times and high throughput
-> through high-performance,low-power ARM SoC
-> improved handling
-> more flexible OBD cable
-> lighted button for logs


Modified ICOM A2 for vehicles with OBD access receives a significantly more powerful processor and more storage capacity. And robust aluminium case will help to avoid damage when using in harsh environments. It works better in cooling, runs faster and works more stable, not easier broken than older ICOM A.

ICOM A3 can program all units for all BMW series expect media system, and work more stable and has stronger compatibility than ICOM A2, A1.


How to resolve errors caused by DME / DDE module initialization

Here is the expert solution to BMW DME/DDE module initialization  problem

(Note: The document was translated from Korean. Credits to Mr. JIHUNX)


The DME(Digital Motor Electronics module of the BMW automobile is a very important module that controls the main operation of the engine (Diesel vehicles include DDE and Digital Diesel Electronics modules). Unlike other modules, the DME / DME2 / DDE module must be coded with the power turned on (ACC On) without coding while the power is turned on at the time of coding. If the initialization is done by pressing the button with the ignition on Codeor the coding is done, the DME module will be blown and various warning lights will appear. Most of the beginner coders initialize ECUs it, and after selecting all , Code it seems that these problems are caused by pressing. Code If you need to initialize by pressing Code, select the individual module and press to initialize it for each individual module.
If the DME module is blown, the starting will be turned off while coding, and if you try to start, there will be a phenomenon that the driving device error will not start. Then, various warning lights are turned on as shown in the figure below.


By default, the preparation process is the same as the BMW ENET E-sys software coding procedure. I am going to tell you about the theory, not the actual experience. Please note that the names and numbers of the coding files are different because they are synthesized by combining all screenshots. 
  1. Read SVT (VCM) Activate FA (VO) => Read SVT (VCM)) , then proceed to the process (ACC ON state ).
  2. SVT With the DME module selected in the area, Detect CAT for SWE click the button on the right .
  1. After selecting the most recent CAFD OK, press. The current F020-13-11-504 CAFD list is selected because it is the most recent version on the current capture screen .
  1. The DME module will probably have been changed to a blue, red color folder on the SVT list as shown below.
  1. DME With the module name selected Code, click the button on the right screen . Or you can DME right-click on the module name Code and select the same.
  1. If you continue to coded while the green bar is stretched as if you are coding, it is restored normally.