BLE advertisement scan test

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.

Not hung — this PC cannot map BLE from a website

  1. Open Demo Mode on the radar to see the product UI with simulated devices.
  2. For a real room-wide website scan: Chrome on Android → enable Experimental Web Platform features → open this page → Start LE Scan → Allow.
  3. chrome://bluetooth-internals on this Windows PC will keep working — that is Chrome’s private radio, not something a website can copy.
idle

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.

Heard devices (0)

Name Device ID Latest RSSI TX Packets Last seen UUIDs

Event log


    

Raw TRACE



    

Back to DasBluetooth radar · Google ads-only sample: requestLEScan sample (ignore that page’s GATT intro — its Scan button is advertisements only).