btlescan

February 28, 2026 · View on GitHub

Build

btlescan

A cross-platform terminal UI for scanning Bluetooth Low Energy devices, inspecting GATT services and characteristics, and reading/writing characteristic values in real time.

demo

Features

  • Device Discovery — Continuous scanning with live updates of address/UUID, name, TX power, and RSSI.
  • GATT Inspection — Connect to a device, discover services, and browse characteristics with their properties.
  • Read / Write — Read characteristic values or write data in hex or text format.
  • Notifications — Subscribe to characteristic notifications with a timestamped message log.
  • Server Mode (Linux only, opt-in) — Run a GATT server: set characteristic values for read responses, send notifications to subscribed clients.
  • CSV Export — Export the device list to a CSV file.

Keyboard Controls

Client Mode

KeyAction
qQuit
TabCycle focus between panels
↑/↓ or j/kNavigate lists / scroll log
EnterConnect to selected device
dDisconnect
rRead selected characteristic
w / iWrite — enter editing mode
nToggle notification subscription
tToggle hex / text input format
sToggle scan pause/resume
eExport devices to CSV
mSwitch to server mode
EscCancel editing

Server Mode

KeyAction
aStart advertising
xStop advertising
wSet characteristic value (returned on reads)
nSend notification to subscribed clients
tToggle hex / text input format
↑/↓ or j/kNavigate fields / scroll log
mSwitch to client mode
EscCancel editing

Installation

cargo install btlescan

To include the GATT server feature (Linux only):

cargo install btlescan --features server

Alternatives

If you're looking to manage or pair Bluetooth devices, check out bluetui!