-
Device Overview
We have developed a smart wearable that sends notifications to our mobile application over BLE. Under normal conditions, the device alternates sensor + battery data and IMU data every second and status updates is sent on event.
-
GATT Profile
2.1 Services and Characteristics
Battery Service
-
Battery Level characteristic
Debug Service
-
Debug characteristic
Data Service
-
Sensor Data characteristic (20 bytes)
-
Status Data characteristic (2 bytes)
-
IMU Data characteristic (12 bytes)
SMP Service
(Secure Management Protocol for OTA updates)
2.2 MTU
Default MTU size is used: 23 bytes
-
Notification Schedule
-
Sensor Data and IMU Data notifications alternate once every second
-
Status Data is sent only when an event occurs (not on a timer)
-
Battery Level notifications are sent on demand
-
Observed Issue
In most cases, all notifications arrive correctly.
Intermittently, Sensor Data, IMU Data and Battery Level notifications fail to arrive, while Status Data continues to be received reliably.
This behavior is seen in the user field; we’re unable to reproduce it in the lab, which makes debugging complex.
One user downloaded nRF Connect and the problem still occurs, so it does not appear related to our app.
-
Expected Behavior
All characteristics configured for notification should deliver updates without loss, according to the schedule above.
We are really struggling to find the root cause of the issue or just a reproducer, thank you for any pointers or insights!
27317.prj.conf