- Category
- Developer Tools
- Rank
- No. 1578Tools index
Previous survey · No. 1586 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- dmtrkovalenko
- GitHub
- 492 stars
- Latest release
- v1.3.3
- Date
About
Dmitry Kovalenko's hacker BLE (Bluetooth Low Energy) browser and terminal app — scan, inspect, and interact with BLE devices from the command line.
What it does
Blendr presents nearby Bluetooth Low Energy devices in an interactive terminal workspace. It refreshes scans, filters devices and characteristics with regular expressions, connects to peripherals, and shows characteristic values as text, numbers, hex dumps, and navigable history.
Why it's ranked here
Blendr is unusually practical for engineers who repeatedly inspect known BLE hardware. Search-driven auto-connection, readable standard service labels, custom naming, and several value representations reduce routine friction. Its narrow terminal focus is coherent, though sparse testing and visible edge-case bugs temper confidence.
What's good
Device and characteristic filters accept regular expressions and can select a sole match automatically. Standard GATT labels make common UUIDs readable, while a user map names proprietary services. Characteristic polling keeps history and renders each value as UTF-8, little-endian numeric data, and a colored hex dump.
Tradeoffs
This is a terminal application, not a reusable library or programmable API. Windows installation requires downloading an executable, while newer macOS systems require terminal Bluetooth permission. The supplied code contains only two inline tests. Invalid adapter indexes can panic, and scan restart state appears to remain enabled after one request.
How to use it well
Use Blendr during hands-on firmware development, device bring-up, and repeated inspection of known peripherals. Start with device and characteristic filters, then add a UUID naming map for proprietary GATT profiles. Choose another tool when you need automation, application embedding, or a general Bluetooth workflow beyond BLE.
Technical notes+
Cargo.toml defines a Rust 2021 binary at src/main.rs using clap, tokio, btleplug, crossterm, and ratatui. src/bluetooth.rs refreshes adapter peripherals, sorts them, maps standard GATT names, and stores scan snapshots. src/route.rs manages asynchronous connection and characteristic polling through Route transitions. src/tui/connection_view.rs renders history as UTF-8, little-endian numeric interpretations, and hexyl output. Notable defects include unchecked adapter indexing in src/bluetooth.rs, the restart branch assigning request_scan_restart back to true, and ConnectedPeripheral::new resolving custom_service_name with the characteristic UUID instead of the service UUID. Tests appear inline in src/cli_args.rs and src/bluetooth/ble_default_services.rs.
Observed
- License
- BSD-3-Clause
- Primary language
- Rust, edition 2021
- Packaging
- Cargo crate with a single blendr binary
- Install surface
- Cargo install, Unix shell installer, or Windows release executable
- Interface
- Command-line options plus an interactive terminal user interface
- Platform guidance
- Unix installation, Windows binaries, and macOS Bluetooth permission instructions
- Testing structure
- The supplied source shows two inline unit tests
Read from README.md, Cargo.toml, src/main.rs, src/error.rs, src/route.rs, src/cli_args.rs, src/bluetooth.rs, src/general_options.rs, src/tui/mod.rs, src/tui/welcome.rs, src/tui/error_popup.rs, src/tui/connection_view.rs, src/tui/peripheral_list.rs, src/tui/peripheral_view.rs, src/bluetooth/ble_default_services.rs.
What it can do
Scan for nearby BLE devices
BLE radio environment → List of discoverable BLE devices
Inspect BLE device services and characteristics
Connected BLE device → Device service structure and characteristic details
Read data from BLE device characteristics
BLE device characteristic → Raw or formatted characteristic data
Write data to BLE device characteristics
BLE device characteristic and data payload → Write confirmation or response
Connect to specific BLE devices
BLE device identifier or address → Active BLE connection
Execute BLE operations via command line
Command line instructions → BLE operation results and status messages
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
