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
- custom HA template for exporting the sensor data as HTTP endpoint
- Systemd service for running the server
Display
Arduino
GxEPD2
for controllling and drawing on the ePaperArduinoJson
for decoding the response from Home Assistant- fonctconvert from AdafruitGFX to convert fonts to header files
rsvg-convert
to 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.