English - Français
This tool is for internal use, we use it (1) to load daplink on certain targets (STM32L475, STM32WB55, ...), replacing ST-LINK and (2) to flash a wireless stack (BLE, Thread, Zigbee, ...) on the STM32WB5xxG co-processor.
With OpenOCD, the program steps are :
- Unlock the RDP of the STM32F103xB
- Mass erase flash
- Flash bootloader
- Send firmware
- (optionnal) Send test program
The stack is flashed to the co-processor using the FUS and a program called operator, which acts as a relay between high-level commands and the FUS. The operator is precompiled, but is not the official ST Microelectronics version, the sources are available here (https://github.com/steamicc/codal-steami-samples/tree/main/samples/Peripherals/FUS_WS_Operator).
Appearance may vary depending on your OS configuration.
To avoid installing OpenOCD on your computer, we recommend using the pre-built version maintained by XPack. The tested and compatible version is v0.12.0-4.
💡 The archives available in releases already contains all the files placed where they need to be.
-
Bootloader
-
Firmware
- STM32L475VG: https://github.com/letssteam/DAPLink/releases/latest/download/stm32f103xb_stm32l475vg_if.bin
- STM32WB55RG: https://github.com/letssteam/DAPLink/releases/latest/download/stm32f103xb_stm32wb55rg_if.bin
- STeaMi: https://github.com/letssteam/DAPLink/releases/latest/download/stm32f103xb_steami32_if.bin
💡 Older releases are available here: https://github.com/letssteam/DAPLink/releases
To enable the program to flash the bootloader, firmware and then the test program, the board must be wired to a probe (ST-Link, Black magic probe, etc.), and connected to the computer (using a micro-USB cable).
The program offer a simple GUI interface to select the bootload and the firmware that will be flashed on the STM32F1x.
- Select files you downloaded from requirements
- The bootloader binary file to flash (e.g:
stm32f103xb_bl.bin) - The firmware binary file to flash (e.g:
stm32f103xb_stm32l475vg_if.bin) - (optionnal) The program binary file to flash (you can find test program in
test binfolder)
- The bootloader binary file to flash (e.g:
- Set the target mount point name (e.g:
DIS_L4IOT,DAPLINK,STEAMI...) - Define the timeout mount point waiting (e.g:
10), in seconds - Push the "Start" button.
- Select the board serial port
- Choose a stack. A description of the stacks is available below
- Press the “Start” button
💡 Pro tips: All inputs are saved for the next time you will open the tool !
- Install rust
- Install
openocd - Clone or download this repository
git clone https://github.com/steamicc/DapLink-EasyFlash.git - Enter in project folder
cd DapLink-EasyFlash - Run
cargo runfrom the project root.
In the test bin folder, you can find some simple programs for targets.
It blinks the LEDs, LD1 and LD2, in two different patterns.

Toggles between high and low states of pins PC10 and PC12. (The video is the result on the STeaMi board).

| Firmware | Description | STM32WB5xxG (1M) | STM32WB5xxY (640K) | STM32WB5xxE (512K) | STM32WB5xxC (256K) |
|---|---|---|---|---|---|
| BLE HCI AdvScan | * To be used for advertising and scanning through HCI interface * BT SIG Certification listing : Declaration ID D042213 / QDID 160726 * HCI Layer only mode, layers supported : Link Layer, HCI |
✅ | ✅ | ✅ | ✅ |
| BLE LLD | * BLE LLD (Low Level Driver) Radio Transparent firmware * To be used for direct access on BLE LLD features and API |
✅ | ✅ | ✅ | ✅ |
| BLE Stack full | * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 * Full BLE Stack, layers supported : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database * Following features are kept (based on Basic stack library compared to previous deliveries): * GAP peripheral, central (Master up to 8 links/Slave up to 8 links/all combinations in between) * GATT server, client * Data length extension * 2Mbit PHY / PHY update * Privacy * White list * Legacy Pairing, LE secure connections * Direct Test Mode * HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin) * Following features are removed: * L2Cap Connection - oriented channels support (IP over BLE enabler) * Channel selection #2 (under application flag selection) * Some HCI interface features (won’t be able to process through HCI interface) |
✅ | ✅ | ✅ | ✅ |
| BLE Stack full extended | * BT SIG Certification listing (1) : Declaration ID D060553 / QDID 182505 * BT SIG Certification listing (2) : Declaration ID D063069 / QDID 201968 * BT SIG Certification listing (3) : Declaration ID D063070 / QDID 216169 * Full BLE Stack extended, layers supported : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database * Following features are kept: * GAP peripheral, central (Master up to 8 links/Slave up to 8 links/all combinations in between) * GATT server, client * Data length extension * 2Mbit PHY / PHY update * Privacy * White list * Legacy Pairing, LE secure connections * HCI interface (full, like stm32wb5x_BLE_HCILayer_fw.bin) * Direct Test Mode * L2CAP connection oriented channels support (IP over BLE enabler) * Channel selection #2 (under application flag selection) * BLE Extended advertising (under application SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV flag selection with following limitations on currently supported configurations as (max sets number, max advertising data length) equal to [(1,1650),(2,1650),(3,1650),(4,1035),(5,621),(6,414),(7,207),(8,207)] such as both parameters are compliant with allocated Total memory computed with BLE_EXT_ADV_BUFFER_SIZE based on Max Extended advertising configuration. * BLE GATT caching supported (certified BLE 5.3) * BLE Enhanced ATT supported (certified BLE 5.3) * Warning: To use this binary, it is necessary to adapt the scatter file in the BLE applications as: * The RAM_A shared range shall be reduced to memory range [0x20030000:0x200307FF] * The Mail-box buffers(MB_MEM1, MB_MEM2) shall be located in RAM_B shared defined in memory range [0x20038000:0x2003A7FF] * The RAM_B shared shall be added to Total_RAM_region |
✅ | ✅ | ✅ | ✅ |
| BLE Stack light | * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 * Full BLE Stack, layers supported : Link Layer, HCI, L2CAP, ATT, SM, GAP and GATT database * Wireless Ble stack Light configuration – Slave Only * Following features are kept: * GAP peripheral only (LL Slave up to 4 links) * GATT server * Data length extension * 2Mbit PHY / PHY update * Privacy * White list * Legacy Pairing, LE secure connections * Direct Test Mode * HCI interface (reduced) * Channel selection #2 [CSA2] feature added * Additional beacon * Following features are removed: * BLE “Slave Only” stack implies that with this stack configuration, STM32WB is not able to scan and request a BLE connection. * It will just advertise, and accept incoming connection request from other master devices (e.g. Smartphone). * While with the “full feature” BLE stack, STM32WB5xx is able to support both master and slave roles on different links (with the limitation of max 8 links in parallel). |
✅ | ✅ | ✅ | ✅ |
| BLE HCILayer | * BT SIG Certification listing : Declaration ID D042213 / QDID 160726 * HCI Layer only mode, layers supported : Link Layer, HCI with Direct Test Mode |
✅ | ✅ | ✅ | ✅ |
| BLE HCILayer extended | * BT SIG Certification listing (1) : Declaration ID D060553 / QDID 182505 * BT SIG Certification listing (2) : Declaration ID D063069 / QDID 201968 * HCI Layer only mode extended, layers supported : Link Layer, HCI with Direct Test Mode * BLE Extended advertising (under application SHCI_C2_BLE_INIT_OPTIONS_EXT_ADV flag selection with following limitations on currently supported configurations as (max sets number, max advertising data length) equal to [(1,1650),(2,1650),(3,1650),(4,1035),(5,621),(6,414),(7,207),(8,207)] such as both parameters are compliant with allocated Total memory computed with BLE_EXT_ADV_BUFFER_SIZE based on Max Extended advertising configuration. |
✅ | ✅ | ✅ | ✅ |
| Thread FTD | * Full Thread Device v1.3 ready * To be used for Leader / Router / End Device Thread role (full features excepting Border Router) |
✅ | ✅ | ✅ | ❌ |
| Thread MTD | * Minimal Thread Device v1.3 ready * To be used for End Device and Sleepy End Device Thread role |
✅ | ✅ | ✅ | ❌ |
| Thread RCP | * OpenThread Radio Co-Processor (RCP) * To be used for Thread Border Router setup. * Application layer and OpenThread core on the host processor, minimal OpenThread MAC on the 802.15.4 SoC. * Communication between the RCP and the host processor is managed by OpenThread Daemon through an UART interface over the Spinel protocol. |
✅ | ✅ | ✅ | ✅ |
| BLE Thread static | * Static Concurrent Mode BLE Thread * Supports Full BLE Stack and Full Thread Device v1.3 ready * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ❌ | ❌ |
| BLE Thread dynamic | * Dynamic Concurrent Mode BLE Thread * Supports Full BLE Stack and Full Thread Device v1.3 ready * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ❌ | ❌ |
| Mac 802_15_4 | * MAC API is based on latest official IEEE Std 802.15.4-2011 * To be used for MAC FFD and RFD devices |
✅ | ✅ | ✅ | ✅ |
| Phy 802_15_4 | * 802.15.4 Features exposed on application side * Reduced number of commands called from application side to manage 802.15.4 API * Not a Transparent mode, 802.15.4 API not deployed on application side * Can to used with STM32CubeMonitor-RF application or dedicated M4 Application. |
✅ | ✅ | ✅ | ✅ |
| Zigbee RFD | * Zigbee Reduced Function Device * Zigbee Compliant Platform ready * To be used for End Device Zigbee role |
✅ | ✅ | ✅ | ❌ |
| Zigbee FFD | * Zigbee Compliant Platform ready * Supports Full Function Device (FFD) |
✅ | ✅ | ✅ | ❌ |
| BLE Mac 802_15_4 | * Static Concurrent Mode BLE MAC 802.15.4. * Supports Full BLE Stack and MAC 802.15.4 API based on latest official IEEE Std 802.15.4-2011 * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ✅ | ✅ |
| BLE Zigbee FFD static | * Static Concurrent Mode BLE Zigbee FFD. * Supports Full BLE Stack and Zigbee FFD(Full Function Device) Compliant Platform ready. * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ✅ | ❌ |
| BLE Zigbee RFD static | * Static Concurrent Mode BLE Zigbee RFD. * Supports Full BLE Stack and Zigbee RFD(Reduced Function Device) Compliant Platform ready. * Optimized for Power consumption. * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ✅ | ❌ |
| BLE Zigbee FFD dynamic | * Dynamic Concurrent Mode BLE Zigbee FFD. * Supports Full BLE Stack and Zigbee FFD(Full Function Device) Compliant Platform ready. * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ✅ | ❌ |
| BLE Zigbee RFD dynamic | * Dynamic Concurrent Mode BLE Zigbee RFD. * Supports Full BLE Stack and Zigbee RFD(Reduced Function Device) Compliant Platform ready. * Optimized for Power consumption. * BT SIG Certification listing : Declaration ID D042164 / QDID 160724 |
✅ | ✅ | ✅ | ❌ |



