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 v1.0.0 (build 615) + a 4k UART bootloader.
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.
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.
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)