Thanks to visit codestin.com
Credit goes to lib.rs

#bluetooth #ble #terminal #tui #gatt

app 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

4 stable releases

1.1.3 Mar 1, 2026
1.1.2 Feb 28, 2026

#777 in Network programming

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

51 downloads per month

MIT license

275KB
7K SLoC

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!

Dependencies

~14–47MB
~691K SLoC