BMW i4 Forum banner

Bimmercode for i4 - steps followed coding first time

42K views 188 replies 61 participants last post by  Banjy 
#1 · (Edited)
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.
 
See less See more
1
#2 ·
#3 ·
MVP!
 
  • Like
Reactions: Sesh Kami
#6 ·
@Sesh Kami, you gave me the confidence to try this tonight...and it works like a charm! As soon as I hit a 4-lane highway, a car was coming at me, and that side switched of high beam, but the rest stayed illuminated. Brilliant!

I did get hung up for awhile, though, because the parameters you identify are hiding behind 3 different sections when one enters Expert mode for Body Domain Controller (BDC)...it took awhile to find them. For the benefit of others, here's where to find those parameters:

Font Material property Number Screenshot Rectangle
 
#9 ·
@bobkalka thank you for good catch. The table is much clearer. If you are OK with it, I will update OP with your table.
 
  • Like
Reactions: ssh and bobkalka
#7 ·
Amazing post! Thank you for this! I'd love to see posts about using eSys, etc. I want to enable traffic lights/stop sign recognition and automatic speed changes when I get my i4
 
  • Like
Reactions: kipsate
#12 ·
NICE! Seems easy to do :D
 
#14 ·
Weird question. Anyone else experienced a problem where the alarm keeps going off after making the Laserlight coding changes?

I made the 12 changes in the BDC as specified here, and now after locking, about a minute or so later the alarm will go off.

I have locked and unlocked,turned the caron and back off, and it still does it.

Haven’t tried restoring the backup yet, but that’s next. Everything else seems to be fine?
 
  • Wow
Reactions: bobkalka
#150 ·
Weird question. Anyone else experienced a problem where the alarm keeps going off after making the Laserlight coding changes? I made the 12 changes in the BDC as specified here, and now after locking, about a minute or so later the alarm will go off. I have locked and unlocked,turned the caron and back off, and it still does it. Haven’t tried restoring the backup yet, but that’s next. Everything else seems to be fine?
The alarm issue happened to me too. But… I had accidentally left the obd adapter plugged in 😂 Unplugged it and no more alarm.
 
#15 ·
And the headlight coding is definitely working. Very impressive, and moves these headlights above any other vehicle I’ve had, for sure.

On the other hand, I’m afraid of getting out of the car and locking it in case the alarm goes off. 😀
 
#16 ·
Update - took it for a drive, and now it seems to be fine. I didn’t make any other changes or restore anything. Assuming it stays fine overnight and I don’t get awoken by a siren, I’ll assume a weird quirk. 😀
 
#17 ·
Sometimes a turn off and back on will clear that stuff.
 
#18 ·
I just coded the Bowers & Wilkins sound settings and I like the result!! I also deactivated the warning at start-up.

A question for anyone who has looked at this ... the box for daytime running lights wasn't checked but I thought they were mandatory for the North American market. What happens if the box is checked?

Thanks!
 
#19 ·
I just coded the Bowers & Wilkins sound settings and I like the result!! I also deactivated the warning at start-up.

A question for anyone who has looked at this ... the box for daytime running lights wasn't checked but I thought they were mandatory for the North American market. What happens if the box is checked?

Thanks!
Nice! Me too Re B&W - some suggestions: Optimizing hk
 
#21 ·
I just did the headlight coding today (without issue). I used the OBDlink CX bluetooth adapter.

One note for the directions. When I connect to the car with bimmercode the dash has a notification that says something like "Diagnostic Mode". And all of the coding worked fine.

So the instruction for G series cars to hit the power button three times may not apply.
 
#23 ·
One thing I was curious about, prior to downloading Bimmercode, was how much I could do with it.
Below is a list of all the "Basic" options that are available to me (as well as my current setting). I am using the OBDLink CX on my 2023 i4M50. ~ I would highly recommend Bimmercode. Very quick and Painless & anti-dazzle lights were easy enough to put in, thanks to this forum.
~ Hopefully this is of use to someone :)

Advanced Crash Safety Module
  • PDC/Top View Distance switch-off threshold 100m
  • PDC/Top View Speed switch-off threshold 35 Kmh
  • Rear View Camera Distance Switch-off threshold 100m
  • Rear View Camera speed switch-off threshold 20 Kmh
  • Seat belt reminder Driver Seat
  • Seat belt indicator driver Seat Active
  • Seat belt reminder Passenger Seat
  • Seat belt indicator Passenger Seat Active
  • Initial Seat belt reminder after start Not Active
Body Domain Controller
  • Ambient Lighting Colour Blue-Magenta
  • Ambient Lighting Colour Blue-Magenta
  • Ambient Lighting Colour Bottom Blue-Magenta
  • Ambient Lighting Colour Upper Blue-Magenta
  • Brake Force Display Activation Speed 20 KM/h
  • Brake Force Display Activation Force Weak 5m/s
  • Horn Signal when locking car with Engine Running Active
  • Time until Automatic Unlock 2 Mins
  • Window Lifter Interruption when opening Door Active
  • Default Driving Mode
  • Rain-Light Sensor Sensitivity Normal
  • Hazard warning signal after emergency braking Active
  • Fog Lights off with High Beam Not Active
  • Fog Lights off with Parking Break Not Active
  • Exterior Lighting Switch-off allowed Not Active
  • Automatic Light Control Active in Position A
  • Automatic Mirror Tilt Active
  • Automatic Mirror Tilt Value 60%
  • Unfold Mirrors with Convenient Opening Active
  • Front Seat Temperature Level 3 48 C
  • Boot Lid Opening Delay No Delay
  • Open Tailgate after Unlock Only Not Active
Headunit
  • Checkbox Acoustical Lock Confirmation Active
  • Max Volume at Start-up 25%
  • Bowers & Wilkins Sound Settings Active
  • Checkbox daytime running light Active
  • Volume Popup Active
  • Tire Pressure Control Temp & PSI
  • One Touch turn signal five times Active
  • Video Via USB Not Active
  • Warning at Startup Not Active
  • Camera Warning
  • Night Vision Warning
Power Tailgate Module
  • Tailgate Function when Pushing the Button in the Interior Open and Close
  • Tailgate Function when Pulling the Button in the Interior Close
  • Close Tailgate with Button in the Interior without Long Press Active
  • Tailgate Function Remote Control Open and Close
  • Close Tailgate with the remote control without long press Active
  • Warning Sound when closing the Tailgate with Remote Active
  • Warning Sound when closing the tailgate from the interior Active
Receiver Audio Module
  • Active Sound Design Not Active
Roof Function Center
  • Acoustical Lock / Unlock Confirmation Active
  • Confirmation Sound Volume Normal
  • Confirmation Sound Frequency Low
  • Confirmation Sound Duration Normal
  • Alarm Sound USA
  • Interior Motion Detection Active
  • OBD Alarm Active
Seat Module Driver
  • Seat Heating / Cooling Setting Memory Do Not Save
 
#24 ·
One thing I was curious about, prior to downloading Bimmercode, was how much I could do with it.
Below is a list of all the "Basic" options that are available to me (as well as my current setting). I am using the OBDLink CX on my 2023 i4M50. ~ I would highly recommend Bimmercode. Very quick and Painless & anti-dazzle lights were easy enough to put in, thanks to this forum.
~ Hopefully this is of use to someone :)

Advanced Crash Safety Module
  • PDC/Top View Distance switch-off threshold 100m
  • PDC/Top View Speed switch-off threshold 35 Kmh
  • Rear View Camera Distance Switch-off threshold 100m
  • Rear View Camera speed switch-off threshold 20 Kmh
  • Seat belt reminder Driver Seat
  • Seat belt indicator driver Seat Active
  • Seat belt reminder Passenger Seat
  • Seat belt indicator Passenger Seat Active
  • Initial Seat belt reminder after start Not Active
Body Domain Controller
  • Ambient Lighting Colour Blue-Magenta
  • Ambient Lighting Colour Blue-Magenta
  • Ambient Lighting Colour Bottom Blue-Magenta
  • Ambient Lighting Colour Upper Blue-Magenta
  • Brake Force Display Activation Speed 20 KM/h
  • Brake Force Display Activation Force Weak 5m/s
  • Horn Signal when locking car with Engine Running Active
  • Time until Automatic Unlock 2 Mins
  • Window Lifter Interruption when opening Door Active
  • Default Driving Mode
  • Rain-Light Sensor Sensitivity Normal
  • Hazard warning signal after emergency braking Active
  • Fog Lights off with High Beam Not Active
  • Fog Lights off with Parking Break Not Active
  • Exterior Lighting Switch-off allowed Not Active
  • Automatic Light Control Active in Position A
  • Automatic Mirror Tilt Active
  • Automatic Mirror Tilt Value 60%
  • Unfold Mirrors with Convenient Opening Active
  • Front Seat Temperature Level 3 48 C
  • Boot Lid Opening Delay No Delay
  • Open Tailgate after Unlock Only Not Active
Headunit
  • Checkbox Acoustical Lock Confirmation Active
  • Max Volume at Start-up 25%
  • Bowers & Wilkins Sound Settings Active
  • Checkbox daytime running light Active
  • Volume Popup Active
  • Tire Pressure Control Temp & PSI
  • One Touch turn signal five times Active
  • Video Via USB Not Active
  • Warning at Startup Not Active
  • Camera Warning
  • Night Vision Warning
Power Tailgate Module
  • Tailgate Function when Pushing the Button in the Interior Open and Close
  • Tailgate Function when Pulling the Button in the Interior Close
  • Close Tailgate with Button in the Interior without Long Press Active
  • Tailgate Function Remote Control Open and Close
  • Close Tailgate with the remote control without long press Active
  • Warning Sound when closing the Tailgate with Remote Active
  • Warning Sound when closing the tailgate from the interior Active
Receiver Audio Module
  • Active Sound Design Not Active
Roof Function Center
  • Acoustical Lock / Unlock Confirmation Active
  • Confirmation Sound Volume Normal
  • Confirmation Sound Frequency Low
  • Confirmation Sound Duration Normal
  • Alarm Sound USA
  • Interior Motion Detection Active
  • OBD Alarm Active
Seat Module Driver
  • Seat Heating / Cooling Setting Memory Do Not Save
Just bought my compatible adapter.

I have a Carly adapter for my E70 and a legacy version of Carly that does not require subscription. For diagnosis Carly is great. Not so much for coding obscure stuff.

I'll pay for Bimmercode when the car gets here



Waiting for my M50......
 
#27 ·
Has anyone figured out other parameters to put the lights to full EU brightness?
 
#30 ·
This is what I use. Faster and more reliable for sure. I do it on my iPad for strange reasons (USB-C on the iPad and I have a USB-C Ethernet adapter, plus my iPad isn't connected to the car for CarPlay, etc. so it won't mistakenly connect even if I mess something up in the process).
 
#34 ·
When you code the anti dazzle, is there anything that has to be changed in idrive? do you see any indication of that function on the display screen at night?
 
#35 ·
I have not noticed anything, but I haven't looked, either.
 
#36 · (Edited)
Do you just leave automatic high beams on and let it take care of itself?
 
  • Like
Reactions: linerjoe
#38 ·
There's nothing to indicate it, except that you'll see that your brights will come on at ~48 mph+ and stay on, even with cars in front of you. And you can easily see the lights changing (lowering) with oncoming traffic, etc.
 
  • Like
Reactions: bobkalka
#37 ·
I don't see anything in the directions about what steps to follow when you're finished coding. At what point can you remove the device and do you have to do anything after that? Also, did anyone verify whether you have to press the start button 3 times in the beginning?
 
#39 ·
Right now the auto brights only come on if it's very dark or I'm on a long road, etc. They don't turn on while on a busy freeway. Is that the same with the anti dazzle or are you saying the brights will now always turn on and just constantly adjust? (seems like there are plenty of situations where I wouldn't need the brights on like a really well lit road)
 
#40 ·
In my experience, yes. Brights will now basically always come on over 48 MPH, just aimed down so as not to blind people. I don't even really notice it now, just let it do it's thing. I've only been flashed once, and it was around a turn, where the anti-dazzle hadn't dimmed yet (and if I was just using normal auto-brights, it would have been on as well).
 
  • Like
Reactions: generic.user
#41 ·
why over 48mph? Most of the time if you're driving somewhere dark you're going slower than that
 
#42 ·
I don't know why 48 mph, but that's what it does on mine.

I don't know if it's the C_HBA_GFHBA_ENA_V_HI, which is set to "standard" per the instructions here (whereas it was 55 km/h prior). So maybe it can adjusted?
 
#43 ·
Note: mine isn't always on. When the roadway is very well lit, it stays the green bulb with A. As it gets darker, the brights come on and the indicator changes to the blue.
 
  • Like
Reactions: pjbm4 and dudenjen
#44 ·
and does that happen even if you are driving slower? Not coming on until 48mph doesn't make any sense, that's pretty fast for a 2 lane country road at night.
 
Top