2026-03-17 2:16 AM - last edited on 2026-03-17 7:46 AM by Imen.D
I am working with the STM32WB5MMG and implementing firmware updates using OTA. For testing, I am using the ST BLE Sensor Android application.
I first tested OTA using the example projects available in the STM32CubeWB firmware package:
Heartrate_ota
P2PServer_ota
Both examples work correctly. I can:
Flash the example firmware
Connect using the ST BLE Sensor app
Upload another firmware via OTA successfully
After verifying OTA with the examples, I created my own firmware that includes:
Custom BLE service
Custom characteristics
Custom UUIDs and device name
When I upload this custom firmware via OTA from the example firmware, the update completes successfully and the device runs my application correctly.
After my custom firmware starts running:
The device no longer appears in the ST BLE Sensor app as OTA-capable.
I cannot upload another firmware via OTA.
The device does not advertise as an OTA device like the Heartrate_ota or P2PServer_ota examples.
So OTA works only once (from the example firmware to my custom firmware), but subsequent OTA updates are not possible.
How can I implement OTA functionality in a custom firmware application so that:
The device continues to be recognized as OTA-capable by the ST BLE Sensor app.
Multiple OTA updates can be performed.
My custom BLE services can coexist with OTA functionality.
Most documentation explains OTA using the existing examples, but I could not find guidance on integrating OTA into a new custom application.
Any documentation, references, or recommended procedure would be very helpful.
2026-04-09 8:03 AM - edited 2026-04-09 8:04 AM
Hello @Praveen4 ,