DIY set up INPA Ncs expert and K+DCAN cable

Here is my own DIY guide on setting up BMW INPA, Ncs Expert software and INPA K+DCAN cable.

First off, you will need a windows computer or Virtual Box from Oracle, (what I used). I used a licensed copy of windows XP and installed it. You can use Windows 7, 8, and 10 as well, but you will need to research some things to makes sure everything works properly!!!

You will need a cable:

Option 1: K+DCAN USB cable for coding:

This is similar to what I bought, it came with a green circuit board and worked well.


****NOTE if you plan on updating modules in your car, buy an ICOM cable. It will have a faster and more reliable connection. 

If continuing with K+DCAN...

Download BMW tools 2.12 this will give you updated NCS Expert @ v3.1, EDIABAS 7.2, and winkfp 5.1. Then, I used the BMW coding tool to update my daten files.

After this you will likely need to update your: SP-DATEN files. This is so you don't have strange errors and so you can code your car back to default using the "expert mode profile."
There is newer SP-DATEN than v54.
This is from 2014, I just done have time to keep searching. Feel free to post links to newer versions here guys!!!!

Link for: v54: https://mega.nz/#F!0N8A3LSb!kPyNeBaKoO1GaGoSokfuJA

This is a large file, about 16 GB and will take some time. It contains, what is know as SP-DATEN update files for all BMW models and MINI models. Just pick you chassis and follow the following procedure to update that to the car. After the download you will need to unzip it.

***Use "7zip" found here: http://www.7-zip.org/download.html ***

*****Winzip is unable to handle such large files*****

**After it is unzipped it is a: ".rar" You must now "unrar: it, Here is a link to Unrar a file:http://www.rarlab.com/rar_add.htm **

After that you will have the folders, feel free to delete the ".zip" and all the ".rar" files. You can also delete all other chassis except what you need for your car. Now use the BMW coding tool to update the SP-DATEN files to NCS Expert and the EDIBAS.

Now once you have done the other steps and are thinking, how do I actually code something?

You can watch this video, it has a great explanation with some details on exactly what to do. This has to do with reactivating "Passive Go or Keyless Go," with respect to the CAS "Car Access System" and Comfort Access. Watch it here.


BMW F11 520D ECU Upgrade by ENET E-sys

Here is the tutorial on BMW F10 or F11 520D ECU upgrade by using E-sys coding software. This guide should work for all Fxx chassis.

Disclaimer: We are not hold the responsibility of your damage.
Remember always to create a backups before starting an endeavour like this!

BMW ENET cable (Ethernet to OBD) interface with E-Sys 3.26.0 and PsdZData files (54.0 is used in this guide).
It’s important that the PsdZData files are the FULL version as the Lite version does not include all necessities for flashing.
E-Sys 3.26.0 is used for screen dumps. Other versions may differ slightly.
In this guide, We’ll be upgrading these ECU’s:
The steps for upgrading other ECU’s should be the same as doing these four. Just remember to identify the dependencies and select appropriately in step 15 in the below procedure.
When flashing involves ZGW it is widely said that the ZGW module should be updated BEFORE other modules. The TAL (transaction list) generated by E-Sysshould take care of this. But if you want, you could
flash the ZGW all by itself and then restart and do the rest. The steps remain the same.
Flashing all modules at once is also as easy as flashing individual modules. Just select all the modules in step 15 (still blFlash, swDeploy, cdDeploy, and ibaDeploy columns)
HU_CIC Depends (PreRequisites) on: 38 + 14 (BOTH ZGW) KOMBI Depends on: 38 + 10 + 14 + 53 + 57 (ZGW + HU_CIC + ZGW + CMB_MEDIA + HU_CIC)CMB_MEDIA Depends on: 57 (HU_CIC) ZGW does not have dependencies.





Basic steps:

1. Connect external charger (at least 50AMPs, preferably 70AMPs) to the car battery. Connect laptop to power supply. This step is essential!

2. Turn lamp switch to parking light – this will keep the ignition on beyond 20 minutes.

3. Connect via “Connection via Gateway URL” instead of via VIN, and use the car’s IP address with the default port number 6801.

4. Select Comfort Mode > TAL Calculating

5. Read and save FA

6. Activate FA

7. Read and save SVT Actual as “SVT_ist”

8. Create an SVT Target:
a. Select Complete Flash

b. Select I-Step (shipm.) to match vehicles shipment I-Step level

i. Select Expert Mode VCM button

ii. On the right bottom box, select “Master” tab

iii. In I-Steps box, click on “Read” button.

iv. Integration Steps boxes above will be populated with the data. Note down the IStep (Shipment).

c. I-Step (target.) will be unselectable as it is fixed based on current PSdZData I-Level. Select the appropriate level in I-Step (shipm.) as obtained in step above

d. Do a KIS/SVT Target Calculation and Save as “SVT_soll”

e. Do a TAL Calculation and Save as “SVT_tal”

9. Go to Expert Mode > TAL-Processing

10. Load TAL [SVT_tal) created in step 8.e

11. Load SVT Target (“SVT_soll”) created in step 8.d

12. Click the “Read FA” button

13. Check radio button for “read VIN out of FA” and click the “Read VIN” button

14. On ECU Tab, uncheck let top box in column “All” (All checked boxes should toggle to unchecked)

15. On ID Base Row for HU_CIC, CMB_MEDIA, KOMBI and ZGW check the boxes in blFlash, swDeploy,cdDeploy, and ibaDeploy (please see Appendix C) columns.

16. Press Check software availability (this, among other, ensures that you have the correct PSdZdata and the FULL version of them)

17. Press Start and it will proceed with processing TAL to flash Kombi with new firmware

18. Cross your fingers and watch it work.

If coding ACSM, the airbag needs be locked. This can be done by using the following procedure:
E-Sys Transmitter:
1) Click “External Applications” in the left menu.
2) Click “External Application”
3) Double-click “Transmitter”
4) Double-click “ACSM verriegelung_schreiben”

Appendix A – list of ECU’s
AAG – Trailer Hitch Module
ACC – Active Cruise Control
ACSM – Advanced Crash and Safety Management
AHM – Trailer module
AMP – Amplifier
AMPH – HiFi Amplifier
AMP_TOPHB – Top HiFi Amplifier/System
AMP – Amplifier/System
AMP_TOPHB – Top HiFi Amplifier/System
ASA – Active steering
ASD – Active Sound
BDC – Body Domain Controller (ZGW, FEM, REM, SZL, IHKA, TCB, CAS, JBBF Combined)
CAS – Car Access System
CID – Central Information Display
CMB_ECALL – Combox Emergency Caller
CMB_MEDIA – Combox Media
CVM – Soft top module (Convertable Top)
DKOMBI – MFID Instrument cluster (6WB)
DDE – Digiatl Diesel Electronics
DME – Digital Motor Electronics
DSC – Dynamic Stability Control
DWA – Immobilizer (Alarm)
DVDC – DVD Changer
EGS – Electronic Transmission Control Unit
EHA – Electronic ride-height control
EHC – Electronic ride-height control
EKPM – Electronic fuel pump control
EMF – Electromechanical parking brake
EPS – Electronic power steering
FEM_BODY – Front electronics module (ZGW, FRM, CAS, and JBBF Combined)
FEM_GW – Front electronics module gateway
FKA – Rear-cabin automatic A/C
FLA – Automatic High Beam Camera Only
FRM – Footwell module (Lighting)
FRR – Active cruise control
FZD – Function unit roof
GWS – Gear selection switch
HKFM – Rear Lift-Lid (Trunk)
HKL – Rear Lift-Lid (Trunk)
HU_ENTRY – Head Unit Entry Level (no iDrive System)
HU_CHAMP (Head Unit CIC Mid) (iDrive system)
HU_CIC – Head Unit CIC High (iDrive system)
HU_NBT – Head Unit NBT (iDrive system)
HC2 – Lane Change Warning
HUD – Heads-Up Display
ICM_QL – Integrated Chassis Management
ICM_V – Integrated Chassis Management Vertical (Vertical dynamics management)
IHKA – Integrated automatic heating/air conditioning system
JBBF – Junction box electronics
JBE – Junction box electronics
KAFAS – Cameras System (LDW, AHB, SLI)
KOMBI – Instrument cluster
LHM – LED Headlights main light modules (fan and LEDs for the cornering light, low-beam and high-beam
NIVI – Night Vision Camera
PDC – Park distance control
PMA2 – Parking Assist
RDC – Tyre pressure control
REM – Rear Electronics Module
RSE – Rear Seat Entertainment
SM – Seat module / Seat Memory
SME – Accumulator-management electronics
SMBF – Seat module / Seat Memory Passenger
SZL_LWS – Steering column control unit
SVT – Servotronic
TCB – Telematics Communications Box (BMW Assist)
TMS – LED Headlights (stepper motors for the Adaptive LED Headlights and LEDs for the side marker light,
the positioning light and the turn indicator)
TRSVC -All around view camera
TBX – iDrive Controller Touch Handwriting Module
VDM – Vertical dynamics Management
ZBE – iDrive Controller
ZGW – Central gateway module

Appendix B
On new cars (7/2014 F30) the ignition will not stay on even if you turn light switch. After 15 minutes or so ignition will turn off. This is not a problem though, just remember to cycle ignition before svt soll calculation and before starting TAL processing (actual flash). Ignition will stay on as long as the TAL is running.


How to enable Coding Programming in ISTA-D for ICOM A2

Here, i wanna share my solution on how to enable coding or programming in BMW ICOM A2 software ISTA/D.

I add the following to:
C:\Program Files (x86)\BMW\ISPI\TRIC\ISTA\TesterGUI\bin\Release\ISTAGUI.exe.config

<!-- Enable Programming -->
<add key="BMW.Rheingold.Programming.Enabled" value="true" />
<add key="BMW.Rheingold.Programming.ExpertMode" value="false" />
<add key="BMW.Rheingold.Programming.CoapiBase.UseAIF" value="true" />
<add key="BMW.Rheingold.Programming.CoapiBase.SCHNELLE_BAUDRATE" value="false" />
<add key="BMW.Rheingold.Programming.CoapiBase.TESTER_ID" value="0" />
<add key="BMW.Rheingold.Programming.CoapiBase.TEST_CHECKSUMME" value="false" />
<add key="BMW.Rheingold.Programming.CoapiBase.U_PROG_FLAG" value="false" />
<add key="BMW.Rheingold.Programming.CoapiBase.WITH_MOSTFIREWALL" value="false" />
<add key="BMW.Rheingold.Programming.CoapiBase.FORCE_PROG_PROGRAM" value="false" />

<add key="BMW.Rheingold.Programming.CoapiBase.CoapiErrorLogPath" value="..\..\..\Logs" />
<!-- not sure about that, not tested !!!! -->
<add key="BMW.Rheingold.Programming.CoapiBase.CoapiSearchPath" value="%ISPIDATA%\BMW\ISPI\data\TRIC\ISTA-P\BMW\Services\data\ecudata" /> <!-- not sure about that, not tested !!!! -->

<!-- temp solution, to be checked and tested !!!!-->
<add key="BMW.Rheingold.Programming.PsdzBackupDataPath" value="%ISPIDATA%\BMW\ISPI\logs\TRIC\ISTA\" />

Then everything works just fine. ISTA-D can do programming successfully. (but you setup at your own risk)






BMW NBT coding EVO HU pinout for ENET cable

It’s all about BMW E series NBT coding using BMW ENET E-sys cable. Useful tips can be found here, such as NBT, NBT EVO, NBT HU pinout and connection description, and also NBT retrofit manual available.

NBT pinout
(NBT rear view with connections)

NBT connections description

NBT EVO pinout
(NBT EVO rear view with connections )

NBT EVO connections description
*When retrofitting E60, E70, E90 with NBT EVO, pin 14 (KL58G) of the Main Quadlock connector must be cut and leaved unconnected

NBT coding
(NBT coding connection schematic )
(BMW ENET cable from China)
(NBT EVO coding connection schematic)

NBT HU pinout

NBT HU pinout description

NBT HU pinout
NBT HU pinout description

Basic coding parameters for NBT HU
It’s very important for NBT retrofit DIYers. All you need can be found here, like tools selection, installation, coding issues- most details offered.


NCS Expert change odometer from miles to kilometers (km)

Here’s a user solution to change odometer from miles to km on BMW E-series by using NCS Expert step-by-step.

Part 1 – NCS Expert read miles1. Connect your cable (BMW INPA K+DCAN cable or BMW ICOM A2 emulator) to your vehicle’s OBD II port and to your computer. Your vehicle’s ignition should be in the ON position, but your engine does not need to be running.
2. Launch INPA and verify that it reads Battery: ON and Ignition: ON. You should also have a program called “EDIABAS Server” running in your task bar. If everything checks out, close INPA.
Leave the server running.
3. Open “C:\NCSEXPER\WORK” and create an empty text file named “FSW_PSW.MAN”. I just use NOTEPAD for this.
4. Launch NCS Expert. Go to File -> Load profil and select “Revtor’s NCS Expert Profile”, click OK.
5. Select “VIN/ZCS/FA” then “ZCS/FA f. ECU”. This will tell NCS Expert to attempt to read your VIN from your vehicle’s ECU so you don’t have to type it in.
6. Select your chassis from the list and click OK. Then select which module you want NCS Expert to read your VIN from. Usually the first choice is fine. Click OK again to have NCS Expert read your VIN. You should see the CHASSIS, FG, and FA fields populated in the top part of the NCS Expert window.
7. Select “Back”, then “Process ECU”. You will be prompted to select a module. Select the module you want to read values from(in this case KOMBI OR AKMB) and click OK. Click OK again on the window that appears to return to the main NCS Expert window.
8. Select “Job” and choose “CODIERDATEN_LESSEN” from the menu. This will change the job from one that writes to one that only reads data. Many of the job names look very similar. Always read job names carefully to ensure you select the correct one.
9. At this point NCS Expert is relatively harmless, as all it can do is read from your car. Select “Execute job” to begin reading from your selected module. When you see “Coding ended” below the module name, the process has completed.
9. Once NCS Expert has read data from a module, it stores that data in a file called
“FSW_PSW.TRC” (called a “trace file”) in the “C:\NCSEXPER\WORK” folder. This file contains some general information about your car, as well as all the values currently stored in the module you read from.
Part 2 – NCS Expert write odometer from miles to km
  1. Open “FSW_PSW.TRC”(you can use NOTEPAD) and find the field you wish to modify. Trace files are formatted as:
    2. Change the field value(s) to your desired settings(this is where you look for the WEG_EINHEIT field name, and change value to “km”), then save this file as “FSW_PSW.MAN”, overwriting the empty one you created earlier.
    3. If you closed NCS Expert, follow steps 1-6 in the section above to get back to the correct screen. Otherwise, NCS Expert is ready to code your module as soon as the job is changed back to the default, “SG_CODIEREN”. Do this by selecting “Job” and then “SG_CODIEREN”, then click OK. Verify that the correct job appears in the “JOBNAME“ field.
    4. Click “Execute job” to have NCS Expert write the information from FSW_PSW.MAN to your vehicle. When you see “Coding ended” below the module name, the process has completed.
    Depending on what you coded, you may need to turn your car off and back on again to verify the desired feature/behavior has taken effect.
    5. Open “FSW_PSW.MAN” and delete its contents. Save and close the file.
That’s all about BMW E series odometer change, from miles to km, using NCS Expert coding software.

Hope it helps!


K+DCAN cable & ICOM D DIY on BMW bike S1000RR

Here, i’d like to share some experience of programming experience of my bike s1000rr with two bmw cables. Also solutions for ISTA-D 3.48 error: message “Unable to identify vehicle”.

Bike: BMW S1000RR 2011

Tools i’m using: INPA K+DCAN USB cable and ICOM D adapter
With software: Rheingold (ISTA-D) v3.48

Laptop’s OS: Windows 7 32 bit.

Puzzle: I have K+DCAN cable and ICOM-D adapter but bike cannot get connected with ISTA-D 3.48. I get error: "Unable to identify vehicle. Please check vehicle communication interface and vehicle ignition (must be set to ON).”.
Ps. Same software is working fine with my F3x -serie car (with K+DCAN and/or ENET cable).

Bike and ICOM D: My s1000rr is 2011 and bike’s service plug 10 pin socket has pin 1, 4, 6 and 10 in use, no pin 2 in use. With voltage gauge I measured that signal is going through ICOM-D cable's OBD port:
10pin --> obd2
1 --> 7
4 --> 4 and 5
6 --> 16
10 --> 1

Here is what i did.
I have installed EDIABAS and tried to change com ports (in obd.ini) according to laptop’s usb port com etc. I have changed in laptop’s device manager latency of port to 1. Feeding additional electricity to battery with separate charger, tried engine running but not working.

When I try to read vechile info via Rheingold, K+DCAN cable’s little light flashes once briefly and then stops and gets the error in software.

Tried time and time again with methods online. I solved my problem, at least partly.

I can now connect to all of my bike’s ecus and read live data, reset service indicator after service etc. Although I cannot make for example ABS unit’s bleeding (in case of I would like to change all break lines and some other this kind of jobs).

I removed all old stuff and re-installed software. I also downgraded USB serial driver version. I found via Google that there might be problem with Chinese cables which not necessarily have genuine FTDI chip. The newest driver versions won’t necessarily work with fake FTDI chips.

I cleaned com ports via Windows regedit and configured there serial port RxFIFO and TxFIFO values and put force_fifo_enable on. If I remember it correctly it was off at some point in my trials.

I also made own cable between bike’s 10-round pin adapter and k+dcan cable. Or actually it’s not real cable, just set of separate wires which I connect from motorcycle’s round adapter pins straight to K+DCAN cable’s pins. I haven’t tried to connect to motorcycle with icom-d cable since then so I don’t know whether it would work nowadays after other changes I made.

I was lazy and made many changes at the same time so root cause for my earlier problems is not totally clear.

I am not sure whether I should have BMW ICOM A2 entity in order to get rest of Rheingold functionalities to work. But at the moment I am happy with those functionalities I have now available.

Perhaps to help somebody else.


How to enable BMW ICOM A2 firmware in ISTA-P 3.59?

You need have a valid ICOM A2 license or ISTA-P loader, to enable the BMW ICOM A2 firmware to work well with ISTA P v3.59;

That is,

ICOM A2 requires valid firmware license.

If you have no license, just update firmware to latest version and use ista-p loader v4.9 (v5.x discontinued).

ista-p loader

Free download

ISTA P Loader (for those with ista p but data is gone)

ISTA-P (tested OK, with Loader v4.9)



User feedback on ISTA/P and loader
More info on ISTA P loader:

Tried running Rheingold ISTA/P using v3.2 loaded.
Select K+Dcan emulator, which started fine. (network tool for kdcan is necessary)
Select BMW car and ista/p loaded up.
Start new session. Fine.
Select my machine.
Select interface. all good so far.
On the next page I had a progress bar on the bottom left.
First job finished, then it said "Determining Vehicle Identification number"
Then things stopped and I got an error box come up saying:
"An error on execution of the measure.
94201 Technical service initialisation failed.
10007 (CIP)- Error during initialisation of EDIABAS."
All help appreciated as this is getting frustrating.

Then run the network config tool for k+dcan:

Error solved. And ISTA/P works like a charm.

Tip: What to do if programming data is missing?

"Programming data" in launcher is for ISTA 4 only (I, F & G series). Requires separate install to ISTA/P.