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:

Factory Firmware Versions

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


Date CodeVersionBoot loaderDescription
before 18411.0.880.1880Initial production
1841 and later1.0.927.2927Production update (PCN link)
1909 and later1.0.927.21261Security update (PCN link)
2006 and later1.2.2376.11261Maintenance Release


Date CodeVersionBoot loaderDescription
any1.2.2045.01261Initial production
2006 and later1.2.2376.11261Maintenance Release


Date CodeVersionBoot loaderDescription
any1.3.2482.02452Initial production


Date CodeVersionBoot loaderDescription
before 19091.0.927.1927Initial production
1909 and later1.0.927.21261Security update (PCN link)
2006 and later1.2.2376.11261Maintenance Release


Date CodeVersionBoot loaderDescription
any1.2.2045.01261Initial production
2006 and later1.2.2376.11261Maintenance Release


Date CodeVersionBoot loaderDescription
any1.3.2653.22452Initial 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.


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

777Set maximum bonding limit to 12.
778Fixed 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

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

Bug fixes and improvements

395Modified how "save" command writes to flash storage.
399Fixed issue where connection could hang when transmitting data at very high speeds.
402Fixed issue where "Success\r\n" response to "uartu" command could be corrupted when baud rate is 4800 bps.
405Fixed issue where full-duplex BLE data could cause connection to hang and timeout.
406Fixed issue where a BLE disconnect could cause the UART to stop receiving data if the baud rate was at 9600 bps or lower.
414Modest throughput improvement when "ce w m" = "noack".
417Fixes issue where "con" command immediately failed with a "Timeout" response.
709Fixes 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

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

Bug fixes and improvements

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

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

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

Bug fixes and improvements

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

1.0.927.2 (2018-08-03)

Bug fixes and improvements

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

1.0.880.1 (2018-06-21)

Initial production release.