Troubleshooting the Bluetooth wearable module
No entity ever appears
Cause. DeviceID was left empty, or set to a MAC address that isn’t currently advertising.
There is no “connect to the first available device” fallback: an empty setting never matches.
Fix. Open the module settings and pick the strap from the DeviceID scan dropdown rather
than typing an address by hand.
The module never gets past “Discovering services” or logs an access-denied warning
Cause. The device requires pairing before its Heart Rate Service is readable:
Access denied to Heart Rate service. Device may require pairing.or the same for the Heart Rate Measurement characteristic specifically.
Fix. Pair the device with the workstation in Windows’ own Bluetooth settings first, then restart the session. The module attempts GATT access with or without pairing, but a device that requires it will refuse until that’s done.
The connection takes a long time to establish
Cause. This is expected: scanning, connecting, discovering GATT services and subscribing to notifications is a multi-step process against a real radio, which is why this module allows itself 30 seconds to start rather than the platform default.
Fix. Nothing to fix if it eventually connects. If it consistently fails to connect within that window, treat it as one of the other symptoms on this page rather than a timeout problem.
R-R interval readings look sparse or missing beats
Cause. Some straps batch more than one R-R interval into a single notification when they fall behind (for example after a brief disconnect). This module reads only the first R-R value in a notification; any additional ones in the same packet are discarded.
Fix. Nothing to configure. Treat RR as a best-effort per-notification sample, not a
guaranteed one-per-heartbeat stream, if the strap you’re using is known to batch.
Energy expended looks too high, or never resets between sessions
Cause. The Bluetooth Heart Rate Service’s energy-expended field is cumulative from the device’s own last reset, not a per-reading value. This module reports exactly what the device sends, converted to kilocalories; it does not reset or rebase it at session start.
Fix. If you need energy expended per exercise rather than per device lifetime, subtract the value read at session start from later readings; the module does not do this for you.