Skip to content

ztroop/btlescan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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!

Contributors

Languages