This project provides a complete solution for a wall-mounted e-ink display powered by ESPHome and tightly integrated with Home Assistant. It displays weather, calendar events, room temperatures, and Slovenian date/time, with smart refresh logic and support for dark/light modes.
Element positioning was planned with this design simulator page (https://jnan.co/tools/displaysim/), which significantly reducing trial-and-error reflashing. I also used different AI to tweak some parts of the code, which again saved me a lot of time.
- Xiao 7.5" (https://www.seeedstudio.com/XIAO-7-5-ePaper-Panel-p-6416.html) - price for two was 125,18 € (Aliexpress)
- Can be powered via USB-C cable, left running on battery or permanent power directly to +5V and GND PIN on ESP chip
- Display fits perfectly in Ikea frame model RÖDALM with dimensions 13x18 cm (price in Ikea Slovenia was 3,49 € per frame)
- Defines the ESP32-based e-ink display configuration, including fonts, MQTT, API, WiFi, and display logic.
- Dark/Light mode selection.
- Smart refresh logic via Home Assistant or API triggers.
- Uses MQTT and Home Assistant sensors for data.
- Home Assistant Automations & Templates (ha-*.yaml)
- Collects events from multiple calendars, formats them in Slovenian, and publishes to MQTT for the display.
- Fetches daily/hourly weather forecasts and exposes them as sensors for ESPHome.
- Generates Slovenian-formatted date and time sensors.
- Smart refresh automation for the display, avoiding unnecessary updates at night and responding to activity.
- Custom TTF fonts for Slovenian characters and Material Design Icons.
Shows weather icons, forecasts, room temperatures, calendar events, date, and time.
All date, time, and calendar text is localized.
Refreshes only when needed, with night-time suppression and activity triggers.
User-selectable appearance.
Data is fetched and pushed via MQTT and Home Assistant sensors.