Case study
xbloom-ble: a client for the xBloom Studio BLE protocol
xbloom-ble implements a Python client for the xBloom Studio coffee machine's recovered Bluetooth LE protocol. The author documents capturing app traffic and comparing GATT command frames; the CLI and terminal UI load recipes, program dial presets, optionally start brewing and display live scale telemetry.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: An xBloom Studio machine and Bluetooth LE access are required; the phone app must disconnect before writes because the machine accepts one BLE link.
- Prerequisites: Python 3.10 or newer, with bleak and PyYAML; Linux also requires BlueZ.
- Prerequisites: Remote start dispenses near-boiling water and requires the machine to be physically ready.
- Testing evidence: The author tested only one machine running firmware V12.0D.500.
- License: MIT licence.
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/REVERSE-ENGINEERING.md GitHub · Janczykkkko/xbloom-ble · Revision cfa29da
- README.md GitHub · Janczykkkko/xbloom-ble · Revision cfa29da
More in Protocols
- ak820: reconstructing AJAZZ AK820 Pro HID control on macOS · Case study
- GameTrak Liberation: a client for the controller's HID protocol · Case study
- Cooper Hunter AC: UART and infrared protocol investigation · Case study
- aw5d-linux: driving an iBUYPOWER cooler LCD from USB-HID research · Case study
- MyJBxHeadsetControl: JBL Quantum 950 controls over USB HID · Case study
- zlt: MTN ZLT T10D MAX router API reconstruction · Case study