Bluetooth Xpress Firmware Release Notes

Silicon Labs Bluetooth Xpress devices BGX13S and BGX13P contain firmware that can be updated. These signed and encrypted firmware updates can be pulled from Silicon Labs' server using the BGX Commander mobile app. More information about BGX Commander can be found at the following link:


Your own mobile apps can also pull updates using the BGXpress framework, which is described at:

/gecko-os/1/bgxhost/framework/latest/index .

Factory Firmware Versions

The following tables shows the production firmware version per part number:


Date Code Version Boot loader Description
before 1841 1.0.880.1 880 Initial production
1841 and later 1.0.927.2 927 Production update (PCN link)
1909 and later 1.0.927.2 1261 Security update (PCN link)
2006 and later 1.2.2376.1 1261 Maintenance Release


Date Code Version Boot loader Description
any 1.2.2045.0 1261 Initial production
2006 and later 1.2.2376.1 1261 Maintenance Release


Date Code Version Boot loader Description
any 1.3.2482.0 2452 Initial production


Date Code Version Boot loader Description
before 1909 1.0.927.1 927 Initial production
1909 and later 1.0.927.2 1261 Security update (PCN link)
2006 and later 1.2.2376.1 1261 Maintenance Release


Date Code Version Boot loader Description
any 1.2.2045.0 1261 Initial production
2006 and later 1.2.2376.1 1261 Maintenance Release


Date Code Version Boot loader Description
any 1.3.2653.2 2452 Initial production

Note: Firmware versions prior to 1.2.2045.0 are not supported on BGX13S22GA-V31/R and BGX13P22GA-V31/R.

BGX Firmware Version vs. Silicon Labs BLE Stack version

Each version of Bluetooth Xpress firmware uses a specific version of the Silicon Labs BLE SDK.

BGX Firmware BLE SDK
1.0.880.2 2.8.1
1.0.927.2 2.8.1
1.1.1524.0 2.10.1
1.2.2045.0 2.12.3
1.2.2376.0 2.12.3
1.3.2482.0 2.13.6
1.3.2653.2 2.13.7

End product qualification with the Bluetooth SIG requires presentation of the QDIDs associated with the Bluetooth components in the product being submitted. BLE SDK versions map to QDID values that can be found in QSG139 here . Please refer to that document for more information regarding SIG qualification.

The list below provides a summary of changes between firmware versions.

1.2.2738.2 (2021-04-01)

Bug fixes and improvements

ID Description
777 Set maximum bonding limit to 12.
778 Fixed issue where UART RTS pin did not assert after exiting sleep mode.

1.3.2653.0 (2020-09-28)

Initial production release of BGX220S.

1.3.2482.0 (2020-06-07)

Initial production release of BGX220P.

1.2.2376.1 (2020-06-09)

New Features

ID Description
408 Add new values to "packet_type" parameter of "dtm" command: "ff", "00", "0f", "55".

Bug fixes and improvements

ID Description
395 Modified how "save" command writes to flash storage.
399 Fixed issue where connection could hang when transmitting data at very high speeds.
402 Fixed issue where "Success\r\n" response to "uartu" command could be corrupted when baud rate is 4800 bps.
405 Fixed issue where full-duplex BLE data could cause connection to hang and timeout.
406 Fixed issue where a BLE disconnect could cause the UART to stop receiving data if the baud rate was at 9600 bps or lower.
414 Modest throughput improvement when "ce w m" = "noack".
417 Fixes issue where "con" command immediately failed with a "Timeout" response.
709 Fixes issue where in very rare cases an asynchronous event may cause a device reset when transitioning from sleep to active mode operation or during serial communication at 9600 baud or lower.

1.2.2045.0 (2019-09-20)

New Features

ID Description
1975 Add Xpress connect feature: Adds new parameter "xpr" to "adv", "con", and "scan" commands. Adds "bl v x i" and "bl v x d" variables.
1977 Large improvement of "ack" write mode throughput. "ack" write mode now achieves throughput rates that are 90% - 95% the speed of "noack" write mode.
2069 Add new command "send". Sends data to the STREAM bus mode.
2256 Add new option "params" to "con" command to display connection parameters of an active connection.
2262 Add new variable "sy r p". Enables password protection for Remote Command Mode.
2427 Add I2C Master interface: Adds new commands "i2crd" and "i2cwr", new variable "i2 b s", and new GPIO functions "i2cm_scl" and "i2cm_sda".
2429 Add new user events: "hi_long", "hi_short", "lo_long", "lo_short", "any", "boot", "con", and "dct".
2462 Add optional RSSI threshold to "scan" command.
2470 Adds support for crystal-less operation on BGX13S-V3 hardware.
2487 Add new variable "sy o p". Enables password protection for Remote Command mode.
2488 Add new option "2" to "sy r e". Places Remote Command Mode in Restricted Mode.
2515 Add Service Changed Indication and GATT Caching features to the GATT database.

Bug fixes and improvements

ID Description
1972 Multiple "ufu_level" user functions can be assigned to the same pin and event with "uevt".
2234 Improved reliability when establishing a connection between two BGX devices.
2340 Fixed issue where the response header to certain "get" commands could report an incorrect response data length.
2446 Adds a new field "sy i s" for advertising/connecting state.
2448 Increase number of user events to 8.
2450 Fixed issue where user function strings that contained quotation marks did not execute correctly.
2473 Remove "GATT Procedure Failed" Response Error Code.
2522 Fixed some radio reliability issues with low RSSI and transmit power settings.
2558 Fixed issue where device occasionally dropped a connection two seconds after connecting and bonding to a new device.

1.1.1524.1 (2019-04-03)

Bug fixes and improvements

ID Description
2217 Previously received UART data is now flushed when switching modes.
2221 Fixed issue where device briefly (~30 ms) advertised after closing an active BLE connection due to a request to enter deep sleep mode.
2229 Console no longer accepts invalid characters as variable values and command parameters.
2243 Fixed issue where "scan" command response header could report an incorrect response data length.
2244 Fixed issue where UART could transmit an invalid character after reception of the "reboot" command.
2304 Fixed issue where acknowledged writes in the Central-to-Peripheral direction took twice as long to complete as acknowledged writes in the Peripheral-to-Central direction.
2320 Connect, advertise, and scan commands can be issued while device is in deep sleep mode.
2327 Fixed issue where con_status_led pin did not blink when device was in deep sleep mode.
2343 Fixed issue where under certain very high throughput data scenarios (2Mbps UART baud rate, 2M or 1M BLE PHY), the BLE connection could hang.
2357 Fixed issue where device would advertise while connected if the connection was established while it was in sleep mode.

1.1.1229.0 (2019-01-14)

New Features

ID Description
1967 Add support for LE Coded PHY.
2012 Add new variable "bl p m" BLE Phy Multiplex. Enables advertising on both 1m and Coded PHY's.
2117 Add new variable "bl v p" BLE adVertising Preference. Selects default mode when automatically starting advertising.
2137 Add options to "clrb" command to allow deletion of selected bonds.
2139 Add new option "off" to "bl e p" BLE Encryption Pairing. Disables all pairing.
2160 "gdis" command automatically reconfigures pins configured as "none" to "stdio".
2214 Add new command "rssi". Returns RSSI value during an active connection.

Bug fixes and improvements

ID Description
1995 Fixed issue where advertising did not start automatically when scanning stopped.
1996 Fixed issue where "str_select" input did not switch out of "remote bus mode".
2007 Updated "con" command to close the connection and return "security mismatch" error for all pairing failures.
2036 "gdis" command verifies that the specified configuration is valid for all pins before re-configuring any pins.
2040 Updated "scan" command to display all device names including shortened names.
2096 Fixed issue where notification of bus mode was not sent if "str_select" was assigned to a pin.
2113 Request for preferred PHY is now made from the central device.
2124 Changed default system product info string (sy i p) from "Blue Gecko Xpress" to "Bluetooth Xpress"
2138 Changed peripheral to accept all pairing requests, even when a bond already exists.
2152 Changed default BLE Encryption Pairing (bl e p) from "secure" to "any".
2162 Updated "con" command to not retry after "Timeout" error.
2174 Fixed issue where central BGX did not return to sleep mode after disconnecting if it was sleeping before connecting.
2182 Updated "con" command to always set scan timing for 100% duty cycle. Updated "scan" command to scale scan timing 3X for the Coded PHY.
2185 Fixed issue where scan low and high durations were swapped.
2189 Fixed issue where "con" command could hang after several failed attempts.
2196 Fixed issue where "str_active" and "str_active_n" pin functions did not work correctly when "str_select" was also assigned.
2202 Fixed issue where device would stay in "remote bus mode" on disconnect if "str_select" was assigned.
2203 Fixed issue where certain GATT procedure errors would cause an active connection to drop.
2204 Fixed issue where data could be dropped when using UART flow control and acknowledged (Indication/Write With Response) BLE writes.
2207 Fixed issue where RTS would come out of reset de-asserted for baud rates less than or equal to 9600 bps.
2212 Fixed issue with UART driver that could result in data corruption at high speeds.
2215 Fixed issue where CTS never asserts if a connection drops while CTS is de-asserted. This had the effect of hanging the UART interface.
2218 Fixed issue where UART flow control stopped working when switching from a baud rate above 9600 bps to a baud rate less than or equal to 9600 bps.
2219 Fixed issue where BGX could stop receiving UART data once its receive buffer filled up at low (<= 9600 bps) baud rates.
N/A "rbmode" command now returns error if changing the mode on the remote device failed.
N/A "adv" and "scan" commands now fail if run while a connection is active.
N/A Fixed issue where "dtm tx start" with packet type "pn9" would always fail.

1.0.927.2 (2018-08-03)

Bug fixes and improvements

ID Description
1933 Updated "save" command to correctly store the "uf u" variable.
1943 Removed NULL character from output of "gges" command.
1957 Fixed issue where "set" command crashed if parameters were longer than 16 characters.

1.0.880.1 (2018-06-21)

Initial production release.