ESP32 + Waveshare 4.2" E-Paper Display Integration Guide

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! :rocket: