Coding Anti-Dazzle and Variable Light Distribution

BMW i3 Forum

Help Support BMW i3 Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
alohart said:
The computer scientist in me concludes that VO (Vehicle Order) coding is top-level coding that could change the values of multiple coding parameters in multiple modules, something that BimmerCode cannot do.


alohart –

I love your post and the thought process behind it!

Might the reason you're not seeing results because input from KAFAS (camera system) is needed for the adaptive lights to work?
 
mojo said:
alohart said:
I've read descriptions of adaptive headlights not being adaptive in brighter conditions and at slower speeds.

That's certainly true of mine - if I drive into an area with streetlights then the main beams automatically turn off - and then turn back on again automatically when the ambient light level drops.

Howdy mojo!

As you're referencing "main beams" I think you're somewhere in the UK:

main beams (UK) = high beams (US)
dip beams (UK) = low beams (US)

I think the above is accurate but please reply with corrections.
 
Yes indeed - two countries divided by a single language!

That's correct - by main I mean high.

I must admit I've been impressed by the "adaptive" high/main beams. It may be a simple system, but it seems to work well, and I suspect the simplicity may lead to better long-term reliability compared to the systems that, for example, Mercedes Benz use, with shutters that are electromechanically moved about...
 
frictioncircle said:
Might the reason you're not seeing results because input from KAFAS (camera system) is needed for the adaptive lights to work?
Yes, a KAFAS camera is required, and our i3 has one. I just don't drive much at night on dark roads at speeds above 35 mph. I drive almost exclusively on urban and suburban roads with bright street lights, so I hadn't tested the coding changes … until last night.

I drove a bit out of Honolulu to darker roads with higher speed limits. Having never driven a European i3 with the latest adaptive headlights, I did not know exactly what to expect. With the headlight switch in automatic position and the high-beam assistant button pressed to activate high-beam assistant and illuminate the high-beam assistant icon on the instrument panel, I watched the headlights switch between low and high beams automatically as indicated by the high-beam icon on the instrument panel just as they had done before my coding changes. However, I occasionally witnessed something that I had never seen before: the high-beam icon remained on while approaching a vehicle ahead in my lane as well as when a vehicle was approaching from the opposite direction. After the vehicle from the opposite direction had passed, the dark area in the opposing lane illuminated without any change in the high-beam icon and without illuminating the rear of the vehicle ahead. I'm certain that one or more of the left-most segments of one or both headlights turned on automatically while some segments in the middle remained off or dimmed. No approaching cars flashed their headlights indicating that they probably weren't being blinded by my high-beam headlights. I don't understand why most of the time, the high-beam headlights turned completely on or off whereas some of the time, they remained on but with various LED segments off or dimmed.

This certainly wasn't as dramatic as this video of Audi's matrix LED headlights which seem near overkill: https://youtu.be/F4-iwuzAey4
I wouldn't pay $125 to have this behavior enabled via remote VO coding, but it's nice to have as a result of only 3 parameter value changes made using BimmerCode.

Please report any results after you've made these coding changes.
 
alohart said:
I drove a bit out of Honolulu to darker roads with higher speed limits. Having never driven a European i3 with the latest adaptive headlights, I did not know exactly what to expect. With the headlight switch in automatic position and the high-beam assistant button pressed to activate high-beam assistant and illuminate the high-beam assistant icon on the instrument panel, I watched the headlights switch between low and high beams automatically as indicated by the high-beam icon on the instrument panel just as they had done before my coding changes. However, I occasionally witnessed something that I had never seen before: the high-beam icon remained on while approaching a vehicle ahead in my lane as well as when a vehicle was approaching from the opposite direction. After the vehicle from the opposite direction had passed, the dark area in the opposing lane illuminated without any change in the high-beam icon and without illuminating the rear of the vehicle ahead. I'm certain that one or more of the left-most segments of one or both headlights turned on automatically while some segments in the middle remained off or dimmed. No approaching cars flashed their headlights indicating that they probably weren't being blinded by my high-beam headlights. I don't understand why most of the time, the high-beam headlights turned completely on or off whereas some of the time, they remained on but with various LED segments off or dimmed.

WOW that's encouraging, thank you alohart! I will try these settings out on my i3s with bimmercode and report back.
 
UPDATE! I coded my i3s several months ago with the coding provided by alohart above. I’m excited to report that it definitely works! I finally ended up in a driving situation where I could use them. The highbeams are much smarter now, you can see that they stay on far longer and try their hardest to keep the shoulder-side highs on as much as possible to light signs/shoulder/ditch while at the same time turning off the driver side lights to not blind oncoming cars. The best way to describe them is I now have low/mid/high beams, rather than just low/high. Since our lights only have 4 segments per side they aren’t as dynamic as the multi-element matrix lights that BMW/Audi/MB have now but these definitely improve rural road/highway driving, I’m very happy to finally have these active! I need to go out for a semi-foggy/hazy night drive so i can better see the beams.
 
UPDATE! I coded my i3s several months ago with the coding provided by alohart above. I’m excited to report that it definitely works!
Great! I, too, have recently driven again on dark roads at night above 35 mph. My headlights automatically switched to high beams and remained on high despite approaching slower vehicles ahead and meeting vehicles in the opposite lane. In both situations, I could see areas illuminated by the high beams go dark when blinding a driver ahead would occur otherwise. Illumination returned when no driver would be blinded. I can't see the headlights, so I don't know exactly what's happening. I assume that LED segments are turning off and on. I haven't noticed segments getting brighter or dimmer, but that might be happening as well.

I don't know what would occur if I approached a slower vehicle ahead at the same time as meeting a vehicle in the opposite lane. To avoid blinding the driver of the vehicle ahead, I would think that at least the center two headlight segments would need to turn off or maybe dim considerable. To avoid blinding the driver in the vehicle in the opposite lane, the leftmost segment would need to turn off. That might leave only the rightmost segment on which might not be sufficient to see the pavement ahead. If anyone has a reference to the behavior of these adaptive headlights in all situations, please post this reference.

I can't be certain that the 3 coding changes that I made have resulted in the exact behavior that European i3 owners with adaptive headlights would experience. However, the changes have certainly enabled at least some of the behaviors that these adaptive headlights can express.
 
To avoid blinding the driver of the vehicle ahead, I would think that at least the center two headlight segments would need to turn off or maybe dim considerable. To avoid blinding the driver in the vehicle in the opposite lane, the leftmost segment would need to turn off. That might leave only the rightmost segment on which might not be sufficient to see the pavement ahead.
I don't have any reference material that explains exactly how they are designed to work (BMW don't tend to publish info at that level of detail, in my experience) but I've seen exactly that behaviour in my factory headlights.

Following a car, the system will detect the rear lights of the car in front, and turn off the relevant segment(s), and will detect an oncoming car and turn off the appropriate segment(s) for that, which will often just leave the nearside illumination on. Provided you're not going too fast or driving too close, it's fine because of course the dipped (low) beams stay on all of the time anyway.

I've never observed any of the segments dimming - as far as I can tell, they are either on or off. I guess it's possible that they dim to a level that's below my threshold of visibility (from inside the car) but TBH I can't see why they would bother to add that level of complexity.
 
In the UK - AFAIK we have the same adaptive/active setup as the rest of Europe (except of course that we drive on the wrong side of the road).
 
What you described is exactly what mine was doing… I was first on a 4-lane divided highway, so I was coming up behind cars and trucks with the highs on, it would shut off the centre area of the beam and not blast light into their rear view mirror, but still keep the shoulder lighting on high and far so i could read every sign. As I pulled out to pass them the lights would go right down to low/dipped beam because they were now in the shoulder-lighting beam, as soon as I got side-by-side with them it would pop the highs on again to light the right hand lane for me to move over into. All the while I had oncoming cars across a grass median and the driver side headlight was doing its own thing dipping down to not send blinding light to the other side of the highway, It was a fun dance to watch all the way home on our hour long drive. After exiting the highway i drove a couple kms on an unlit rural road with oncoming cars at 80-90kmh and the lights kept doing their thing, no one flashed me. 🤩
 
Following a car, the system will detect the rear lights of the car in front, and turn off the relevant segment(s), and will detect an oncoming car and turn off the appropriate segment(s) for that, which will often just leave the nearside illumination on. Provided you're not going too fast or driving too close, it's fine because of course the dipped (low) beams stay on all of the time anyway.
I didn't realize that the low beams remain on while the high beam segments are switching on and off to avoid dazzling drivers ahead. That makes sense. Thanks for your good explanation!
 
... The best way to describe them is I now have low/mid/high beams, rather than just low/high. ... I need to go out for a semi-foggy/hazy night drive so i can better see the beams.

Sorry for failing to post feedback/thoughts sooner!

I activated the BDC_body module settings above and have seen similar, new lighting effects with auto high beams activated. They're like gradations of high-beam intensity compared to the binary low/high settings of before. That KAFAS camera is workin' harder!

But I've yet to see any light "blocking," those dark lighting footprints emblematic of matrix lighting. What if what we North American i3 drivers are seeing with these three coding changes is the non-"decoded", e.g. activated Variable Light Decoding (8S4) system that BMW intended — but NOT matrix lighting?

I suspect, though have no proof other than different lighting part numbers, that there are not just software differences between North American and European headlight modules. There are likely significant hardware differences as well. I'd be curious to hear others' thoughts.

Here is footage of a 2019+ i3 120ah driving in foggy conditions in Denmark. The high beams point around the car in front and turn off for oncoming traffic. After making the three coding changes, I have seen similar lighting-intensity effects, though the light beams on my i3 aren't as focused. It's unclear if this is variable light distribution/high-beam assistant, matrix lighting, or both.




Here is footage of Bjorn Nyland driving an i3 120ah on a twisty road at night.



At the 7:38 mark, I can see the upper-right quadrant go dark after the KAFAS either mistakes the reflection of the diamond-shaped street sign as an oncoming headlight and/or "sees" the tail lights of the car ahead. (You can hear him react to the beam darkening.) I have yet to see any kind of blocking footprint in the LED headlights of my North American 2020 i3 120ah with Tech Package.
 
Last edited:
Sorry for failing to post feedback/thoughts sooner!

I activated the BDC_body module settings above and have seen similar, new lighting effects with auto high beams activated. They're like gradations of high-beam intensity compared to the binary low/high settings of before. That KAFAS camera is workin' harder!

But I've yet to see any light "blocking," those dark lighting footprints emblematic of matrix lighting. What if what we North American i3 drivers are seeing with these three coding changes is the non-"decoded", e.g. activated Variable Light Decoding (8S4) system that BMW intended — but NOT matrix lighting?

I suspect, though have no proof other than different lighting part numbers, that there are not just software differences between North American and European headlight modules. There are likely significant hardware differences as well. I'd be curious to hear others' thoughts.

Here is footage of a 2019+ i3 120ah driving in foggy conditions in Denmark. The high beams point around the car in front and turn off for oncoming traffic. After making the three coding changes, I have seen similar lighting-intensity effects, though the light beams on my i3 aren't as focused. It's unclear if this is variable light distribution/high-beam assistant, matrix lighting, or both.




Here is footage of Bjorn Nyland driving an i3 120ah on a twisty road at night.



At the 7:38 mark, I can see the upper-right quadrant go dark after the KAFAS either mistakes the reflection of the diamond-shaped street sign as an oncoming headlight and/or "sees" the tail lights of the car ahead. (You can hear him react to the beam darkening.) I have yet to see any kind of blocking footprint in the LED headlights of my North American 2020 i3 120ah with Tech Package.

My guess would be it’s harder to see the blocking and cutoff of the lights because of our fuzzier NA lights, they just don’t have the same sharpness that euro lights do thanks to the FMVSS regs.
 
I went looking for a good description of VLD, it’s for low beams only apparently: BMW M2 Forum - View Single Post - Adaptive LED Headlamps
I wonder whether that's a description of older BMW headlight technology. This description was posted in 2018, before i3's with the Tech package got adaptive LED headlights. This description doesn't mention LED segments that can turn on and off which is clearly happening with adaptive headlights that have the North American restrictions removed.

Also, I've seen no evidence that an i3's low beams can pan left and right as earlier BMW headlights could do. Apparently, if VLD is enabled, putting a BMW in drive with the headlights on in automatic mode should pan the left headlight to the left whereas shifting to reverse should pan the left headlight to the right. I'll have to pay more attention to figure out whether that's happening.
 
I wonder whether that's a description of older BMW headlight technology. This description was posted in 2018, before i3's with the Tech package got adaptive LED headlights. This description doesn't mention LED segments that can turn on and off which is clearly happening with adaptive headlights that have the North American restrictions removed.

Also, I've seen no evidence that an i3's low beams can pan left and right as earlier BMW headlights could do. Apparently, if VLD is enabled, putting a BMW in drive with the headlights on in automatic mode should pan the left headlight to the left whereas shifting to reverse should pan the left headlight to the right. I'll have to pay more attention to figure out whether that's happening.
First, thank you for the execellent write up on coding the lights. I just did mine and actually noticed some new behavior in "auto". I saw some light pattern changes with, only once so far, where the beam pattern changed but the high beam blue indicator stayed on with an oncoming car. More testing soon.

Also, in my 330e, and my Lexus hybrid with adaptive LED's, they both panned to the left and right on corners, and up and down for hills and loads. I don't think the i3 pans left and right and I don't know where this idea comes from.

But then again, I'm still trying to figure out which light comes on on the corners. Is it the turn signal indicator turning on white, or is it the little square reflector inside the light itself?
 
I just did mine and actually noticed some new behavior in "auto". I saw some light pattern changes with, only once so far, where the beam pattern changed but the high beam blue indicator stayed on with an oncoming car. More testing soon.
Yes, the high-beam indicator can remain on even when approaching another vehicle from behind or meeting another vehicle in the opposite lane. Apparently, this doesn't occur when the road is well-illuminated by street lights or when driving below a certain speed. These requirements can make testing adaptive headlights more difficult.
Also, in my 330e, and my Lexus hybrid with adaptive LED's, they both panned to the left and right on corners, and up and down for hills and loads. I don't think the i3 pans left and right and I don't know where this idea comes from.
Apparently, older BMW's or maybe some current European models have headlights that can physically pan horizontally side-to-side as the steering wheel turns. I haven't read of this happening with any i3 model, though.
But then again, I'm still trying to figure out which light comes on on the corners. Is it the turn signal indicator turning on white, or is it the little square reflector inside the light itself?
If you look closely at the edge of the headlight closest to the car's centerline, the cornering light can be seen (see attached photo of left-side i3 adaptive LED headlight). It turns on when the steering wheel is turned with the headlights on, maybe only below a certain speed.

f6fa92fa42c4ac0a58e8fc2d6663.jpeg
 
Thanks for that. I actually used a pair of welding goggles and tried to get a look inside the headlight lens to see how many segment it has. That was after I determined that both high and low beams come from the same lens. This is the first car I ever owned that did that. All others had a separate high beam lens and bulb.

I had her turn the wheel, and that's when I saw the cornering lamp come on, when all along I thought it was the high beam.

Looking inside the lens, it's hard to tell how many LED chips are in there due to the magnification. But I know more turn on with high beam, and the whole lens pans upward slightly and back down on low beam.
 
Back
Top