Goal: hear every nearby BLE advertisement on this laptop’s adapter — same kind of list as
chrome://bluetooth-internals/#devices — and show Name / ID / RSSI.
No device picker. No pairing. No GATT connect.
A website cannot read chrome://bluetooth-internals/#devices. That table is privileged Chrome UI.
The only website API that can map the room without picking a gadget is experimental
navigator.bluetooth.requestLEScan({ acceptAllAdvertisements: true }).
Chromium only implemented that on Android and Mac. On Windows/Linux the
function can still appear (flag on) but it is a stub — calling it hangs with 0 packets.
This page never uses requestDevice or GATT.
chrome://bluetooth-internals on this Windows PC will keep working — that is Chrome’s private radio, not something a website can copy.
Press Start LE Scan once. Chrome should ask to Allow scanning (not pick a device).
If packets arrive, rows appear below. Compare with
chrome://bluetooth-internals/#devices — same radio, different Chrome path.
| Name | Device ID | Latest RSSI | TX | Packets | Last seen | UUIDs |
|---|
Back to DasBluetooth radar · Google ads-only sample: requestLEScan sample (ignore that page’s GATT intro — its Scan button is advertisements only).