KBA_BT_0608: Factory programmed firmware of Bluetooth devices
08/221/2018 | 12:28 PM
Bluetooth capable SoCs (EFR32BG and EFR32MG devices) normally come without a preprogrammed firmware from the factory. However, Bluetooth modules (like BGM111, BGM121, etc.) are preprogrammed with a default firmware. This article discusses what firmware the different modules have when they are shipped from the factory. Note that the default firmware is in most cases not suitable for production use due to limitations mentioned later in this article.
These modules come with a default NCP firmware including Bluetooth stack v2.0.2 + a 16k UART bootloader.
Newer modules (like BGM13P)
The default (factory programmed) firmware is listed in the datasheet of the module under Ordering Information. Pin configuration is also added to the datasheet.
The pin configuration can be consulted from each of the device's datasheets, in the typical connection diagrams chapter, Host UART figure.
GATT database of factory firmwares
The factory firmwares include a default GATT database with default services like Generic Access service. In most applications you will need some custom characteristics added to the GATT database. The GATT database of the device can be updated only by upgrading the device firmware. You can do this either by using the bootloader of the device or by flashing the new firmware to the device.
Bootloaders of factory firmwares
The modules listed in the first two rows of the table are preprogrammed with a legacy UART bootloader (not Gecko UART Bootloader). These bootloaders have limited capabilities:
The legacy bootloader are not able to upgrade themselves
Due to these limitations it is always recommended to expose the programming pins on your custom board, and flash the devices with the latest Gecko Bootloader + latest Bluetooth stack. (On new devices pre-programmed with Gecko bootloader you can use the Gecko Bootloader to upgrade both the firmware and itself)
KBA_BT_0608: Factory programmed firmware of Bluetooth devices
Bluetooth capable SoCs (EFR32BG and EFR32MG devices) normally come without a preprogrammed firmware from the factory. However, Bluetooth modules (like BGM111, BGM121, etc.) are preprogrammed with a default firmware. This article discusses what firmware the different modules have when they are shipped from the factory. Note that the default firmware is in most cases not suitable for production use due to limitations mentioned later in this article.
Factory firmwares
BGM111A256V2R
BGM111E256V2
BGM111E256V2R
BGM113A256V2
BGM113A256V2R
These modules come with a default NCP firmware including Bluetooth stack v1.0.0 (build 615) + a 4k UART bootloader.
BGM111A256V21
BGM111A256V21R
BGM111E256V21
BGM111E256V21R
BGM113A256V21
BGM113A256V21R
BGM121A256V2
BGM121A256V2R
BGM121N256V2
BGM121N256V2R
BGM123A256V2
BGM123A256V2R
BGM123N256V2
BGM123N256V2R
BGM11S12F256GA-V2
BGM11S12F256GA-V2R
BGM11S22F256GA-V2
BGM11S22F256GA-V2RThese modules come with a default NCP firmware including Bluetooth stack v2.0.2 + a 16k UART bootloader.
The pin configuration can be consulted from each of the device's datasheets, in the typical connection diagrams chapter, Host UART figure.
GATT database of factory firmwares
The factory firmwares include a default GATT database with default services like Generic Access service. In most applications you will need some custom characteristics added to the GATT database. The GATT database of the device can be updated only by upgrading the device firmware. You can do this either by using the bootloader of the device or by flashing the new firmware to the device.
Bootloaders of factory firmwares
The modules listed in the first two rows of the table are preprogrammed with a legacy UART bootloader (not Gecko UART Bootloader). These bootloaders have limited capabilities:
Due to these limitations it is always recommended to expose the programming pins on your custom board, and flash the devices with the latest Gecko Bootloader + latest Bluetooth stack. (On new devices pre-programmed with Gecko bootloader you can use the Gecko Bootloader to upgrade both the firmware and itself)