Use ESPHome with e-ink Displays to blend in with your home decor!

OK, let’s start our way to success! :laughing: Hopefully… :laughing:

What version of the board are you using? The one with the CP2102 or the CH343? You can see that on the small chip on the board. In the Amazon product you linked, the first picture, it’s the small black chip. If you zoom in on the product pic, you can see “CP2102” on that chip. Which is yours?

Have you taken the correct driver from the Waveshare page, corresponding to your chip? :slight_smile: And not offensive, are you sure? :wink: :laughing: Please double check.

Find them here:

Are you sure, the cable is a data cable (just to make sure, you didn’t use different cables for the other “working” ESP board)?

That said, I’m not sure, if the downloadable drivers on the Waveshare page are correct.

Link #1 for MacOS links here:
and #2 here

You might need to try both, I’d start with the second one, seems more up to date.

And you said, you have tried different button combinations. Have you tried without? Just connecting and no buttons?

We’ll get there, but it seems tedious. :slight_smile:

Until when (which update)? My guess would be something with the forecast, as that was deprecated a while ago, and stopped working with 2024.4.x or 2024.5.x.

Try to see, what the states you are working with really say (developer tools). You can test everything from your code in the dev tools, and see what comes up. Let us know, with which part you get an error, so we can debug that one.

If you don’t know how to check this in dev tools, let me know as well, so I can write up some instructions. :slight_smile:

Hi @paddy0174,
many thanks. And trust me: I am old enough, that I won’t be offended by anyone that helps me. Many many thanks. I am really digging in the mud. If I sound offended, it might be due toi the case, that english is not my mother language
I took a foto, as the chip is not really readable.

I would guess that I have a CH343 and this

is the driver I have installed.

I just check, and this seems to be the exact same driver, you mentioned.

One thing I noticed: Before the error comes, I see something like

Loaded custom configuration from /Users/ry90/
Serial port /dev/cu.usbmodem54E20349931
WARNING: Pre-connection option "no_reset" was selected. Connection may fail if the chip is not in bootloader or flasher stub mode.

Here I than press BOOT/EN and release EN than boot

Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 94:b5:55:1c:8a:74

The above seems to come from the ESP, or am I wrong? So a connection is there, still I get the error after

Uploading stub...
A fatal error occurred: Failed to write to target RAM (result was 01070000: Operation timed out)

How can I make sure, the driver is installed and accessed?


resolved, my mistake was that I accidentally changed a setting.
As I also did the update shortly after, I associated one thing with another but I’ve already resolved it.

Hi @paddy0174,
I gave up and went to windows. I successfully got the basic ESP installed with Windows within seconds. So it seems Mac is more a grafics machine than a hardware machine :slight_smile:

I now can connect with my mac to this page

and wonder which of the generated files I should flash how. (As I do not want to install the full esphome environment on this slow old windows machine.

~/epaper/.esphome/build/weatherman/.pioenvs/weatherman/firmware.bin 0x1000 
~/epaper/.esphome/build/weatherman/.pioenvs/weatherman/bootloader.bin 0x8000 
~/epaper/.esphome/build/weatherman/.pioenvs/weatherman/partitions.bin 0xe000 

To me it looks as if they have to start at different memory places, which I cannot select at the webinterface. Or is firmware.bin the start, and the rest than “happens” with the next update OTA?

I do not want to brick the ESP.


Hi @paddy0174 ,

I finally gave up and got it to run :slight_smile: As under Windows everything seemed to run smooth, I did install esphome at this old windows machine, and it worked perfectly at the first run.

I than could install all needed files from windows, and the ESP e-epaper is in my WLAN. I than could to my first OTA with my mac, and I am now a small step further: E paper shows “waiting text”, and I can start tomorrow to integrate the full system in my HomeAssistant.

As you seem to have some hardware knowledge, I would like to ask a question:

I saw some code, that updates the epaper, if a sensor “sees” a person. Which is great, but in my environment, it would be better, if I could have a small physical pushbutton that if pressed, gets the newest data and the e-paper is refreshed.

I got here the driver board description

and I think I could use a physical button like this

to connect to an unused GPIO over this pushbutton to ground, add some “glue” with this

and I am done :slight_smile: right?

Is this at least a way to go, or totally wrong?

many thanks

Hi alltogether,
I am still figuring our how to get all this running, and stumbled over the following warning:

In the code I (and it seems many others) are using, I cannot see the

inverted: true

anywhere in the code. I would have expected it here:

# Now render everything on the ePaper screen.
  - platform: waveshare_epaper
    id: eink_display
    cs_pin: GPIO15
    dc_pin: GPIO27
    busy_pin: GPIO25
    reset_pin: GPIO26
    reset_duration: 20ms
#    model: 7.50inV2   # s/w board
    model: 7.50in-bV2  # r/s/w board
    update_interval: never
    rotation: 90°
    lambda: |-

But do not exactly know how to set the inverted true.

Or is this not a problem at all, and the doc at is old/worng?


Love this, thanks for sharing! I’ve ordered ny own screen and cpu now…

Just one question. Is there no better way to do layout, than to hard code pixel positions? No simple little ui framework we could use?

1 Like