PEmicro Blog

Improved Wireless Stack Support for the STMicroelectronics STM32WB Devices

Feb 16, 2026

With the release of Cyclone software v11.70 and PROG v10.00, PEMicro’s development and production tools now support additional Wireless Stack features for the STM32WB5x, STM32WB3x, and STM32WB1x devices. The latest PROG and Cyclone support now enables selecting .BIN files for the FUS Operator, Wireless Stack, or the FUS FW. A new command has been added to start the wireless stack in case the FUS begins running. In PROGACMP, there is an additional command to read the FUS FW version from the target to determine which FUS FW version to upgrade. 

Instructions on Wireless Stack Support:

Before using our tools, please review ST's wiki article regarding the STM32WB Firmware Upgrade Service (FUS). This details how the FUS support works and the process of upgrading the wireless stack. Additionally, download the necessary files for the target device from the STM32CubeWB STM32WB_Copro_Wireless_Binaries git repo. The FUS Operator files V3.1 are attached for 0x495_FUS_Operator.bin used by the STM32WB5x and STM32WB3x devices and the 0x494_FUS_Operator.bin used by the STM32WB1x devices. For new FUS Operator support if needed, the files can be located in the latest STM32CubeProgrammer support files.


1. Update FUS Firmware:

The first step in the process is to update the FUS Firmware to the latest version. This step is necessary if intending to use the latest Wireless Stack provided by the ST git repo. If using a legacy version of a Wireless stack, then ensure the compatible FUS firmware version is installed for the respective Wireless Stack version.

In PROGACMP, connect to the target, select the main algorithm (i.e. ST_STM32WB55RG_1MB.arp or ST_STM32WB35VC_256kB.arp), and choose the FUS Operator with command 'CF ;Choose FUS Operator File'. Enter the device flash base address, "08000000", for the FUS Operator bin file address and confirm. Next, select the command 'FV ;Get FUS Version' to display the current FUS FW version. The FUS FW Version is shown in the window here after the 'FV' command runs. 

PROGACMP Command with STM32WB55RG to get FUS Firmware:

  • CF 0x495_FUS_Operator.bin 08000000
  • FV Get FUS Version



Once the version is confirmed, the correct FUS FW file can be selected. The following steps to upgrade the FUS FW can be performed on either PROGACMP or in Cyclone Image Creation for SAP images. On the STM32WB5x/3x, the current FUS FW version determines which FUS FW file to select. Starting at FUSv0.5.3, the FUS needs to be upgraded to v1.2.0 then to v2.2.0. using the specified files from the GIT repo. The compatible FUS FW version to upgrade file is detailed in the wiki table for the STM32WB5x/3x. The STM32WB1x is unique where it only needs the stm32wb1x_FUS_fw.bin file to upgrade to the latest support.

Upgrading the FUS FW is handled in the same manor as the wireless stack, so the 'CW Choose Wireless Stack File' command is used with the right FUS FW file selected. The base address for the FUS FW is based on the selected FUS FW file and the target device memory size. 

STM32WB5xSTM32WB5xxG(1M)STM32WB5xxY(640K)STM32WB5xxE(512K)STM32WB5xxC(256K)Version
stm32wb5x_FUS_fw_for_fus_0_5_3.bin0x080EC0000x0809A0000x0807A0000x0803A000V1.0.0
stm32wb5x_FUS_fw_1_2_0.bin0x080EC0000x0809A0000x0807A0000x0803A000V1.2.0
stm32wb5x_FUS_fw.bin0x080EE0000x0809A0000x0807A0000x0803A000V2.2.0


STM32WB3xSTM32WB3x(512K)STM32WB3x(256K)Version
stm32wb3x_FUS_fw_for_fus_0_5_3.bin0x0807A0000x0803A000V1.0.0
stm32wb3x_FUS_fw_1_2_0.bin0x0807A0000x0803A000V1.2.0
stm32wb3x_FUS_fw.bin0x0807A0000x0803A000V2.2.0


STM32WB1xstm32wb1x(320K)Version
stm32wb1x_FUS_fw.bin0x08040000V1

After selecting the FUS FW file and base address, the 'UW ;Upgrade Wireless' command is selected to update the FUS FW. After the upgrade finishes, which can take ~15 seconds, the device might need to updated again if the FUS was originally v0.5.3. If so, select 'CW ;Choose Wireless' again and select the next FUS FW file for v2.2.0 and repeat the upgrade process.

Commands for Upgrading STM32WB55RG FUS Firmware:

  • CF 0x495_FUS_Operator.bin 08000000
  • CW stm32wb5x_FUS_fw_for_fus_0_5_3.bin 080EC000
  • UW Upgrade Wireless Stack
  • CW stm32wb5x_FUS_fw.bin 080EE000
  • UW Upgrade Wireless Stack

The final FUS Firmware version can be verified in PROGACMP with "FV Get FUS Version". For the latest FUS firmware version, the returned value should be version 2.2.0. If any issues occur while upgrading, see the troubleshooting section below.

2. Programming Wireless Stack

With the FUS up to date, the process of programming or updating the wireless stack is the next step. Similarly to the FUS Firmware, the first steps are to 'CM ;Choose Module' the main algorithm and select the FUS operator for the target device with 'CF ;Choose FUS Operator' and device base address. If a wireless stack has not been programmed in the target, then the desired wireless stack can be directly programmed to the target without deleting. If a wireless stack is already programmed in the target, then the 'DW ;Delete Wireless Stack' command should be done first. Alternatively, the process to upgrade the wireless stack without deleting can be followed as documented below. To check if a wireless stack is installed in PROGACMP, the 'SW ;Start Wireless Stack' command can be attempted and should fail if the stack is not installed. 

To program the wireless stack, select the 'CW; Choose Wireless Stack file' and select the necessary wireless stack firmware file. The base address of the wireless stack file depends on the file and the target device. See the list below for all the relevant starting addresses for each device and wireless stack file:

STM32WB5x Wireless Stack Files

(from Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html)

STM32WB3x Wireless Stack Files 

(from Projects/STM32WB_Copro_Wireless_Binaries/STM32WB3x/Release_Notes.html)

STM32WB1x Wireless Stack Files

(from Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x/Release_Notes.html)

After selecting the wireless stack firmware and entering the base address, the last step is to run the 'UW ;Upgrade Wireless Stack' command. Once the command finishes successfully, the Wireless stack will be installed and running on the target, so the application can be programmed next. If there is an issue with the wireless stack running after installing the application or upgrading the stack, then the 'SW Start Wireless Stack' command can be run to start the wireless stack again.


3. Upgrade Wireless Stack without Deleting

With the FUS Operator, there is a method to upgrade the wireless stack without deleting it. This is handled by offsetting the base address of the new wireless stack from the old wireless stack base address. The address to use can be calculated from this table:

The procedure to upgrade the Wireless Stack without deleting follows the same procedure as above. The primary difference is that it does not require the "DW Delete Wireless Stack" command and the selected address for the CW Choose Wireless Stack bin file needs to be calculated. It is generally recommended to use the method with deleting when upgrading the wireless stack, however this option can save time by skipping the delete step. 


Overall Flow of Upgrading FUS Firmware and Wireless Stack:

The following details the necessary commands for upgrading the FUS firmware, wireless stack, and application on a target STM32WB55RG. These steps can be replicated on both PROGACMP or with a SAP Image for Cyclone. Assume that the target is in a factory state with FUS Firmware v0.5.3 and blanked application flash and wireless stack.

# First Upgrade the FUS Firmware

  • CM ...\ST_STM32WB55RG_1MB.arp
  • CF 0x495_FUS_Operator.bin 08000000
  • CW stm32wb5x_FUS_fw_for_fus_0_5_3.bin 080EC000
  • UW Upgrade Wireless Stack
  • CW stm32wb5x_FUS_fw.bin 080EE000
  • UW Upgrade Wireless Stack

# Install the Wireless Stack

  • CW stm32wb5x_BLE_Stack_full_fw.bin 080D0000
  • UW Upgrade Wireless Stack

# Program Application

  • EN Erase if not blank
  • BM Blank Check Module
  • QO example_BLE_application.hex
  • PM Program Module
  • VM Verify Module

Troubleshooting:

If a programming error occurs when running the upgrade wireless stack command for the FUS firmware or wireless stack:

  • Double check the selected file and confirm the address against the target device and file.
  • Perform the command DW delete wireless stack to remove any firmware and unprotect the region.
  • In PROGACMP, connect to the target with the main algorithm, select Show Modules, and review the region being programmed. If the region is protected, the window with show XX values.

If application is not working properly after programming the wireless stack:

  • Ensure that the application code is programmed after upgrading the wireless stack. The application ALWAYS needs to be programmed back because the procedure to upgrade the wireless stack always erases the application in flash.
  • Force the Wireless stack to start with the command SW Start Wireless stack. Note that the FUS Operator needs to be selected (CF Choose FUS Operator) and that the application needs to be programmed back into the target after starting.
  • Double check the selected Wireless Stack from the git repo with the required wireless stack for the project.  


Tags related to this Blog Post

STMicroelectronics