I Connected My Withings Body+ to Home Assistant with an ESP32
summary
The author successfully bypassed the Withings cloud by using an ESP32 microcontroller to intercept weight and body composition data via Bluetooth. By leveraging an original ESP32's Bluetooth Classic capabilities and AI-assisted reverse engineering of the Withings Android app, the data is sent directly to Home Assistant via ESPHome. This setup ensures data privacy and removes dependency on external servers while maintaining the scale's multi-user functionality.
key points
- The project requires an original ESP32 board because only it supports Bluetooth Classic, which is necessary for communication with the Body+ scale, unlike the C3 or S3 variants.
- AI tools like Codex were used to analyze decompiled Android app code and Bluetooth packets to create a custom ESPHome component, replacing the need for official cloud integration.
- Data management is handled through Home Assistant template sensors to prevent measurements from disappearing when the ESP32 is offline and to ensure clean step charts for weight history.
who should read it
Home automation enthusiasts and privacy-conscious users who want to integrate smart scales into Home Assistant without relying on cloud services.
discussion positive
consensus
Users generally agree that bypassing proprietary cloud-based apps via reverse engineering or local proxies improves privacy and user experience. There is a strong preference for local control using tools like Home Assistant and ESP32 to avoid unnecessary cloud synchronization. While some express skepticism about the lack of shared code, the overall sentiment is supportive of reclaiming hardware functionality from restrictive manufacturer ecosystems.
top insight
Large Language Models like Claude Opus can significantly lower the barrier to reverse engineering undocumented Bluetooth protocols by analyzing decompiled APK code for non-experts. This allows users to create custom implementations and documentation of protocols in hours rather than months. This shift transforms complex software engineering tasks into accessible projects for hobbyists.
Generated by an LLM from the article and thread. Check the sources before relying on it.