Did you know that an RGB code (Red, Green, Blue) may be used to represent any color on a screen? This code is made up of three values ranging from 0 to 255 that indicate the amount of red, green, and blue utilized to replicate the color. For example, consider the RGB code for:
- Red is (255,0,0)
- Green is (0,255,0)
- Blue is (0,0,255)
- Yellow is (255,255,0)
- Orange is (255,165,0)
Graphic designers and software programmers sometimes opt to utilize a hexadecimal RGB code in which each of the three decimal values is translated into a two-digit hexadecimal code, culminating in a six-digit (32) hexadecimal code. Consider the following example:
- Red is #FF000
- Green is #00FF00
- Blue is #0000FF
- Yellow is #FFFF00
- Orange is #FFA500
Now, if you want to change the color or color combination of your BMW’s ambient lighting, you can use these values to get any color you want. As long as it is made of red, blue, and green.
Ok, that was an easy part, and here comes the complex one.
Depending on the BMW model (G30, G30LCI, G20, G01, etc.) and the software version (I-Level) the values and combination can differ. Here’s the example for the G30.
You’ll find the ambient lightning settings in the BDC control module, and you’ll need to FDL code them after editing.
BDC_BODY3
Color definitions 360A / LIC_LCI_COLOR_LIBRARY_DATA
Color combinations 360D / LIC_LCI_COLOR_PROFILES_DATA
Color definitions in 360A (All colors are output in RGB hex codes #RRGGBB):
Color | HEX CODE | Number |
WHITE | 90 E9 90 | 00 |
BRONZE | D7 6E 14 | 01 |
ORANGE | 93 1A 01 | 02 |
BLUE | 00 20 FE | 03 |
GREEN | 10 FE 32 | 04 |
PURPLE | 78 3C FE | 05 |
Thus, the list at 360A results in the following colors (bolded) to be changed, as desired:
00, 17, 01, 90, E0, 90, FF, 02, 90, E0, 90, 00, 03, 90, E0, 90, FF, 01, D7, 6E,
14, FF, 02, D7, 6E, 14, 00, 03, D7, 6E, 14, FF, 01, 93, 1A, 01, FF, 02, 93, 1A,
01, 00, 03, 93, 1A, 01, FF, 01, 00, 20, FE, FF, 02, 00, 20, FE, 00, 03, 00, 20,
FE, FF, 01, 10, FE, 32, FF, 02, 10, FE, 32, 00, 03, 10, FE, 32, FF, 01, 78, 3C,
FE, FF, 02, 78, 3C, FE, 00, 03, 78, 3C, FE, FF, 02, 00, 00, 00, FE, 01, 00, 00,
00, FF, 02, 00, 00, 00, 00, 03, 00, 00, 00, FF, 01, 96, 00, 00, FF, FF, FF, FF,
FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF,
FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF
For example, if you want to change the BRONZE color to red you must first convert the RGB decimal value to the RGB hexadecimal value.
So, the hexadecimal value for RED is FF 00 00, and here’s the code with red replacing bronze (D7 6E 14 replaced with FF 00 00).
00, 17, 01, 90, E0, 90, FF, 02, 90, E0, 90, 00, 03, 90, E0, 90, FF, 01, FF, 00,
00, FF, 02, FF, 00, 00, 00, 03, FF, FF, 00, FF, 01, 93, 1A, 01, FF, 02, 93, 1A,
01, 00, 03, 93, 1A, 01, FF, 01, 00, 20, FE, FF, 02, 00, 20, FE, 00, 03, 00, 20,
FE, FF, 01, 10, FE, 32, FF, 02, 10, FE, 32, 00, 03, 10, FE, 32, FF, 01, 78, 3C,
FE, FF, 02, 78, 3C, FE, 00, 03, 78, 3C, FE, FF, 02, 00, 00, 00, FE, 01, 00, 00,
00, FF, 02, 00, 00, 00, 00, 03, 00, 00, 00, FF, 01, 96, 00, 00, FF, FF, FF, FF,
FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF,
FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF, FF
Besides the color definition, you can also change the color combination:
BRONZE | 01/01 |
BRONZE/WHITE | 01/00 |
ORANGE | 02/02 |
ORANGE/WHITE | 02/00 |
BLUE | 03/03 |
BLUE/WHITE | 03/00 |
GREEN | 04/04 |
GREEN/WHITE | 04/00 |
PURPLE | 05/05 |
PURPLE/WHITE | 05/00 |
This results in the original list at 360D:
01, 01, 01, 00, 02, 02, 02, 00, 00, 00, 03, 03, 03, 00, 04, 04, 04, 00, 05, 05, 05, 00
PURPLE/WHITE Profiles to RED/BLUE PROFILE Example:
360A: change the color BRONZE to RED, see list above
360D: change PURPLE/WHITE (05, 00) to RED/BLUE (01, 03).
01, RED – 360A.
03, BLUE – 360A.
360D should then look like this:
01, 01, 01, 00, 02, 02, 02, 00, 00, 00, 03, 03, 03, 00, 04, 04, 04, 00, 05, 05, 01, 03
RGB to Hex basic color table
Color | Color name | (R,G,B) | Hex |
---|---|---|---|
Black | (0,0,0) | #000000 | |
White | (255,255,255) | #FFFFFF | |
Red | (255,0,0) | #FF0000 | |
Lime | (0,255,0) | #00FF00 | |
Blue | (0,0,255) | #0000FF | |
Yellow | (255,255,0) | #FFFF00 | |
Cyan | (0,255,255) | #00FFFF | |
Magenta | (255,0,255) | #FF00FF | |
Silver | (192,192,192) | #C0C0C0 | |
Gray | (128,128,128) | #808080 | |
Maroon | (128,0,0) | #800000 | |
Olive | (128,128,0) | #808000 | |
Green | (0,128,0) | #008000 | |
Purple | (128,0,128) | #800080 | |
Teal | (0,128,128) | #008080 | |
Navy | (0,0,128) | #000080 |
I’ll update this article soon as I try to code the separate layers in more vehicles. Stay tuned.
I’m a G30 owner with the BDC_BODY2 module, which does not include the 360A and 360D settings. I have to code each color layer in the 3074 LciMasterColor setting. Do you know where I can find the function to change the color combinations in BDC_BODY2, analogous to the 360D setting in BDC_BODY3?