Hey everyone! I wanted to share my experience setting up an ESP32 with a Waveshare 4.2" E-Paper Display in Home Assistant. This was a bit of a learning curve for me, but I managed to get it working smoothly. Hopefully, this guide can help others who are new to this setup!
Hardware Setup
First, I gathered my components:
- ESP32 Board: I used one with the CH340 Chip (ESP-WROOM-32).
- E-Paper Display: Waveshare 4.2" (400x300, GDEY042T81 Rev. T81 V2.2).
Connecting the pins was a bit tricky at first, but I figured it out:
plaintext
ESP32 → Display
3V3 → VCC (Make sure it’s 3.3V, not 5V!)
GND → GND
GPIO23 → DIN (MOSI)
GPIO18 → CLK (SCK)
GPIO5 → CS
GPIO17 → DC
GPIO16 → RST
GPIO4 → BUSY
Home Assistant Configuration
I installed the ESPHome add-on from the add-on store. Then, I edited the configuration.yaml file to include the ESP32 device. I added a script to send messages to the display and set up a dashboard card for easy control.
To make it even better, I uploaded some fonts for nicer text display. I used Roboto-Regular.ttf and Roboto-Bold.ttf. Here’s how I set it up:
yaml
font:
- file: “Roboto-Bold.ttf”
id: f_big
size: 28 - file: “Roboto-Regular.ttf”
id: f_small
size: 20
Dashboard Integration
I created a simple dashboard with two entities: one for inputting text and a button to send it to the display. It’s super handy for quick updates!
Challenges and Tips
- Voltage Issues: Make sure you’re using 3.3V for the display; 5V will damage it!
- Busy Pin: The BUSY pin is crucial for ensuring the display updates correctly. Don’t skip it!
- Fonts: Uploading custom fonts makes the display look much better. I recommend spending a bit of time on this.
This setup has been a great addition to my smart home. It’s perfect for displaying messages, times, or even temperatures. If you’re looking for a low-power, always-on display, I highly recommend giving this a try!
Let me know if you have any questions or if you’ve tried something similar. Happy tinkering! ![]()