BMW X3
Welcome to the ultimate BMW X3 community
2.2MVIEWS
3.9KREPLIES
121APPRECIATES
837ACTIVE PEOPLE
1 hour agoLAST POST
03-27-2026
03-27-2026
tmsperformance user avatar
tmsperformance
New Member
11 REP
9 POSTS
Thank you for this guide.
Appreciate0
04-19-2026
04-19-2026
The Ace user avatar
The Ace
BMW Noob
Greece
0 REP
14 POSTS
I've used this guide and Shawn's files to code my X3 F25 (especially the HU, since BimmerCode throws an error when trying to code it) and it has been smooth sailing every second since my first try. I did a few things, such as iD5 -> iD6Light, changed numerous settings, added SLI (along with the necessary hardware ofcourse) etc, and just wanted to say "thanks" :thumsup:
Appreciate0
04-19-2026
04-19-2026
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
amarinos13 wrote
I've used this guide and Shawn's files to code my X3 F25 (especially the HU, since BimmerCode throws an error when trying to code it) and it has been smooth sailing every second since my first try. I did a few things, such as iD5 -> iD6Light, changed numerous settings, added SLI (along with the necessary hardware ofcourse) etc, and just wanted to say "thanks" :thumsup:
:thumbsup:
Appreciate0
04-19-2026
04-19-2026
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
Hey all, first time coding my US 2018 F15 with ESYS and I'm just trying to first flash my AAG/AHM module to my car (I bought it used on ebay) and then add K235 to the SALAPA-Element so my car will see and use the reflashed towing module. All of the hardware is installed and iDrive is giving me the "tow lighting error" as expected now that the wiring harness and module is installed.

I'm currently running SYS 3.35.3 & Plus3.8.1 with FULL PSdZData for reference.

I followed the E-Sys - Flashing ECU Guide v.1.0.1 and got stuck on step 15 because my car has completely different ECUs. The guide is asking for HU_CIC, CMB_MEDIA, KOMBI and ZGW but because my car is different ECU architecture, I wasn't sure what to do next. Here's what ESYS shows for my car:
AAG 71 - tl_1
ACSM 01 - tl_17 ,tl_33
ATM 61 - tl_11 ,tl_27 ,tl_45
BDC_BODY 40 - tl_6 ,tl_16 ,tl_32
BDC_GW 10 - tl_4 ,tl_14
EGS 18 - tl_22 ,tl_39
FLE 43 - tl_38
FLE 44 - tl_44
FZD 56 - tl_25 ,tl_42
HC2 08 - tl_2 ,tl_3 ,tl_13 ,tl_30
HKFM2 0D - tl_12 ,tl_28 ,tl_46
HU_NBT2 63 - tl_8 ,tl_20 ,tl_36 ,tl_29
ICAM 06 - tl_9 ,tl_21 ,tl_37
KAFAS2 5D - tl_10 ,tl_23 ,tl_40
PMA2 2C - tl_24 ,tl_41
RSE_HIGH_NBT2 26 - tl_5 ,tl_15 ,tl_31
SM2 6E - tl_19 ,tl_35
SM2 6D - tl_26 ,tl_43
ZBE4 67 - tl_7 ,tl_18 ,tl_34

I'm very paranoid about bricking my car so I decided to post in here to ask for advice.

:help:

q9RgAD.png
Appreciate0
04-19-2026
04-19-2026
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
Hey all, first time coding my US 2018 F15 with ESYS and I'm just trying to first flash my AAG/AHM module to my car (I bought it used on ebay) and then add K235 to the SALAPA-Element so my car will see and use the reflashed towing module. All of the hardware is installed and iDrive is giving me the "tow lighting error" as expected now that the wiring harness and module is installed.

I'm currently running SYS 3.35.3 & Plus3.8.1 with FULL PSdZData for reference.

I followed the E-Sys - Flashing ECU Guide v.1.0.1 and got stuck on step 15 because my car has completely different ECUs. The guide is asking for HU_CIC, CMB_MEDIA, KOMBI and ZGW but because my car is different ECU architecture, I wasn't sure what to do next. Here's what ESYS shows for my car:
AAG 71 - tl_1
ACSM 01 - tl_17 ,tl_33
ATM 61 - tl_11 ,tl_27 ,tl_45
BDC_BODY 40 - tl_6 ,tl_16 ,tl_32
BDC_GW 10 - tl_4 ,tl_14
EGS 18 - tl_22 ,tl_39
FLE 43 - tl_38
FLE 44 - tl_44
FZD 56 - tl_25 ,tl_42
HC2 08 - tl_2 ,tl_3 ,tl_13 ,tl_30
HKFM2 0D - tl_12 ,tl_28 ,tl_46
HU_NBT2 63 - tl_8 ,tl_20 ,tl_36 ,tl_29
ICAM 06 - tl_9 ,tl_21 ,tl_37
KAFAS2 5D - tl_10 ,tl_23 ,tl_40
PMA2 2C - tl_24 ,tl_41
RSE_HIGH_NBT2 26 - tl_5 ,tl_15 ,tl_31
SM2 6E - tl_19 ,tl_35
SM2 6D - tl_26 ,tl_43
ZBE4 67 - tl_7 ,tl_18 ,tl_34

I'm very paranoid about bricking my car so I decided to post in here to ask for advice.

:help:
For your car, AAG, BDC_BODY, DSC2, ICM, FZD, ICAM, PMA2, DKOMBI, and HU_NBT2.
Appreciate1
04-19-2026
04-19-2026
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
shawnsheridan wrote
For your car, AAG, BDC_BODY, DSC2, ICM, FZD, ICAM, PMA2, DKOMBI, and HU_NBT2.
Based on the list generated by ESYS and your list, my car appears to be missing

DSC2
ICM
DKOMBI
AAG 71 - tl_1
ACSM 01 - tl_17 ,tl_33
ATM 61 - tl_11 ,tl_27 ,tl_45
BDC_BODY 40 - tl_6 ,tl_16 ,tl_32
BDC_GW 10 - tl_4 ,tl_14
EGS 18 - tl_22 ,tl_39
FLE 43 - tl_38
FLE 44 - tl_44
FZD 56 - tl_25 ,tl_42
HC2 08 - tl_2 ,tl_3 ,tl_13 ,tl_30
HKFM2 0D - tl_12 ,tl_28 ,tl_46
HU_NBT2 63 - tl_8 ,tl_20 ,tl_36 ,tl_29
ICAM 06 - tl_9 ,tl_21 ,tl_37
KAFAS2 5D - tl_10 ,tl_23 ,tl_40
PMA2 2C - tl_24 ,tl_41
RSE_HIGH_NBT2 26 - tl_5 ,tl_15 ,tl_31
SM2 6E - tl_19 ,tl_35
SM2 6D - tl_26 ,tl_43
ZBE4 67 - tl_7 ,tl_18 ,tl_34

Is that a problem?
Appreciate0
04-19-2026
04-19-2026
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
Based on the list generated by ESYS and your list, my car appears to be missing

DSC2
ICM
DKOMBI
AAG 71 - tl_1
ACSM 01 - tl_17 ,tl_33
ATM 61 - tl_11 ,tl_27 ,tl_45
BDC_BODY 40 - tl_6 ,tl_16 ,tl_32
BDC_GW 10 - tl_4 ,tl_14
EGS 18 - tl_22 ,tl_39
FLE 43 - tl_38
FLE 44 - tl_44
FZD 56 - tl_25 ,tl_42
HC2 08 - tl_2 ,tl_3 ,tl_13 ,tl_30
HKFM2 0D - tl_12 ,tl_28 ,tl_46
HU_NBT2 63 - tl_8 ,tl_20 ,tl_36 ,tl_29
ICAM 06 - tl_9 ,tl_21 ,tl_37
KAFAS2 5D - tl_10 ,tl_23 ,tl_40
PMA2 2C - tl_24 ,tl_41
RSE_HIGH_NBT2 26 - tl_5 ,tl_15 ,tl_31
SM2 6E - tl_19 ,tl_35
SM2 6D - tl_26 ,tl_43
ZBE4 67 - tl_7 ,tl_18 ,tl_34

Is that a problem?
They are in your SVT picture:
nholmes wrote

q9RgAD.png
You also need to include HC2.
Appreciate0
04-19-2026
04-19-2026
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
Sorry, I should clarify that in my ECU ID Base window, I do not see those options when attempting to complete step 15 in the E-Sys - Flashing ECU Guide v.1.0.1.pdf

MtsXpT.png

I was going to check the appropriate boxes as called out in the .pdf and noticed they were missing.

Also, is this the best approach for this? I just want to flash my module for my car and then add K235 to the SALAPA-Element.

I'm curious if what I'm doing is even the correct or best approach to do this so it's the least invasive as possible.

Do I need to update the I-Step dates and flash all of these modules?

Apologies if there's something I'm not understanding with flashing and this process, this is all new to me and all of the software is pretty overwhelming for something I'm going to do once so I can start towing with my car.

I won't be coding in the future if I can help it :)
Appreciate0
04-20-2026
04-20-2026
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
Sorry, I should clarify that in my ECU ID Base window, I do not see those options when attempting to complete step 15 in the E-Sys - Flashing ECU Guide v.1.0.1.pdf

I was going to check the appropriate boxes as called out in the .pdf and noticed they were missing.

Also, is this the best approach for this? I just want to flash my module for my car and then add K235 to the SALAPA-Element.

I'm curious if what I'm doing is even the correct or best approach to do this so it's the least invasive as possible.

Do I need to update the I-Step dates and flash all of these modules?

Apologies if there's something I'm not understanding with flashing and this process, this is all new to me and all of the software is pretty overwhelming for something I'm going to do once so I can start towing with my car.

I won't be coding in the future if I can help it :)
They are not in your Flash TAL and they do not have any newer firmware files in your psdzdata than what they already have.

I don't think you need to flash anything. I would add K235 to the SALAPA-Element, then load the modified FA into the coding module and inject CAFD into AAG and VO Code it:

Connect => Read FA (VO) => Activate FA (VO) => Read (ECU) => Left-Click on AAG => Click on "Detect CAF for SWE" => Select the CAFD from latest I-Level shown (bottom one) => Select OK => Right-Click on AAG (the ECU itself not the underlying CAFD) => Select CODE.

Then I would VO all the other ECU's I listed:

Using the same modified FA, Right-Click on each ECU (the ECU itself not the underlying CAFD) => Select CODE.
Appreciate1
04-20-2026
04-20-2026
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
shawnsheridan wrote
They are not in your Flash TAL and they do not have any newer firmware files in your psdzdata than what they already have.

I don't think you need to flash anything. I would add K235 to the SALAPA-Element, then load the modified FA into the coding module and inject CAFD into AAG and VO Code it:

Connect => Read FA (VO) => Activate FA (VO) => Read (ECU) => Left-Click on AAG => Click on "Detect CAF for SWE" => Select the CAFD from latest I-Level shown (bottom one) => Select OK => Right-Click on AAG (the ECU itself not the underlying CAFD) => Select CODE.

Then I would VO all the other ECU's I listed:

Using the same modified FA, Right-Click on each ECU (the ECU itself not the underlying CAFD) => Select CODE.
:thumbsup:

Okay, I'll see if I'm smart enough to figure this out and then report back

I appreciate it

It's hard for me when information is scattered across the internet and various docs reference different software versions or are for different platforms, etc so as soon as I hit something that deviates from what's expected, I freeze haha

:brokenhea
Appreciate0
04-20-2026
04-20-2026
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
:thumbsup:

Okay, I'll see if I'm smart enough to figure this out and then report back

I appreciate it

It's hard for me when information is scattered across the internet and various docs reference different software versions or are for different platforms, etc so as soon as I hit something that deviates from what's expected, I freeze haha

:brokenhea
Understood. Thats why I wrote exaclty what to do.
Appreciate1
7 hours ago
7 hours ago
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
shawnsheridan wrote
nholmes wrote
Sorry, I should clarify that in my ECU ID Base window, I do not see those options when attempting to complete step 15 in the E-Sys - Flashing ECU Guide v.1.0.1.pdf

I was going to check the appropriate boxes as called out in the .pdf and noticed they were missing.

Also, is this the best approach for this? I just want to flash my module for my car and then add K235 to the SALAPA-Element.

I'm curious if what I'm doing is even the correct or best approach to do this so it's the least invasive as possible.

Do I need to update the I-Step dates and flash all of these modules?

Apologies if there's something I'm not understanding with flashing and this process, this is all new to me and all of the software is pretty overwhelming for something I'm going to do once so I can start towing with my car.

I won't be coding in the future if I can help it :)
They are not in your Flash TAL and they do not have any newer firmware files in your psdzdata than what they already have.

I don't think you need to flash anything. I would add K235 to the SALAPA-Element, then load the modified FA into the coding module and inject CAFD into AAG and VO Code it:

Connect => Read FA (VO) => Activate FA (VO) => Read (ECU) => Left-Click on AAG => Click on "Detect CAF for SWE" => Select the CAFD from latest I-Level shown (bottom one) => Select OK => Right-Click on AAG (the ECU itself not the underlying CAFD) => Select CODE.

Then I would VO all the other ECU's I listed:

Using the same modified FA, Right-Click on each ECU (the ECU itself not the underlying CAFD) => Select CODE.
I'm busy M-F so I can only chip away at this project on the weekends.
Okay so I got as far as
Connect => Read FA (VO) => Activate FA (VO) => Read (ECU) => Left-Click on AAG => Click on "Detect CAF for SWE"
and then I get this error:

cgmLy8.png
This is where I was trying to do all of this:

JP2qc5.png
Wow the forums are drastically different from last week lol

Anyway, I did confirm I have the full version of the psdzdata, do I need to mess with the i-step target?
Appreciate0
7 hours ago
7 hours ago
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
shawnsheridan wrote
They are not in your Flash TAL and they do not have any newer firmware files in your psdzdata than what they already have.

I don't think you need to flash anything. I would add K235 to the SALAPA-Element, then load the modified FA into the coding module and inject CAFD into AAG and VO Code it:

Connect => Read FA (VO) => Activate FA (VO) => Read (ECU) => Left-Click on AAG => Click on "Detect CAF for SWE" => Select the CAFD from latest I-Level shown (bottom one) => Select OK => Right-Click on AAG (the ECU itself not the underlying CAFD) => Select CODE.

Then I would VO all the other ECU's I listed:

Using the same modified FA, Right-Click on each ECU (the ECU itself not the underlying CAFD) => Select CODE.
I'm busy M-F so I can only chip away at this project on the weekends.
Okay so I got as far as
Connect => Read FA (VO) => Activate FA (VO) => Read (ECU) => Left-Click on AAG => Click on "Detect CAF for SWE"
and then I get this error:

cgmLy8.png
This is where I was trying to do all of this:

JP2qc5.png
Wow the forums are drastically different from last week lol

Anyway, I did confirm I have the full version of the psdzdata, do I need to mess with the i-step target?
You need to flash AAG then:

E-Sys - Flashing Guide v.1.0.1.pdf:
https://mega.nz/#!p9JQhAwZ!JJ9ptw8Titz8tZbLobnZ61g5uAJjkJcnSUvG81nYMsw

Understand that for a non factory fitted ECU, its I-Step Shipment is most likely not the same as the car's I-Step Shipment. The correct I-Step Shipment is one where the ECU being flashed has HWEL in svt_soll that is Black, not Red / Blue.

So after you calculate SVT Target (SVT_soll), check the box that says "HW-IDs from SVTactual" and then Save it. If HWEL is Black only, no Red / Blue HWEL, then you can proceed to flash it.
Appreciate0
6 hours ago
6 hours ago
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
Okay, so we're back to this part?
  1. On ID Base Row for HU_CIC, CMB_MEDIA, KOMBI and ZGWcheck 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)
Sorry, I should clarify that in my ECU ID Base window, I do not see those options when attempting to complete step 15 in the E-Sys - Flashing ECU Guide v.1.0.1.pdf

AAG, BDC_BODY, DSC2, ICM, FZD, ICAM, PMA2, DKOMBI, HU_NBT2 and HC2.
They are not in your Flash TAL and they do not have any newer firmware files in your psdzdata than what they already have.
I'll go through this part again from earlier with your comments. Appreciate the help! Still trying to grok all of this. :)
Appreciate0
6 hours ago
6 hours ago
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
Okay, so we're back to this part?
  1. On ID Base Row for HU_CIC, CMB_MEDIA, KOMBI and ZGWcheck 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)
Sorry, I should clarify that in my ECU ID Base window, I do not see those options when attempting to complete step 15 in the E-Sys - Flashing ECU Guide v.1.0.1.pdf

AAG, BDC_BODY, DSC2, ICM, FZD, ICAM, PMA2, DKOMBI, HU_NBT2 and HC2.
They are not in your Flash TAL and they do not have any newer firmware files in your psdzdata than what they already have.
I'll go through this part again from earlier with your comments. Appreciate the help! Still trying to grok all of this. :)
Just flash AAG, nothing more.
Appreciate1
6 hours ago
6 hours ago
nholmes user avatar
nholmes
Track Whore
550 REP
1.7K POSTS
shawnsheridan wrote
Just flash AAG, nothing more.
Okay, so I went through the guide again and it looks like the AAG boxes are greyed out and I cannot select them to flash them?

M35Rbz.png
Oh wait, do I have to select it in the ALL column first?
Appreciate0
1 hour ago
1 hour ago
shawnsheridan user avatar
shawnsheridan
Supreme Allied Commander
United_States
13,562 REP
50.8K POSTS
nholmes wrote
shawnsheridan wrote
Just flash AAG, nothing more.
Okay, so I went through the guide again and it looks like the AAG boxes are greyed out and I cannot select them to flash them?

M35Rbz.png
Oh wait, do I have to select it in the ALL column first?
Did you try checking the boxes for blFlash, swDeploy, and cdDeploy?
Appreciate0