Hardware used:
-
ESP32 Wroom DevKit V1 (Link to website partial Dutch)
- WaveShare 1.54" E-ink Display (Link to website partial Dutch)
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…
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…