STM32WB05 vs STM32WB09 for continuous BLE data streaming – single-core suitability?
Hi ST community,
We are currently evaluating STM32WB05 vs STM32WB09 for an application involving continuous BLE data streaming from multiple sensors, and would appreciate guidance from experts who have worked with STM32WB0 series.
The reason we choosing the STMWB05 over STM32WB09 MCU, STM32WB05 MCU comes at a lower cost.
In brief our application sensor are
2x IMU LSM6DSO sensors (high-frequency sampling)
1x magnetometer
1x analog force sensor
A single BLE connection (no mesh or multi-node), with frequent sync occurring approximately every three minutes.
Key Questions
1. WB05 vs WB09 for continuous BLE streaming
Both MCUs seem to have similar BLE capabilities (Bluetooth 5.4, 2 Mbps PHY), but:
Does WB09 (larger RAM/Flash) provide significant advantage for:
Continuous streaming
Buffering
Reducing packet drops?
Has anyone faced RAM bottlenecks or BLE throughput instability on WB05, WB09 in such use cases?
2. Single-core architecture suitability
Both WB05 and WB09 are single-core Cortex-M0+ with radio coprocessor.
In real-world use:
Is single-core sufficient for:
Continuous IMU acquisition (SPI/I2C)
BLE notifications at high rate?
Any known limitations when CPU is handling:
sensor read + packetization + BLE stack?
3. BLE timing / sync optimization
Looking for best practices on:
Handling continuous BLE notifications without drops
Optimizing:
Connection interval
MTU size
Packet batching strategy
Recommended approach:
Send per-sample vs batch multiple samples?
4. STM32CubeWB0 stack usage
We have reviewed:
STM32CubeWB0 Getting Started
STM32CubeWB0 GitHub examples
Observations:
STM32_BLE middleware handles full BLE stack
HAL + LL + middleware layered architecture
Questions:
Any recommended BLE example as baseline for streaming use case?
Is BLE_Skeleton sufficient, or better to start from another example?
5. HAL vs LL for performance-critical path
From documentation:
HAL = easier, portable
LL = better performance
For this use case:
Recommended approach:
HAL only?
HAL + LL mix (e.g., LL for SPI/DMA)?
6. FreeRTOS vs bare-metal
Is FreeRTOS recommended or avoided for BLE-heavy applications on WB0?
Any known issues with:
latency
BLE timing interference?
What we are trying to achieve
Stable continuous BLE streaming (no packet loss)
Efficient CPU usage on single-core
Clean architecture for sensor + BLE sync
Looking for suggestions on:
MCU selection between WB05 vs WB09
BLE tuning application parameters for ST LSM6DSO + ST Magneto + LSM6DSO + Force, No audio
Firmware architecture (ISR / DMA / buffering)
Any pitfalls to avoid
Thanks in advance!
