[Help Needed] WaveShare E-Paper Display 1.54v2 connected to an ESP32 Wroom DevKit V1

Hardware used:

ESPHome Configuration: (parts)

esphome:
  name: esp32-wroom-4mb-devkit-v1
  platform: ESP32
  board: esp32doit-devkit-v1

........

# https://esphome.io/components/display/index.html
# Fonts: https://github.com/PrincetonUniversity/COS333_Comet/tree/master/android/app/src/main/assets/fonts
font:
  - file: 'fonts/Comic Sans MS.ttf'
    id: font_cs_ms_32
    size: 32

# https://esphome.io/components/spi.html
spi:
  mosi_pin: GPIO23 #GIOP23, D23, required, Blue (DIN --> MOSI)
  clk_pin: GPIO18 #GIOP18, D18, required, Yellow (CLK --> SCLK)   

time:
  - platform: homeassistant
    id: homeassistant_time 

# https://esphome.io/components/display/waveshare_epaper.html
display:
  - platform: waveshare_epaper
    id: epaper
    cs_pin: GPIO5 #GIOP5, D5, required, Orange (CS --> VSPI SS)
    dc_pin: GPIO22 #GIOP22, D22, required, Green (DS --> GPIO22)
    reset_pin: GPIO21 #GIOP21, D21, optional, White (RST --> GPIO21)
    busy_pin: GPIO19 #GIOP19, D19, optional, Dark Purple (BUSY --> GPIO19) 
    model: 1.54inv2
    full_update_every: 2
    update_interval: 30s
    reset_duration: 2ms
    lambda: |-
      it.strftime(60, 60, id(font_cs_ms_32), "%H:%M", id(homeassistant_time).now());

# Inputs
  # Binary Sensor component
  # https://esphome.io/components/binary_sensor/index.html
binary_sensor:
  - platform: gpio
    id: button_hw
    pin:
      number: GPIO34
      inverted: False
    name: "ESP32_wroom Button (HW)" # HW =  a hardware button

  # Button component
  # https://esphome.io/components/button/index.html
  # Be Aware, this is a, non-hardware wired, button (one-puls)
button: 
  - platform: template
    id: tplt_button_inp
    name: "ESP32_wroom Button (SW)" SW = a software (virtual) button
    on_press:
      then:
        - logger.log: Display Reset Activated
        #- output.turn_on: display_reset

# Outputs (temporary disabled)
  # Output component
  # https://esphome.io/components/output/index.html
##output:
##  - platform: gpio
##   pin: GPIO21
##    id: display_reset

I’m not an expert, more a ESP32 rookie, so please keep it as simple as you can in your answer… :wink:

Questions:

1 - The display is flickering every 30 second (black → white, about 5 times, update_interval?).
2 - I have to use full_update_every 2 times, otherwise the display gets ghosted. Can this be prevented?
3 - I tried to get a manual reset (by button to activate reset_pin) with no success. Can this be done?
4 - Is my hardware configured/connected the right way?

Any suggestion would be very welcome, please help me out to get this (kind of) working… :thinking:

Anyone? Please help!

Hi, I have a similar behavior with the same board.

It’s quite strange.
Did you find a solution ?

Unfortunately not… :roll_eyes:
BTW, sorry for the late response. :wink:

Hi,
How I managed it (for a month):

  • flashed with a working arduino code
  • use with esp-home by inverting colors
  • never power it off for more than a few seconds

I will try to get it work better now (it was used in an advent calendar)