Skip to main content
BlueBus provides extensive UI customization options to match your preferences and vehicle configuration.

Language

Set the display language for BlueBus menus and messages. EEPROM address: 0x21 (CONFIG_SETTING_LANGUAGE_ADDRESS)

Supported languages

Auto
0x00
Automatically detect language from vehicle settingsValue: CONFIG_SETTING_LANGUAGE_AUTO
Dutch
0x01
NederlandsValue: CONFIG_SETTING_LANGUAGE_DUTCH
English
0x02
EnglishValue: CONFIG_SETTING_LANGUAGE_ENGLISH
Finnish
0x03
SuomiValue: CONFIG_SETTING_LANGUAGE_FINNISH
French
0x04
FrançaisValue: CONFIG_SETTING_LANGUAGE_FRENCH
German
0x05
DeutschValue: CONFIG_SETTING_LANGUAGE_GERMAN
Norwegian
0x06
NorskValue: CONFIG_SETTING_LANGUAGE_NORWEGIAN
Russian
0x07
РусскийValue: CONFIG_SETTING_LANGUAGE_RUSSIAN
Spanish
0x08
EspañolValue: CONFIG_SETTING_LANGUAGE_SPANISH
Swedish
0x09
SvenskaValue: CONFIG_SETTING_LANGUAGE_SWEDISH
Estonian
0x0A
EestiValue: CONFIG_SETTING_LANGUAGE_ESTONIAN
Italian
0x0B
ItalianoValue: CONFIG_SETTING_LANGUAGE_ITALIAN
Polish
0x0C
PolskiValue: CONFIG_SETTING_LANGUAGE_POLISH
Language strings are managed through the locale system. The locale string for microphone gain is defined as LOCALE_STRING_MIC_GAIN (29) at locale.h:42.

Temperature display

Choose which temperature sensor to display in the OBC (On-Board Computer) view. EEPROM address: 0x20 (lower nibble) (CONFIG_SETTING_BMBT_TEMP_DISPLAY_ADDRESS)
Coolant
0x01
Display engine coolant temperatureValue: CONFIG_SETTING_TEMP_COOLANT
Ambient
0x02
Display outside ambient temperatureValue: CONFIG_SETTING_TEMP_AMBIENT
Oil
0x03
Display engine oil temperatureValue: CONFIG_SETTING_TEMP_OIL
The temperature display setting is stored in the lower nibble (4 bits) of the EEPROM byte:
// Reading (config.c:456)
uint8_t ConfigGetTempDisplay()
{
    return ConfigGetByteLowerNibble(CONFIG_SETTING_BMBT_TEMP_DISPLAY);
}

// Writing (config.c:884)
void ConfigSetTempDisplay(uint8_t tempDisplay)
{
    ConfigSetByteLowerNibble(CONFIG_SETTING_BMBT_TEMP_DISPLAY, tempDisplay);
}

Temperature units

Set the temperature unit for all temperature displays. EEPROM address: 0x20 (upper nibble) (CONFIG_SETTING_BMBT_TEMP_DISPLAY_ADDRESS)
Celsius
0x00
Display temperatures in degrees Celsius (°C)Value: CONFIG_SETTING_TEMP_CELSIUS
Fahrenheit
0x01
Display temperatures in degrees Fahrenheit (°F)Value: CONFIG_SETTING_TEMP_FAHRENHEIT
The temperature unit setting is stored in the upper nibble (4 bits) of the same byte as temperature display:
// Reading (config.c:470)
uint8_t ConfigGetTempUnit()
{
    return ConfigGetByteUpperNibble(CONFIG_SETTING_BMBT_TEMP_DISPLAY);
}

// Writing (config.c:898)
void ConfigSetTempUnit(uint8_t tempUnit)
{
    ConfigSetByteUpperNibble(CONFIG_SETTING_BMBT_TEMP_DISPLAY, tempUnit);
}
Temperature conversion is performed automatically when displaying OBC data:
// From menu_singleline.c:234
if (ConfigGetTempUnit() == CONFIG_SETTING_TEMP_FAHRENHEIT) {
    coolant = (coolant * 9 / 5) + 32;
    if (oil != 0) {
        oil = (oil * 9 / 5) + 32;
    }
}

Distance units

Configure the distance unit for speed and distance displays. EEPROM address: 0x23 (upper nibble) (CONFIG_SETTING_BMBT_DIST_UNIT_ADDRESS) This setting is stored in the upper nibble of the byte and controls whether distances are shown in kilometers or miles.

Metadata mode

Control how music track information is displayed on the screen. EEPROM address: 0x1D (CONFIG_SETTING_METADATA_MODE_ADDRESS)
Off
0x00
No metadata is displayedValue: MENU_SINGLELINE_SETTING_METADATA_MODE_OFF
Party
0x01
Display metadata in party mode with continuous scrollingValue: MENU_SINGLELINE_SETTING_METADATA_MODE_PARTY
Chunk
0x02
Display metadata in chunks that update periodicallyValue: MENU_SINGLELINE_SETTING_METADATA_MODE_CHUNK
Party Single
0x03
Display metadata in party mode for single-line displaysValue: MENU_SINGLELINE_SETTING_METADATA_MODE_PARTY_SINGLE
Static
0x04
Display static metadata without scrollingValue: MENU_SINGLELINE_SETTING_METADATA_MODE_STATIC
The metadata mode affects how track titles, artists, and album names are shown during playback.

BMBT default menu

Set which menu appears by default when accessing BlueBus on BoardMonitor displays. EEPROM address: 0x1E (CONFIG_SETTING_BMBT_DEFAULT_MENU_ADDRESS) Options may include:
  • Main menu (Dashboard, Devices, Settings)
  • Direct to Dashboard view
  • Direct to Device Selection
  • Direct to Settings

BMBT dashboard OBC

Configure what information is shown on the BMBT dashboard view. EEPROM address: 0x1F (CONFIG_SETTING_BMBT_DASHBOARD_OBC_ADDRESS) This setting determines which OBC (On-Board Computer) data is displayed on the BoardMonitor dashboard screen.

Monitor off timeout

Set the timeout period before the display turns off when idle. EEPROM address: 0x22 (CONFIG_SETTING_MONITOR_OFF_ADDRESS) Configure how long the display stays on when there is no user interaction.

UI mode detection

The UI mode is automatically detected based on which display modules are present on the I-Bus. EEPROM address: 0x0F (CONFIG_UI_MODE_ADDRESS)

Available UI modes

CD53
1
Radio display with 11-character textValue: CONFIG_UI_CD53
BMBT
2
BoardMonitor graphical displayValue: CONFIG_UI_BMBT
MID
3
Multi-Information Display with 24-character textValue: CONFIG_UI_MID
MID + BMBT
4
Combined MID and BoardMonitor setupValue: CONFIG_UI_MID_BMBT
MIR
5
Multi-Information Radio displayValue: CONFIG_UI_MIR
IRIS
6
Navigation display interfaceValue: CONFIG_UI_IRIS
The detected UI mode is read with:
// Reading (config.c:561)
uint8_t ConfigGetUIMode()
{
    return ConfigGetByte(CONFIG_UI_MODE_ADDRESS);
}

// Writing (config.c:1029)
void ConfigSetUIMode(uint8_t uiMode)
{
    ConfigSetByte(CONFIG_UI_MODE_ADDRESS, uiMode);
}
The UI mode affects text length limits, menu layout, and available features. For example, MID displays support 24 characters while CD53 displays only support 11 characters. The menu system automatically adapts to the detected UI mode.
Changing the temperature unit setting affects all temperature displays immediately. The OBC view automatically converts coolant and oil temperatures using the formula (Celsius × 9/5) + 32 for Fahrenheit.

Build docs developers (and LLMs) love