Controlling Flipper Zero by Voice and Neural Network with Vesper
Recently came across the V3SP3R repository. The author decided to combine two popular hobbies of recent years: the Flipper Zero pocket gadget and language models. Anyone who has tried scrolling through endless lists on the small "flipper" screen using a joystick remembers this specific experience. Delegating routine tasks to text or voice commands seems like a perfectly natural step.
What Vesper Is
Vesper is an Android mobile app written in Kotlin with the Jetpack Compose UI toolkit. The setup is straightforward. The phone connects to Flipper Zero via Bluetooth Low Energy, and to neural networks through the OpenRouter unified API gateway.
As a result, you send a natural text query or speak into the microphone. Phrases like "show recent SubGHz dumps," "create a BadUSB script," or "check battery level" are parsed by the neural network into component functions. Then the app sends the necessary RPC commands to Flipper itself and displays the result in the chat.
Main Features of the Project
Voice and Multimodal Control
The app can accept more than just text or audio messages. If you send a photo of a device or a nameplate with technical data, the model will attempt to determine the frequency or protocol. Additionally, the repository includes a Node.js bridge for connecting Mentra smart glasses. With them, you can request images directly from the glasses' built-in camera.
Signal Laboratory and Payload Generation
The Alchemy Lab module contains a visual radio frequency signal editor. You can combine waveforms and immediately export the ready file .sub to the device's SD card. The Payload Lab module handles preparation of Rubber Ducky/BadUSB scripts, infrared remotes, and NFC tags.
Risk Segmentation System
Granting a neural network full access to a hacker's device filesystem is risky. A model hallucination could lead to deletion of needed dumps. To prevent this, the author implemented four access levels:
- Safe read operations are executed automatically.
- File modifications show the difference before and after writing.
- Radio transmission or deletion requires confirmation.
- Firmware system directories are locked by default.
Every action is saved to a local audit log. It can be filtered by type or exported for analysis.
Downloading Software from FapHub and GitHub
The app has a built-in FapHub catalog. You can find the utilities you need and install them on Flipper with one click. GitHub resource search works similarly: the app finds compatible files and downloads them directly to the memory card.
Technical Details
Architecturally, the code is split into three standard layers:
- UI Layer is built on Jetpack Compose with dependency injection via Hilt.
- Domain Layer contains the VesperAgent orchestrator, tool call handler, and RiskAssessor risk evaluation module.
- Data Layer manages Bluetooth connection via FlipperBleService, saves history in Room, and keeps settings in Encrypted DataStore.
When working with LLMs, a common problem arises when the model outputs corrupted JSON in function calls (Tool Calling). Vesper has a built-in syntax correction module that restores the response structure before passing the command for execution.
For models, the author recommends using Nous Research Hermes 4 or Claude Sonnet 4. They handle external function calls well. For simple read tasks, Claude Haiku 4 will suffice, and for parsing complex signals — Claude Opus 4.6.
How to Launch the App
There may be no pre-built APK files in the releases section, so you'll need to build the project yourself.
JDK 17 and an installed Android SDK system are required for building. Clone the repository and run the build:
git clone https://github.com/elder-plinius/V3SP3R.git
cd V3SP3R
./gradlew assembleDebug
The ready file will appear at app/build/outputs/apk/debug/app-debug.apk.
Three things are needed for the app to work:
- A smartphone with Android 8.0 or higher.
- Bluetooth enabled on Flipper Zero.
- An OpenRouter account with a balance of a couple of dollars.
After launching, grant permissions for Bluetooth and location access (this is an Android requirement for BLE scanning), insert the API key in settings, and connect to the "flipper" in the Device tab.
Summary
Vesper demonstrates a practical use case for LLM agents in controlling physical hardware. The project isn't without drawbacks: you still need a third-party API key, and building the app from source requires minimal Android SDK skills.
However, for security researchers and microelectronics enthusiasts, this is an excellent utility that eliminates menu clicking and speeds up routine testing.
相关项目