Inspired by the Weatherman Dashboard for ESPHome, I created a battery-based version using an XIAO nRF52840 MCU with Bluetooth Low Energy.
Estimated battery life is up to 12 months
, as the MCU only consumes 22.5 µA during idle phases. Charging is done by the integrated charging controller of the XIAO nRF52840 via USB C.
Hardware
- Seeed Studio XIAO nRF52840 link
- Waveshare 13187 7.5inch e-Paper link
- Waveshare e-Paper Driver HAT Rev2.3 link
- IKEA Ribba frame link
- 2500mAH Lithium-Polymer battery link
Software
BLE Server
- GitHub - kevincar/bless: Cross-platform Bluetooth Low Energy Server Python Library · GitHub
- custom HA template for exporting the sensor data as HTTP endpoint
- Systemd service for running the server
Display
ArduinoGxEPD2for controllling and drawing on the ePaperArduinoJsonfor decoding the response from Home Assistant- fonctconvert from AdafruitGFX to convert fonts to header files
rsvg-convertto convert Material Icons svg to png (withfind . -type f -name "*.svg" -exec bash -c 'rsvg-convert -h 512 "$0" > "$0".png' {} \;)- image2cpp for converting the created png files to header files with bitmaps
More information and references can be found in my repo. If someone likes the project, I’m happy to share more detailed setup/customization instructions.
