Case study
mi-scale-2: decoding Mi Smart Scale 2 weight messages
mi-scale-2 decodes Xiaomi Mi Smart Scale 2 BLE weight data and publishes the readings to MQTT. Its format notes identify unit, stabilized, and weight-removed bits in the first byte and a little-endian weight value in the next two bytes.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 9
- Last commit
- 2023-12-14
- Language
- Python
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a demo observed; no download method found.
- Checked
- 2026-11-09
Requirements & limits
- Prerequisites: Python 3 with python-dotenv, bluepy, and paho-mqtt; bluepy.btle requires root permissions.
- Testing evidence: The author reports testing only with a Raspberry Pi 3b and Mi Scale 2.
- License: MIT license.
Cite
BibTeX
@misc{mi-scale-2-case,
title = {{mi-scale-2: decoding Mi Smart Scale 2 weight messages}},
howpublished = {\url{https://github.com/qbbr/mi-scale-2}},
url = {https://github.com/qbbr/mi-scale-2},
urldate = {2026-11-07},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/mi-scale-2-case/}}
}Plain text
mi-scale-2: decoding Mi Smart Scale 2 weight messages. https://github.com/qbbr/mi-scale-2 (accessed 2026-11-07). Awesome REA entry: https://awesomerea.org/resources/mi-scale-2-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · qbbr/mi-scale-2 · Revision cac6537
More in Protocols
- PSA VAN Bus: documenting Peugeot and Citroën packet formats · Case study
- Apple Wi-Fi Password Sharing: reconstructing the sharing protocol · Case study
- Schellenberg 21009: investigating a USB smart-home protocol · Case study
- 433home: reconstructing REV power-switch radio commands · Case study
- fcp-stuff: mapping the FirstClass TCP protocol · Case study
- Orthoplay: reconstructing OD-11 speaker WebSocket commands · Case study