4 stable releases
| 1.1.3 | Mar 1, 2026 |
|---|---|
| 1.1.2 | Feb 28, 2026 |
#228 in Network programming
275KB
7K
SLoC
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.

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
| Key | Action |
|---|---|
q |
Quit |
Tab |
Cycle focus between panels |
↑/↓ or j/k |
Navigate lists / scroll log |
Enter |
Connect to selected device |
d |
Disconnect |
r |
Read selected characteristic |
w / i |
Write — enter editing mode |
n |
Toggle notification subscription |
t |
Toggle hex / text input format |
s |
Toggle scan pause/resume |
e |
Export devices to CSV |
m |
Switch to server mode |
Esc |
Cancel editing |
Server Mode
| Key | Action |
|---|---|
a |
Start advertising |
x |
Stop advertising |
w |
Set characteristic value (returned on reads) |
n |
Send notification to subscribed clients |
t |
Toggle hex / text input format |
↑/↓ or j/k |
Navigate fields / scroll log |
m |
Switch to client mode |
Esc |
Cancel 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!
Dependencies
~15–48MB
~701K SLoC