I try in the last days a lot and finaly got a BW waveshare eink with 2.13 inch and 250x122 pixel working even with partial update.
This display, with the printed hardware version 2.1 on the backside:
https://www.amazon.de/dp/B07Q5PZMGT?psc=1&ref=ppx_yo2ov_dt_b_product_details
wired as shown here:
to a ESP32 from here:
https://www.amazon.de/dp/B09PLDKPNT?psc=1&ref=ppx_yo2ov_dt_b_product_details
and this esphome code:
########################################################################
font: ##################################################################
########################################################################
# gfonts://family[@weight]
- file:
type: gfonts
family: Roboto
weight: 500
id: roboto
size: 32
########################################################################
spi: ###################################################################
########################################################################
clk_pin: GPIO18
mosi_pin: GPIO23
########################################################################
display: ###############################################################
########################################################################
- platform: waveshare_epaper
id: eink_display
cs_pin: GPIO5
dc_pin: GPIO17
busy_pin: GPIO4
reset_pin: GPIO16
# model: 2.90inv2
model: 2.13in-ttgo-dke
full_update_every: 30
update_interval: 60 sec
rotation: 270°
reset_duration: 2ms
lambda: |-
it.print(0, 0, id(roboto), "Hello World!");
I am really happy with it now, but it was a long journey.