Bimmercode for i4 - steps followed coding first time | Page 13 | BMW i4 Forum
BMW i4 Forum banner
241 - 260 of 283 Posts
I pulled together the below steps for my i4. I wanted to share it here for anyone who would like to try the first time.
It is very straightforward. I printed these to have next to me in the car for the first time coding. having a printed sheet for anti-dazzle was important so I didn't make an error.
****
BimmerCode Instructions for i4:

Manual: BimmerCode for BMW and Mini - Manual
Standard stuff: BimmerCode for BMW and Mini - BMW 4 Series, M4
OBD Adaptor: OBDLink CX

Basic Mode:
Each of the control units has several coding features. These are self-explanatory, pick the one you like and code. Some examples are:
Warning at start-up
Bowers & Wilkins sound settings
Trunk open/close with remote
One-touch turn signal 5 times
Welcome Light in darkness only
many other using basic mode with less risk.



To enable anti-dazzle lights (Expert mode):
You will see a warning when expert mode is used. I have applied the ones below to enable anti-dazzle and it's working.
(Updated: Thank you @bobkalka for the table below)
Material property Font Number Screenshot

Changes to the following parameters would provide basic anti dazzle: C_HBA_DIM_ENA, C_HBA_GFHB_ENA, LUT_FLC_FORWARDLIGHTING_Y
for Improved performance apply the remaining parameters.


Instructions below are from Bimmercode.app website.

Connection
Please follow the instructions listed here in order to prevent external interference during coding and avoid problems.

Preparing your car
  1. Turn on the ignition in the car. For G-Series cars the diagnostic mode has to be activated additionally (press the start button in the car three times in quick succession without pushing the brake or clutch pedal).
  2. Ensure that no gear is engaged (selector lever position P for cars with automatic transmission) and that the parking brake is on.
  3. Make sure all electrical consumers (lights, heating, ventilation etc.) are turned off.
  4. Disconnect or disable any third party hardware installed to the car that is connected to the CAN bus (e.g. JB4, rear view camera, exhaust flap control), because the communication may be interfered and coding may fail in this case.
  5. The headunit has to be in its original state. If you used a third party solution to enable CarPlay or the navigation has been unlocked, these changes have to be reverted, because BimmerCode will not allow coding the headunit otherwise. Retrofitted iDrive systems may also not be accessible under certain circumstances.

With iOS device:

Bluetooth adapter connection
  1. Plug in the adapter into the OBD port in the footwell on the driver side in the car.
  2. Enable the Airplane mode on the iOS device.
  3. Turn on Bluetooth on the iOS device.
  4. For OBDLink MX+ users: This adapter has to be paired with the iOS device as described here.
  5. Turn off Wi-Fi on the iOS device.
  6. Disable CarPlay in the iOS settings (“Settings” > “General” > “CarPlay” > Select car > Disable “CarPlay”).
  7. Disconnect the iOS device in the iDrive settings in the car (“COM” > “Mobile devices” > Select the device > “Disconnect device”).
  8. Disconnect any additional Bluetooth connections to other devices.
  9. Keep the distance between the iOS device and the adapter as short as possible.
  10. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  11. Tap “Connect” on the start screen in the BimmerCode app.
Coding:

There are two different ways to code your car: The basic mode allows you to code the most popular coding options in an easy and convenient way and the expert mode is intended for experienced users that are already familiar with coding and have special knowledge. In general expert mode is not required and all popular options are available in the basic mode.

Coding in basic mode:
  1. Connect to the car as described in the chapter ”Connecting”.
  2. Select the type of your car from the displayed list and tap ”Connect”
  3. The control units in the car are identified now and a list of all supported control units is displayed afterwards.
  4. Select a control unit from the list.
  5. Make the desired changes for the selected control unit. You can find a list of the supported coding options for your car here.
  6. Tap ”Code” to start the coding process.
  7. The coding process will start and a message will be displayed on success.

Coding in expert mode:

Using expert mode incorrectly can cause serious problems in the car. This feature is intended for experienced users with special knowledge only and the use is at your own risk.
  1. Connect to the car as described in the chapter ”Connecting”.
  2. Select a control unit from the list.
  3. Activate expert mode by selection ”Expert mode”.
  4. Make the desired changes for the selected control unit.
  5. Tap ”Code” to start the coding process.

After coding:
  • After coding the car may display errors, but there is no need to worry. This is totally normal and the errors will disappear after a short period of time when you turn the ignition off and on again.
  • Depending on the control unit you may have to set the time again and restore user defined settings in the iDrive system in the car.
  • When coding the instrument cluster the average consumption is reset and the remaining range may display an unusual value. This will normalize itself after some driving cycles.
  • After coding the instrument cluster the outside temperature may display an unusual value. This will normalize itself after some time.

Coding failure:

If an error occurs during coding, please proceed as follows:
  • Close the connection, restart the iOS or Android device and the adapter (disconnect and reconnect).
  • Open BimmerCode and connect as described in the chapter ”Connecting”. Please exactly follow these instructions in order to prevent external interference during coding and avoid problems.
  • Select the specific control unit. If coding data is invalid this is marked with a red dot.
  • Restore the coding data using a backup as described in the chapter ”Backups”.
  • If coding fails continuously, please contact support using the “Support request” in the settings in the app.
I coded these changes onto my 2023 i4 M50 and I don’t see anti-dazzle to be operative for some reason. I have the high beams auto option on. They turn on when necessary but completely turn off when it detects an oncoming vehicle. After I pass that vehicle, it goes back on.

I’m on iDrive 8.0. I double-checked and I coded all the changes exactly like listed by OP. Any ideas what I might’ve done wrong?
 
I coded these changes onto my 2023 i4 M50 and I don’t see anti-dazzle to be operative for some reason. I have the high beams auto option on. They turn on when necessary but completely turn off when it detects an oncoming vehicle. After I pass that vehicle, it goes back on.

I’m on iDrive 8.0. I double-checked and I coded all the changes exactly like listed by OP. Any ideas what I might’ve done wrong?
I believe the above is missing a few other options you need to change. I used to following to enable them:

For the FML2 section, there is a module for each headlight (left and right)… so you do that step twice in total

BDC_BODY3 > LUT_FLC_FORWARDLIGHTING_Y > no_AFS to AFS
BDC_BODY3 > C_BLC_PRE_ENA > Disable to Enable
BDC_BODY3 > C_AFS_ENA > Disable to Enable
BDC_BODY3 > C_AFS_ECO_LEVEL_3_ENA > Disable to Enable
BDC_BODY3 > LUT_AFS_DRV_VERT > G22_Laser_US to G011/G22_Laser_ECE
BDC_BODY3 > C_CLC_CURV_V3 > US to ECE
BDC_BODY3 > C_CLC_CURV_V2 > US to ECE
BDC_BODY3 > C_HBA_GFHBA_ENA_V_HI > 55km/h to standard (I would leave this at 55km or 49km, standard turns it on way less)
BDC_BODY3 > LUT_AFS_CODRV_HOR > Laser_US/G007_US to Standard/init
BDC_BODY3 > LUT_AFS_DRV_HOR > Laser_US to F040_G050_AHL/G015_G020_Laser
BDC_BODY3 > C_CLC_EXT_ENA > Disable [00] to enable_roundabout[01]
BDC_BODY3 > C_HBA_DIM_ENA > Disable to Enable
BDC_BODY3 > C_HBA_GFHB_ENA > Disable to Enable
FLM2 > Lmm1_Data > Wert_2 to Wert_1
FLM2 > Lmm2_Data > Wert_2 to Wert_0
FLM2 > Staging2_Data > Wert_2 to Wert_1
KAFAS4 > C_FLA_US_SENSITIVITY_MODE > US to Normal [00]
KAFAS4 > C_FLA_BS_ENTER_THRESH > US to Rest of world [03]
KAFAS4 > C_FLA_BS_EXIT_THRESH > US to Rest of world [02]
KAFAS4 > COUNTRY_VARIATION Europe_RC [01]

...and VO code out the S5AP if you have BimmerUtility

I got it from this original post: BimmerUtility on i4
 
I believe the above is missing a few other options you need to change. I used to following to enable them:

For the FML2 section, there is a module for each headlight (left and right)… so you do that step twice in total

BDC_BODY3 > LUT_FLC_FORWARDLIGHTING_Y > no_AFS to AFS
BDC_BODY3 > C_BLC_PRE_ENA > Disable to Enable
BDC_BODY3 > C_AFS_ENA > Disable to Enable
BDC_BODY3 > C_AFS_ECO_LEVEL_3_ENA > Disable to Enable
BDC_BODY3 > LUT_AFS_DRV_VERT > G22_Laser_US to G011/G22_Laser_ECE
BDC_BODY3 > C_CLC_CURV_V3 > US to ECE
BDC_BODY3 > C_CLC_CURV_V2 > US to ECE
BDC_BODY3 > C_HBA_GFHBA_ENA_V_HI > 55km/h to standard (I would leave this at 55km or 49km, standard turns it on way less)
BDC_BODY3 > LUT_AFS_CODRV_HOR > Laser_US/G007_US to Standard/init
BDC_BODY3 > LUT_AFS_DRV_HOR > Laser_US to F040_G050_AHL/G015_G020_Laser
BDC_BODY3 > C_CLC_EXT_ENA > Disable [00] to enable_roundabout[01]
BDC_BODY3 > C_HBA_DIM_ENA > Disable to Enable
BDC_BODY3 > C_HBA_GFHB_ENA > Disable to Enable
FLM2 > Lmm1_Data > Wert_2 to Wert_1
FLM2 > Lmm2_Data > Wert_2 to Wert_0
FLM2 > Staging2_Data > Wert_2 to Wert_1
KAFAS4 > C_FLA_US_SENSITIVITY_MODE > US to Normal [00]
KAFAS4 > C_FLA_BS_ENTER_THRESH > US to Rest of world [03]
KAFAS4 > C_FLA_BS_EXIT_THRESH > US to Rest of world [02]
KAFAS4 > COUNTRY_VARIATION Europe_RC [01]

...and VO code out the S5AP if you have BimmerUtility

I got it from this original post: BimmerUtility on i4
I can’t access FLM2 or KAFAS4 on bimmercode. Are those codes necessary?
 
So I'd like to show my car some love and I have a long drive coming up next week at night. What am I missing out by not coding with BimmerUtility vs BimmerCode. Per earlier comments in this chain, people were able to get laser lights coded with BimmerCode but now that isn't the case. I'm trying to figure out if it is worth buying BummerUtility.
 
So I'd like to show my car some love and I have a long drive coming up next week at night. What am I missing out by not coding with BimmerUtility vs BimmerCode. Per earlier comments in this chain, people were able to get laser lights coded with BimmerCode but now that isn't the case. I'm trying to figure out if it is worth buying BummerUtility.
You can partially get there using only BimmerCode. It's just not the one for one as the lights operate in the EU (as design intended). FLM2 makes changes in the headlight modules and KAFAS4 makes changes in the intergrated camera. BimmerUtility just has deeper ability to code the car. You don't have to buy it, you just won't have the full functionality.
 
Thanks for this i will check my parameters as I coded the antidazzle and dont like it as it keeps on high beams even if a car is in front of me. Ehat i notice is that the high beams come on when is really dark and does not care for the cars in front. Not sure if the highbeam lights level down but dont seem to me.
 
I recently picked up BU and I confess I was a little frustrated to start. Literally ZERO documentation for this product. After piecing together quite a bit of information from various (crappy and poorly explained) youtube videos, I think I have a stumbling usage of some of the one-click coding options, but it's not an easy tool at all to use. To code the colors of the ambient lighting was very unintuitive. I was able to get rid of the legal disclaimers, change the ambient lighting, enable 5 blink lane change, enable comfort plus, disable the belt warnings, and a handful of other things I thought were mildly neat. But not some of the higher priority stuff I intended, like Xtra Boost and anti-dazzle - arguably the most important things to me. I see there is a long list of codes that enable anti-dazzle and did not try these yet because I saw another post on bimmerpost that talked about a one-step anti-dazzle enable, which I didn't find. Also saw no mention of Xtra boost at all.

I'm inclined to make a video just to help folks, but I feel like such a rank amateur that I'm not even sure if I'd be screwing things up. Frankly, some very basic things elude me, like "do I need to enable the 'log in in expert mode' option?" and the fact that some sources say you need to start in service mode, which is reached by pressing start/stop 3 times - this did not seem to do anything for me, and just turning the car on with a single push seemed to work fine.
 
I recently picked up BU and I confess I was a little frustrated to start. Literally ZERO documentation for this product. After piecing together quite a bit of information from various (crappy and poorly explained) youtube videos, I think I have a stumbling usage of some of the one-click coding options, but it's not an easy tool at all to use. To code the colors of the ambient lighting was very unintuitive. I was able to get rid of the legal disclaimers, change the ambient lighting, enable 5 blink lane change, enable comfort plus, disable the belt warnings, and a handful of other things I thought were mildly neat. But not some of the higher priority stuff I intended, like Xtra Boost and anti-dazzle - arguably the most important things to me. I see there is a long list of codes that enable anti-dazzle and did not try these yet because I saw another post on bimmerpost that talked about a one-step anti-dazzle enable, which I didn't find. Also saw no mention of Xtra boost at all.

I'm inclined to make a video just to help folks, but I feel like such a rank amateur that I'm not even sure if I'd be screwing things up. Frankly, some very basic things elude me, like "do I need to enable the 'log in in expert mode' option?" and the fact that some sources say you need to start in service mode, which is reached by pressing start/stop 3 times - this did not seem to do anything for me, and just turning the car on with a single push seemed to work fine.
I for one would love a video tutorial, but only if you want too!! There is also a Reddit i4 forum as well that could be helpful but I understand Reddit can sometimes be polarizing.
 
Yay and Boo. I so I got my ODB and used Bimmercode.
1) I was able to change the sound of the arm/disarm. Its quieter now. But not sure if I like the interior sound my car makes.
2) I couldn't change the volume of the reverse SONAR sound. It irks me to no end. Only the 2024 does that LOUD sonar sound.
3) I changed the length of time my cameras stay on so I can use them in the parking lot more.
4) I was able to code in the antidazzle using the info at the start of this thread.
BUT, I have the same issue as some where it turns on/off the high beams on left and right sides when there's no car on the the sides. BUT I don't think it turns off/on on individual vehicles. Is that where I would need to program extra stuff for left and right side lights?
I'm not near my car atm, can Bimmercode do those in expert mode?
 
Yay and Boo. I so I got my ODB and used Bimmercode.
1) I was able to change the sound of the arm/disarm. Its quieter now. But not sure if I like the interior sound my car makes.
2) I couldn't change the volume of the reverse SONAR sound. It irks me to no end. Only the 2024 does that LOUD sonar sound.
3) I changed the length of time my cameras stay on so I can use them in the parking lot more.
4) I was able to code in the antidazzle using the info at the start of this thread.
BUT, I have the same issue as some where it turns on/off the high beams on left and right sides when there's no car on the the sides. BUT I don't think it turns off/on on individual vehicles. Is that where I would need to program extra stuff for left and right side lights?
I'm not near my car atm, can Bimmercode do those in expert mode?
Did you do all of the following? The initial post left a few things out. You also need FLM2 (headlight modules) and KAFAS4 (Camera module)

For the FML2 section, there is a module for each headlight (left and right)… so you do that step twice in total

BDC_BODY3 > LUT_FLC_FORWARDLIGHTING_Y > no_AFS to AFS
BDC_BODY3 > C_BLC_PRE_ENA > Disable to Enable
BDC_BODY3 > C_AFS_ENA > Disable to Enable
BDC_BODY3 > C_AFS_ECO_LEVEL_3_ENA > Disable to Enable
BDC_BODY3 > LUT_AFS_DRV_VERT > G22_Laser_US to G011/G22_Laser_ECE
BDC_BODY3 > C_CLC_CURV_V3 > US to ECE
BDC_BODY3 > C_CLC_CURV_V2 > US to ECE
BDC_BODY3 > C_HBA_GFHBA_ENA_V_HI > 55km/h to standard (I would leave this at 55km or 49km, standard turns it on way less)
BDC_BODY3 > LUT_AFS_CODRV_HOR > Laser_US/G007_US to Standard/init
BDC_BODY3 > LUT_AFS_DRV_HOR > Laser_US to F040_G050_AHL/G015_G020_Laser
BDC_BODY3 > C_CLC_EXT_ENA > Disable [00] to enable_roundabout[01]
BDC_BODY3 > C_HBA_DIM_ENA > Disable to Enable
BDC_BODY3 > C_HBA_GFHB_ENA > Disable to Enable
FLM2 > Lmm1_Data > Wert_2 to Wert_1
FLM2 > Lmm2_Data > Wert_2 to Wert_0
FLM2 > Staging2_Data > Wert_2 to Wert_1
KAFAS4 > C_FLA_US_SENSITIVITY_MODE > US to Normal [00]
KAFAS4 > C_FLA_BS_ENTER_THRESH > US to Rest of world [03]
KAFAS4 > C_FLA_BS_EXIT_THRESH > US to Rest of world [02]
KAFAS4 > COUNTRY_VARIATION Europe_RC [01]

...and VO code out the S5AP if you have BimmerUtility
 
  • Like
Reactions: Neon001
Is that only found with BU? I have only BC.
Yes. I was only able to access them via BU. I used BC for all the BDC options originally. But BU has deeper integration than BC, therefore it can do way more.
 
Is it at least faster using the Wi-Fi adapter? I know with the BC Bluetooth adapter it takes like almost 2 minutes just to load some of the files.
And this will work and setting up the adaptive laserlights where itll individually blackout cars that are in front of you, but still light up the rest of the road.
For BU iPhone app, it does everything that the pc version of the app does? With the WiFi obd adapter?

Yes. I was only able to access them via BU. I used BC for all the BDC options originally. But BU has deeper integration than BC, therefore it can do way more.
 
Is it at least faster using the Wi-Fi adapter? I know with the BC Bluetooth adapter it takes like almost 2 minutes just to load some of the files.
And this will work and setting up the adaptive laserlights where itll individually blackout cars that are in front of you, but still light up the rest of the road.
For BU iPhone app, it does everything that the pc version of the app does? With the WiFi obd adapter?
Yes, the phone version can do pretty much everything the PC version can do, from what I've seen. I did all of my programming from the app.

I'd recommend an Ethernet OBD2 cable and a lightning or USB-C (depending on your phone) Ethernet adapter. There are many options, but I used this cable | https://www.amazon.com/dp/B07V3C47YD | and this adapter | https://www.amazon.com/dp/B077KXY71Q |. Wi-Fi will be faster than BT, but Ethernet will be the fastest and most reliable.

The BU website has the instruction on how to use them. It's very easy to get connected.
 
So I would need to order both and I should be able to connect to my iPhone with the usb-c cable. And buy the BU software.
Correct. Connect the OBD2 to the car, Ethernet end of the OBD2 cable to the adapter Ethernet port, adapter USB-C port to your phone.

Here are the instructions: https://www.bimmerutility.com/suppo...08234-7094-47f7-b23c-d4af76da2696&appDefId=14c92d28-031e-7910-c9a8-a670011e062d

You can click "View all" after to see the rest of the instructions on that page.
 
241 - 260 of 283 Posts