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

Thank you very much for the code! I’ll look into integrating it into my code. :smiley: I hope this will help mitigate the display issue somewhat.

1 Like

Since these e-paper displays keep their display without power, why do we have to power them by USB?
How about these devices used in the supermarket without USB?

The supermarket epaper tags are powered by 2 x CR2450 cells for a relatively small screen, and since it only needs to be updated when price changes, it probably won’t update every day or even every week.

For weather in this project, it needs to be updated every hour or so; and for train times, it needs to be updated even more often every few minutes. I think, for weather, we can probably deep sleep ESPHome to make it possible to run this on a small Lipo battery, but for train times it’s probably not.

Is it possible to get a similar thing but touchscreen, to directly control stuff?

how could you input control this device directly without the touchscreen? or, would it be possible to have it touchscreen?

Based on the idea of GitHub - lmarzen/esp32-weather-epd: A low-power E-Paper weather display powered by an ESP32 microcontroller. Utilizes the OpenWeatherMap API.

I have created my battery & ESPHome driven display.
It provides some weather info, 5 day forecast, trash collection information and (if applicable) groceries delivery time slot.
Still have some space to fill :slight_smile:
Created a 3D-printed case for the battery (3700 mAh LIPO) and ESP board (Firebeetle ESP32E).

It updates all its sensors every hour with a deep sleep in between. During the night is has a 8-hour deep sleep. Sensor data is coming from HA.

Code: GitHub - jeroen85/epaper-display

20 Likes

Hello everyone! First time when i sawthis project i was really like it. I bought display with control board, both arrived to me. I read everything here and probably i have same issue like liminalShane - the screen just doesn’t work. I was trying many variants of configurations, and nothing. Display even dont blink when i powered on

My display config:

display:
  - platform: waveshare_epaper
    cs_pin: GPIO15
    dc_pin: GPIO27
    busy_pin: GPIO25
    reset_pin: GPIO26
    model: 7.50inv2b
    id: eink_display
    update_interval: never
    reset_duration: 2ms

with this before

external_components:
  - source:
      type: git
      url: https://github.com/atomicmike/esphome.git
      ref: waveshare-color-2022.6
    components: [waveshare_epaper]

I was trying another configuration before:

display:
  - platform: waveshare_epaper
    id: epaper_display
    cs_pin: GPIO15
    dc_pin: GPIO27
    busy_pin: GPIO25
    reset_pin: GPIO26
    model: 7.50in-bV2
    reset_duration: 200ms
    update_interval: never
    rotation: 90°

Switches on board in positions ‘A’ and ‘on’. I just wanna know what i am doing wrong with that.

What type of display and control board did you buy?

Waveshare 7,5 inch B display with red color i think. On the back side has V3 sticker. Control board - Waveshare ESP32 with cable

Check this configuration.

esp32:
  board: esp32dev
  framework:
    type: Arduino

spi:
  clk_pin: GPIO13
  mosi_pin: GPIO14

display:
  - platform: waveshare_epaper
    id: eink_display
    cs_pin: GPIO15
    dc_pin: GPIO27
    busy_pin: GPIO25
    reset_pin: GPIO26
    reset_duration: 2ms
    model: 7.50inV2
    update_interval: 60s
    rotation: 90°
    auto_clear_enabled: false

Wait for 1 minute to see if it refreshes.
If not, upload the demo project and check if the display is working.

Omg, thank you! I see the white noise, but im really happy, because i think that the display is broken

This is great! Do you know if it’s possible to like make the screen white with only a text in center that says something like “Sleep mode activated, see you in the mornin” or something to let one know it’s in it’s nighly sleep cycle? I tried it previously but I suck at coding this. HA i get but these devices don’t make sence to me

Thanks for the code and inspiration!
Just need a frame now!

2 Likes

This is all very new to me but I’ve got the E-Paper ESP32 board which connects directly to my Waveshare display but I dont know what to select for the ESP Home step.

See my previous post. I just don’t understand why you’re using command line for that. Installing ESPHome is so easy.

esp32:
  board: esp32dev
  framework:
    type: Arduino

So as I said, I’m new to all this. I’m using CLI because thats what I was instructed from the source I found and I’m using HA in docker which doesnt have add-ons. But I guess I need to find a way to get addons in order to use ESPHome

You can install the ESP board firmware by connecting it to your computer via a web browser.
https://web.esphome.io/

can you share your code?

Sure

Hello, I’m very inspired by this setup!

I’ve been trying to replicate the setup and get Waveshare ESP32 eInk Driver Board with a Waveshare 7.5 inch display to work. But to no avail.

I can successfully compile code to, and then connect via Wifi to the Waveshare ESp32 eInk Driver Board via ESPHome, but no luck getting the display to do anything, or refresh etc.

I’m not sure if there is something wrong with my code (see below for simple test code I’m using), dodgy hardware, or if I’ve wired it incorrectly (see images below)

Any pointers much appreciated, I’ve hit a wall!

Thanks

Matt


esphome:
  name: epaper
  compile_process_limit: 1

esp32:
  board: esp32dev
  framework:
    type: Arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
ota:
  
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: !secret weatherman_ap_ssid
    password: !secret weatherman_ap_password

# Pins for Waveshare ePaper ESP Board
spi:
  clk_pin: GPIO13
  mosi_pin: GPIO14

# Now render everything on the ePaper screen.
display:
  - platform: waveshare_epaper
    id: eink_display
    cs_pin: GPIO15
    dc_pin: GPIO27
    busy_pin: GPIO25
    reset_pin: GPIO26
    reset_duration: 2ms
    model: 7.50inV2
    update_interval: 60s
    rotation: 90°
    auto_clear_enabled: false
1 Like