🤖 Android
🍎 iPhone
💻 Desktop
1
Open Settings → Location and turn it ON.
2
Go to Settings → Apps → Chrome → Permissions, enable Nearby People and Location.
3
In Chrome, go to chrome://flags and enable Web Bluetooth New Permissions Backend. Relaunch Chrome.
4
Also enable enable-experimental-web-platform-features to unlock passive LEScan — this gives real, measured RSSI for accurate distance readings.
5
Keep Bluetooth ON and screen awake during scan.
6
Return here, tap SCAN, and allow all permissions.
💡 Passive LEScan (Step 4) is strongly recommended. Without it, the app uses the request Device picker which doesn't provide RSSI — distances will show as "Unknown". With LEScan, real signal data is captured from every advertisement packet.
Disable Battery Optimization for Chrome to prevent scan interruptions: Settings → Battery → Chrome → Unrestricted.
⚠ Android 12+ silently fails if BLUETOOTH_SCAN, BLUETOOTH_CONNECT, or ACCESS_FINE_LOCATION are denied in app permissions.
⚠ iOS Safari does not support Web Bluetooth. Use Bluefy browser (App Store, free) instead.
1
Install Bluefy from the App Store.
2
Go to iPhone Settings → Privacy → Bluetooth and enable Bluefy.
3
Open this app inside Bluefy and tap SCAN.
💡 Note: iOS Web Bluetooth support is limited. Distance readings may not be available. A native Swift app would provide full CoreBluetooth access.
1
Use Chrome or Edge. Firefox and Safari do not support Web Bluetooth.
2
Ensure your PC has Bluetooth 4.0+ hardware.
3
Windows: Settings → Bluetooth ON. Mac: System Settings → Bluetooth ON.
4
Site must be served over HTTPS or localhost.
💡 Desktop BLE is the most reliable. The device picker shows device names and signal info.