# 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.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-06
- Original resource: <https://github.com/Janczykkkko/xbloom-ble>
- Primary source: <https://github.com/Janczykkkko/xbloom-ble/blob/cfa29daa771fdd147de78c1844d2251ca81ea583/docs/REVERSE-ENGINEERING.md>
- Catalog page: <https://awesomerea.org/resources/xbloom-ble-case/>
- Record JSON: <https://awesomerea.org/resources/xbloom-ble-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/xbloom-ble-case/index.md)

## 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.

## Primary sources

1. <https://github.com/Janczykkkko/xbloom-ble/blob/cfa29daa771fdd147de78c1844d2251ca81ea583/docs/REVERSE-ENGINEERING.md>
2. <https://github.com/Janczykkkko/xbloom-ble/blob/cfa29daa771fdd147de78c1844d2251ca81ea583/README.md>

## More in Protocols

- [ak820: reconstructing AJAZZ AK820 Pro HID control on macOS](https://awesomerea.org/resources/ajazz-ak820-pro-mac-case/index.md) · Case study
- [GameTrak Liberation: a client for the controller's HID protocol](https://awesomerea.org/resources/gametrak-liberation-case/index.md) · Case study
- [Cooper Hunter AC: UART and infrared protocol investigation](https://awesomerea.org/resources/cooper-hunter-ac-protocol-case/index.md) · Case study
- [aw5d-linux: driving an iBUYPOWER cooler LCD from USB-HID research](https://awesomerea.org/resources/aw5d-linux-case/index.md) · Case study
- [MyJBxHeadsetControl: JBL Quantum 950 controls over USB HID](https://awesomerea.org/resources/myjbxheadsetcontrol-case/index.md) · Case study
- [zlt: MTN ZLT T10D MAX router API reconstruction](https://awesomerea.org/resources/zltrouter-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
