ESPHome + 4.2in EInk Display

Inspired by the esphome eink display project from these forums. Figured it would be easy to start with a smaller display, see how I like interacting with it, and maybe move on to a larger one depending on how I like this smaller one. Grabbed a waveshare esp32 and an eink display, and figured I was off to the races.

Cannot get the display to display anything. I can get the epd4in2_V2-demo provided by waveshare to work. I can flash the esp32 with a yaml that specifies either 4.20in and the 4.20in-bv2

  name: esphome-web-235d30
  friendly_name: ESPHome Web 235d30

  board: esp32dev
    type: arduino

# Enable logging
  level: verbose

# Enable Home Assistant API


  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Include custom fonts
  - file: 'fonts/GothamRnd-Bold.ttf'
    id: font1
    size: 8

  - id: color_bg
    red: 0%
    green: 0%
    blue: 0%
    white: 0%
  - id: color_text
    red: 0%
    green: 0%
    blue: 0%
    white: 100%

# Pins for Waveshare ePaper ESP Board
  clk_pin: 13
  mosi_pin: 14

# Now render everything on the ePaper screen.
  - platform: waveshare_epaper
    id: eink_display
    cs_pin: 15
    dc_pin: 27
    busy_pin: 25
    reset_pin: 26
    reset_duration: 200ms
    model: 4.20in
    update_interval: 60s
    rotation: 0°
    lambda: |-
      it.line(0, 0, 50, 50, color_text);


Neither version gets a response from the eink display. If I swap in the 2.90inv2 (a model I know is the incorrect one), I can get the display to do something, but obviously this isn’t ideal.

So… My conclusions are:

  1. The display works
  2. The ESP32 works
  3. They’re connected correctly
  4. Something is up with the versioning I don’t understand


  • Waveshare updated their 4.2in display, and I have an unsupported screen
  • Something is wrong with my yaml that I can’t grok looking at documentation
  • I am less informed about esphome then I thought I am, and it’s a third thing

Any guidance on this would be greatly appreciated. I’m still within the return period on the screen, so swapping out for a properly supported is a possibility.

I own this display too, and did not get to a working solution.
There is a complete different controller in this epaper, afair they also put the code for partial refresh into the controller hardware.
So I don’t expect this to work with ESPHome in the near future…

That’s too bad. These are decently priced for the size you get, and the more popular one (the 7.5 in) is a lil pricey. I’ll just return and think about how I’d like to move forward, thanks for the help!

I seems that I have the same problem as you! This is so bad. I waited a long time to receive this panel and now I cannot use it…

Had the same problem with a Waveshare 4.2 inch V2 screen.
There is a workaround on GitHub that worked for me: