There are several types of Bluetooth pairing machanism: Legacy Pairing and Secure Simple Pairing (SSP)
Legacy Pairing
Each device must enter a PIN code; pairing is only successful if both devices enter the same PIN code.
As for Gadgetbridge, devices just ask for confirmation/number during pairing, this is all.
Secure Simple Pairing (SSP)
SSP pairing is centered around a shared secret between 2 Bluetooth devices.
MAC Address remembering
- the watch just remembers phone's BT MAC address as the shared secret
Application determined secret
- The key is determined by the App (eg. Gadgetbridge, where we call it Auth Key), sent to the watch and then stored there
- The key can be changed in the watch by re-pairing in Gadgetbridge, that means:
- keep the device in Gadgetbridge, disconnect ot by long-press on device name in Gadgetbridge main screen
- remove (unpair) the watch from Android phone Bluetooth pairing (if paired)
- change the Gadgetbridge Auth Key (Gadgetbridge → Device → Settings → Auth Key) (if you erase the key, Gadgetbridge will generate new unique key)
- press the + Add new device floating button
- select the device and confirm the pairing on the watch
Re-using the Auth Key between multiple phones
If you use (copy/paste) the same Auth Key in several Gadgetbridge apps on different mobile devices (phones, tablets), all of them will be able to connect to your device and fetch data.
Vendor determined secret, aka server based pairing
Instead of the app deciding/generating the key, the vendor decides what this key is. For example for Huami devices, since the Bip Lite the key is generated by Huami servers and CANNOT be be decided by Gadgetbridge. This is based on signing, the server signs a random number FROM the watch with a UNKNOWN secret key under their control hidden away. IIRC the key is derived from the signature and the signature is checked by the watch.
In Gadgetbridge, this means that you must first obtain the secret, before you can pair your watch with Gadgetbridge. See more details in Server based pairing article.
NEW WEBSITE
General
- Home
- FAQ
- ReadMe
- Configuration
- Notifications
- ChangeLog
- Widget
- Weather
- Data Backup
- Pairing
- Find phone
- Music info
- Permissions Explained
- Firmware Update
- Automation via Intents
Sports/Activities
- Sports Activities Workouts
- Activity Sessions List
- Activity and Sleep Charts
- Heartrate measurement
- Integrating Sports Tracking apps with Gadgetbridge Sports Activities/Workouts
Smart Device Related
- Bangle.js
- Casio devices
- FitPro
- Fossil Hybrid HR
- Garmin devices
- HPlus
- Huami devices
- Amazfit Active
- Amazfit Active Edge
- Amazfit Balance
- Amazfit Band 5
- Amazfit Band 7
- Amazfit Bip
- Amazfit Bip Lite
- Amazfit Bip S
- Amazfit Bip U
- Amazfit Bip 3 Pro
- Amazfit Bip 5
- Amazfit Cheetah
- Amazfit Cheetah Pro
- Amazfit Cor
- Amazfit Cor 2
- Amazfit Falcon
- Amazfit GTR
- Amazfit GTR 3
- Amazfit GTR 3 Pro
- Amazfit GTR 4
- Amazfit GTR Mini
- Amazfit GTS
- Amazfit GTS 3
- Amazfit GTS 4
- Amazfit GTS 4 Mini
- Amazfit Neo
- Amazfit T-Rex
- Amazfit T-Rex 2
- Amazfit T-Rex Ultra
- Mi Band 1
- Mi Band 2
- Mi Band 3
- Mi Band 4
- Mi Band 5
- Mi Band 6
- Mi Band 7
- MyKronoz ZeTime
- Pebble
- PineTime
- Sony Wena 3
- SMA
- WithingsSteel
Wireless Earbuds
Others
- iTag Keyring trackers
- Nut Keyring trackers
- UM25 USB Voltage meter
- VESC BLDC controller VESC
- Flipper Zero Multi-tool Device for Geeks
- Roidmi Roidmi/Mojietu FM Trans.
- Vibratissimo Private toy
- Shell Racing Toy RC cars
- Femometer Vinca II
Full list of supported devices
Development
- How to Release
- Developer Documentation
- BT Protocol Reverse Engineering
- Support for a new Device
- New Device Tutorial
- Translating Gadgetbridge
- OpenTracks-API
- Intent-API
Feature Discussion
FAQ