Question
STM32WB5MMG: data notifications degrade at 30–40 ft, and read/write requests then cause a multi-second stall or disconnect
Hi all,
I'd appreciate some help with a BLE range and stability issue.
Setup
- MCU: STM32WB5MMG module on a custom board
- Firmware package: STM32Cube FW_WB V1.23.0
- BLE wireless stack: v1.16.0, full stack
- TX power: +1 dBm
- Connection interval: 10 ms min / 15 ms max. Peripheral latency is 0 and the supervision timeout is 6 s.
- ATT MTU: 180
- Role: peripheral only. The central is a Windows 10/11 PC.
- PHY: Windows defaults to 2M PHY
Application
The peripheral sends data to the Windows central over GATT notifications at about 5400 bytes/s (~30 packets/s).
Problem
- At short range, the data notifications work correctly.
- As the distance grows to about 30–40 ft, data notifications start to struggle.
- At that distance, if the Windows central reads or writes any characteristic, the device goes into an unknown state. For a few seconds it continuously sends unexpected data: the values 0x0839 and 0x08FD repeat every 64 bytes.
- Often the device recovers within a few seconds and then completes the read/write.
- Sometimes the stall lasts more than 30 seconds, and Windows then disconnects the device.
The behavior is repeatable.
Question
What could cause this? In particular:
- Is there a known interaction between a GATT read/write request and heavy notification traffic when the link is weak and has many retransmissions?
- Could this be buffer or flow-control exhaustion in the stack, and are there recommended settings for it?
- Would you recommend any debug steps or stack configuration changes to narrow this down?
Thanks!
