2026-03-30 12:23 AM - last edited on 2026-03-30 5:15 AM by Imen.D
Hello,
I am currently working with the NUCLEO-WB05KN1 development board (STM32WB05KN MCU) and I would like to implement FOTA (Firmware Over-The-Air) / OTA update over Bluetooth.
However, I could not find any clear reference documentation, application note, or example project related to:
I checked the datasheet and reference manual, but there is no clear explanation of:
Currently, my memory usage is:
So I still have space to implement a custom bootloader if needed.
My questions:
Any guidance, documentation, or example would be highly appreciated.
Thanks in advance.
2026-03-30 5:13 AM - edited 2026-03-30 5:13 AM
Hello @burak_Guzeller
The X-CUBE-WB05N software package provides a BLE_FOTA application specifically designed for the STM32WB05 series.
You can refer to the following resources which offer further details:
2026-04-01 6:23 AM
Hello,
Thank you for your response and for pointing me to X-CUBE-WB05N and the BLE_FOTA example.
I have reviewed the suggested resources, however I have some concerns regarding memory constraints on my current project.
As you can see from my current memory usage:
This leaves a very limited space for implementing a full FOTA solution like the provided BLE_FOTA example.
My understanding is that the default FOTA implementation requires:
Given these limitations, I would like to ask:
My goal is to implement OTA over BLE, but with a very small memory footprint, even if it means sacrificing some robustness features (like rollback).
Any guidance, best practices, or example references for low-memory OTA design on STM32WB05 would be highly appreciated.
Thanks in advance.
2026-04-03 10:46 AM - edited 2026-04-03 10:46 AM
You can also review the best practices for OTA Design described in UM2726.
I will try to contact expert internally for you to have additional recommendation and guidance on this topic.
2026-04-07 8:18 AM
Hi @burak_Guzeller ,
Are you referring to a X-NUCLEO-WB05KN1 which is used within the X-CUBE-WB05N SW framework: STM32W05N Bluetooth LE network/radio coprocessor?
I've heard back from the wireless team that the BLE_FOTA framework available on
\X-CUBE-WB05N_Vx.y.x\Projects\NUCLEO-U575ZI\Applications\UART\BLE_FOTA is designed to update the applications running over the external microcontroller (STM32U5) and not on STM32WB05 device.
In this context, the STM32WB05N micro hosted on X-NUCLEO-WB05KN1 must be loaded with the BLE_TransparentMode application which allows to configure it as a network coprocessor.
Therefore, this application cannot be modified without impacting the network coprocessor framework.
Regarding the SW framework used: Are you working on the selected external microcontroller using the X-NUCLEO-WB05KN1 as a network coprocessor? Or are you referring to STM32WB05 device (NUCLEO-WB05NKZ) used as an application processor?
The reference information about the OTA framework are available on AN5977, in Section 2.8.6 FUOTA. which describes the STM32WB0 FUOTA specification.
Regarding the specific application you're designing, you should also take in account the required memory footprints for the specific application and select the proper one suitable for your needs.
STM32WB05 is offering 192 Kbytes Flash and 24 Kbytes RAM (so not suitable for OTA scenarios where Flash is effectively handled in 2 areas: one for download and one for application execution).
We're also offering the STM32WB09 device with 512 Kbytes Flash and 96 Kbytes RAM which is suitable for OTA scenarios.
Hope this is helpful for you.
2026-04-10 5:50 AM
Thank you for the clarification.
Let me explain my setup and constraints more clearly.
I am using the STM32WB05KNV6TR as a standalone MCU in my final product (not as a network coprocessor). For development and validation, I am using the X-NUCLEO-WB05KN1 expansion board mounted on a NUCLEO-F030R8.
My target is to implement a BLE-based OTA/FOTA mechanism for field updates.
Current resource usage:
From your explanation, I understand that:
Given these constraints, I would like to clarify the recommended approach for my case:
Additionally, I could not find STM32WB05KNV6TR in STM32CubeMX.
Is this device not fully supported in CubeMX, or should it be configured under a different part/series?
My goal is to keep using WB05 for cost and design reasons, but I also need a reliable firmware update mechanism for production devices.
Any guidance or recommendations would be greatly appreciated.
Thank you.