Reverse engineer Bluetooth devices with AI
Many Bluetooth devices only work with the maker's phone app. If the app is abandoned or the cloud service closes, the device stops being useful. The projects on this page used a language model to work out the Bluetooth Low Energy or Bluetooth mesh protocol behind a device, so it could be controlled locally, often from Home Assistant. The usual inputs are a decompiled Android companion app, which shows exactly how each command is built, and a log of real traffic from tools such as btmon or Apple's PacketLogger. The model reads both, proposes a message format, and writes a small client. The person then sends each command to the device and reports what happened. This loop works well for lights, batteries and sensors, because each command has a visible effect. Each entry links the author's writeup or repo and lists the model, tools and outcome.
- Projects
- 6
- Outcomes
- Works5Partial1
- Models used
- Claude5GPT1
The projects
Share the writeup or repo, and what the AI got right and wrong.
Related guides
Common questions
Decompile the companion app with JADX, capture real traffic with btmon or PacketLogger, and give both to an agent such as Claude Code. Ask it for the message format and a small test client, then check each command on the device.
Usually not. A computer with Bluetooth and the phone that runs the official app are enough for most projects here. Some used an ESP32 board as a local bridge.
Several projects here did exactly that, once the protocol was known. They either wrote a custom integration or bridged the device over MQTT.