Hello,
we do have a custom board with a nRF52833 to stream sensor data to a mobile app. The board contains a 32 MHz crystal, but not a 32.768 kHz. We are using nRF Connect SDK version 2.2.0 and the Softdevice controller for BLE. Our application is supposed to send 200 20-byte packets per second running on 2 Mbps.
Problem: Keeping the board resting allowed multiple times to stream 2 h without a problem. Moving the board (the main use case) got the stream stuck, sometimes within seconds sometimes only with stronger movement. Occasionally resting also leads to stuck streaming. Once the mobile app disconnects everything recovers. We do have purchased custom boards that work fine with the mobile app, so the problem must be within our own boards HW or FW. Moving the board (within a case) means holding it in one hand, so the impact might be temperature.
To analyse this further we made a reduced application showing the same problem when only streaming zero filled packets and sensors disabled. The stream gets stuck in "bt_gatt_notify()". The behavior is on 7 of 7 boards, so it shouldn't be faulty single board.
The major parts of prj.config: