Bluetooth Low Energy debugging often becomes repetitive very quickly.
During firmware development, I frequently needed to perform the same sequence again and again:
- Scan for the device
- Connect
- Find the target service and characteristic
- Send an authentication command
- Wait for a notification
- Decode the received packet
- Extract specific bytes
- Perform calculations or conversions
- Send another command
- Repeat the process
Most BLE scanner apps are great for manually reading and writing characteristics, but once the protocol becomes more complex, a large part of the debugging process is still manual.
BLECI was created to automate these workflows.
With BLECI, developers can build reusable BLE debugging flows that combine communication, parsing, logic, and automatic responses.
For example:
Connect → Authenticate → Receive Notification → Parse Packet → Check Condition → Generate Response → Send Command → Log Result
This makes it useful for firmware development, protocol debugging, sensor testing, BLE device verification, and repeated development tasks.
Key Features
• BLE device scanning and connection
• GATT service and characteristic discovery
• Read, Write, Write Without Response, and Notify support
• Hexadecimal command input and raw packet display
• Automatic command sequences
• Scheduled and periodic BLE commands
• Automatically respond when specific data is received
• Conditional logic such as IF and SWITCH
• Loop-based command workflows
• Packet slicing and byte extraction
• UInt8, UInt16, integer, hexadecimal, and ASCII conversion
• AES-related packet processing
• Custom data operators and calculations
• Timestamp processing
• RSSI monitoring
• MTU information
• Communication latency measurement
• Detailed connection and communication logs
• Export recorded data as CSV
Why I Built It
During BLE firmware development, I found myself repeating the same debugging steps hundreds of times.
Tools such as BLE scanners are extremely useful for inspecting devices, but complex device protocols often require much more than simply writing a hexadecimal value to a characteristic.
A typical debugging workflow may involve authentication, receiving encrypted or encoded packets, extracting bytes, converting values, checking conditions, calculating a response, and sending another command.
Doing all of this manually slows down firmware development.
BLECI is my attempt to turn these repeated debugging steps into reusable automation workflows.
Example Workflow
A typical BLECI workflow could look like this:
ESP32 / nRF52 / STM32WB ↓ BLE Connection ↓ Send Authentication Packet ↓ Receive Notification ↓ Extract Bytes ↓ Decode / Convert Data ↓ Check Condition ↓ Generate Response ↓ Automatically Send Command ↓ Save Result to Log / CSV
Once configured, the same test can be repeated without manually performing every step again.
Who Is It For?
BLECI is mainly designed for:
• Embedded firmware developers
• Bluetooth Low Energy developers
• ESP32 developers
• Nordic nRF52 / nRF53 / nRF54 developers
• STM32WB developers
• IoT engineers
• Hardware engineers
• BLE protocol developers
• Developers testing custom BLE peripherals
Current Status
BLECI is currently available as an iOS application and is actively being improved.
I am especially interested in feedback from embedded and BLE developers about:
• BLE debugging workflows that are still difficult to automate
• Protocol parsing features that would be useful
• Common testing scenarios
• Additional data conversion methods
• Firmware validation workflows
• Features that could make BLECI useful as a lightweight BLE testing tool
Project Goal
The long-term goal is to make BLECI a flexible BLE development companion that sits between a basic BLE scanner and a full custom test application.
Instead of writing a dedicated mobile test app every time a BLE protocol changes, developers should be able to describe the protocol and testing workflow directly inside BLECI.
Yan