Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1578Tools index

Previous survey · No. 1586 ·

Pricing
Open Source
Type
TOOL
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 environmentList of discoverable BLE devices

  • Inspect BLE device services and characteristics

    Connected BLE deviceDevice service structure and characteristic details

  • Read data from BLE device characteristics

    BLE device characteristicRaw or formatted characteristic data

  • Write data to BLE device characteristics

    BLE device characteristic and data payloadWrite confirmation or response

  • Connect to specific BLE devices

    BLE device identifier or addressActive BLE connection

  • Execute BLE operations via command line

    Command line instructionsBLE operation results and status messages

Tags

bluetoothbleclihardwarereverse-engineering

Tech Stack

Rust

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.