Hi
Did someone succeeded to figure out the exact wiring of that controler ? I get different informations between the board schema and the user manual supplied for it by Waveshare or I read them wrong
Thanks
Vincèn
Hi
Did someone succeeded to figure out the exact wiring of that controler ? I get different informations between the board schema and the user manual supplied for it by Waveshare or I read them wrong
Thanks
Vincèn
No one on this ? Thanks
Vincèn
Have you managed to connect it? After couple hours of reading datasheets I managed to wire 4.2in one - using waveshare provided esp8266 driver board. Pins have different names of courseâŚ
For 4.2in:
spi:
clk_pin: 14
mosi_pin: 13
- platform: waveshare_epaper
cs_pin: 15
dc_pin: 4
busy_pin: 16
reset_pin: 5
model: 4.20in
Oups thanks for reminder and yep I succeeded to get it to work Here is my code with some text I display on it
Had not time yet to display icons or stuffs like that !
spi:
clk_pin: GPIO13
mosi_pin: GPIO14
font:
- file: "Comic_Sans_MS.ttf"
id: my_font
size: 20
sensor:
- platform: homeassistant
entity_id: sensor.outside_temperature_weather_service
id: outside_temperature
internal: true
- platform: homeassistant
entity_id: sensor.living_room_temperature_2
id: flat_temperature
internal: true
- platform: homeassistant
entity_id: sensor.living_room_humidity_2
id: flat_humidity
internal: true
- platform: homeassistant
entity_id: sensor.plex_lausanne
id: plex_users
internal: true
text_sensor:
- platform: homeassistant
entity_id: sensor.next_departure_sallaz
id: next_departure
internal: true
- platform: homeassistant
entity_id: sensor.second_next_departure_sallaz
id: second_next_departure
internal: true
display:
- platform: waveshare_epaper
cs_pin: GPIO15
dc_pin: GPIO27
busy_pin: GPIO25
reset_pin: GPIO26
model: 7.50in
update_interval: 10s
lambda: |-
it.printf(0, 0, id(my_font), TextAlign::TOP_LEFT , "Next Bus: %2.2s", id(next_departure).state);
it.printf(0, 30, id(my_font), TextAlign::TOP_LEFT , "Second Next Bus: %2.2s", id(second_next_departure).state);
it.printf(0, 60, id(my_font), TextAlign::TOP_LEFT , "Outside Temperature: %.2f°C", id(outside_temperature).state);
it.printf(0, 90, id(my_font), TextAlign::TOP_LEFT , "Flat Temperature: %.2f°C", id(flat_temperature).state);
it.printf(0, 120, id(my_font), TextAlign::TOP_LEFT , "Flat Humidity: %.2f%%", id(flat_humidity).state);
it.printf(0, 150, id(my_font), TextAlign::TOP_LEFT , "Plex Users: %.0f", id(plex_users).state);
// it.line(0, 0, 100, 50);
// it.rectangle(50, 60, 30, 42);
// it.filled_rectangle(50, 60, 30, 42);
// it.circle(25, 25, 10);
// it.filled_circle(25, 25, 10);
may I ask which board type you have chosen when flashing ESPHome? thanks
The list is here https://docs.platformio.org/en/latest/platforms/espressif32.html#boards but it is hard to say from the description given - Waveshare ESP32-WROOM-32.
Based on this https://www.waveshare.com/w/upload/4/4a/E-Paper_ESP32_Driver_Board_user_manual_en.pdf (page 9) I would choose Espressif ESP32 Dev Module (ie esp32dev)
thanks, that would also have been my first idea.
but maybe @vincen is so kind and tells us what he used to succeed
Sure here is full copy of my yaml file for it
esphome:
name: e_ink_display
platform: esp32
board: esp-wrover-kit
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_passwd
fast_connect: true
manual_ip:
static_ip: !secret ip_esp_e_ink
gateway: 192.168.1.1
subnet: 255.255.252.0
ap:
ssid: "E-Ink Display"
password: !secret wifi_passwd
ap_timeout: 3min
api:
logger:
ota:
web_server:
spi:
clk_pin: GPIO13
mosi_pin: GPIO14
font:
- file: "Comic_Sans_MS.ttf"
id: my_font
size: 20
sensor:
- platform: homeassistant
entity_id: sensor.outside_temperature_weather_service
id: outside_temperature
internal: true
- platform: homeassistant
entity_id: sensor.living_room_temperature_2
id: flat_temperature
internal: true
- platform: homeassistant
entity_id: sensor.living_room_humidity_2
id: flat_humidity
internal: true
- platform: homeassistant
entity_id: sensor.plex_lausanne
id: plex_users
internal: true
text_sensor:
- platform: homeassistant
entity_id: sensor.next_departure_sallaz
id: next_departure
internal: true
- platform: homeassistant
entity_id: sensor.second_next_departure_sallaz
id: second_next_departure
internal: true
display:
- platform: waveshare_epaper
cs_pin: GPIO15
dc_pin: GPIO27
busy_pin: GPIO25
reset_pin: GPIO26
model: 7.50in
update_interval: 10s
lambda: |-
it.printf(0, 0, id(my_font), TextAlign::TOP_LEFT , "Next Bus: %2.2s", id(next_departure).state);
it.printf(0, 30, id(my_font), TextAlign::TOP_LEFT , "Second Next Bus: %2.2s", id(second_next_departure).state);
it.printf(0, 60, id(my_font), TextAlign::TOP_LEFT , "Outside Temperature: %.2f°C", id(outside_temperature).state);
it.printf(0, 90, id(my_font), TextAlign::TOP_LEFT , "Flat Temperature: %.2f°C", id(flat_temperature).state);
it.printf(0, 120, id(my_font), TextAlign::TOP_LEFT , "Flat Humidity: %.2f%%", id(flat_humidity).state);
it.printf(0, 150, id(my_font), TextAlign::TOP_LEFT , "Plex Users: %.0f", id(plex_users).state);
// it.line(0, 0, 100, 50);
// it.rectangle(50, 60, 30, 42);
// it.filled_rectangle(50, 60, 30, 42);
// it.circle(25, 25, 10);
// it.filled_circle(25, 25, 10);
Thanks a lot!
Esp32dev also works and was today confirmed by waveshares support.
Looking forward to play with this.
Have fun, just donât expect great refresh as ESPHome doesnât really implement it well for now unhappy but it still works well for displaying infos not updating all time like time, weather, temperatureâŚ
Thanks.
Well yes got that from the YouTube videos I watched. It should show some sensor data, weather forecast and upcoming google calendar entries. Refreshed whenever some value changes, which is not that often.
And if it annoys me too much I can also implement something on my own
Hello, I have the 7.5inch V2 epaper from Waveshare and i cant get it to work. I see that Vincenâs code helped many people but not to me. I am new in Home Assistant and epaper too so please keep that in mind. Here is my really simplyfied code to just display anything. The display works with example code for arduino IDE but i canât get it to work through esphome. I use ESP32-WROOM32 DEVKIT V1. Can someone tell me what am i doing wrong please?
Did you ever get this working @Mangee ? I picked up a 7.5inV2, and I can get it working fine with Raspberry Pi examples, but have yet to get it going with ESP32. Iâve tried many pinout combos (including verbatim what is shown in this thread) but no joy.
Sadly, I didnât get it to work. I spent many hours on it and still donât know where is the problem. But would love to have it working.
Iâve been trying to figure this out as well. No joy getting the 7.5v2 working with ESPHome either. My 4.2" works just fineâŚ
Iâve been messing with the 7.50inV2 some time ago. This was my latest abomination that worked: https://pastebin.com/5DShVCGT
I just checked, last time the eink display was on was on 4.4.2021. Perks of e-ink displays, it shows when I last worked on the project
I know I had problems with finding correct pins to use for specific âjobsâ. After figuring them out, display started working with no problems.
The last compiled version that I have was made with ESPHome 1.16.2.
Unfortunately I never finished the project as⌠Life happened
Hope this helps someone
@nejccc - thank you for another reference point on a configuration that used to work. I used all of your settings with my ESP32 and it still didnât work. This one seems hard to track down⌠either something changed in the HAT/hardware - or the driver software. Iâll do the work to get this to work with the demo software that doesnât use ESPHome and validate that the hardware works. I did grab some July 2020 ESPHome wavepaper files to see if that helped. But it didnât - which is why Iâm leaning more towards something changing in the hardware recentlyâŚ
buenas noches
alguien me puede decir como obtengo el cs y dc?
gracias
Iâll translate
can someone tell me how to get the cs and dc
English next time please.
Has anybody had any luck getting the v3 of the e-ink display working with ESPHome using the Waveshare ESP32 board?
Iâve tried every combination of display type and dip switches etc to no avail - display works fine with the RPi hat
substitutions:
esp_name: "waveshare-eink"
ip_address: 192.168.1.201
ip_gw: 192.168.1.1
ip_netmask: 255.255.255.0
esphome:
name: ${esp_name}
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: ${ip_address}
gateway: ${ip_gw}
subnet: ${ip_netmask}
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome-Web-Dd96F4"
password: "glu23pmoBYMF"
captive_portal:
web_server:
port: 80
include_internal: true
time:
- platform: homeassistant
timezone: Australia/Sydney
id: current_time
on_time_sync:
- component.update: uptime_timestamp
switch:
- platform: restart
name: "${esp_name} Restart"
text_sensor:
- platform: wifi_info
ip_address:
name: "${esp_name} IP Address"
id: ip_address
icon: mdi:wifi
entity_category: diagnostic
ssid:
name: "${esp_name} Connected SSID"
id: ssid
icon: mdi:wifi-strength-2
entity_category: diagnostic
bssid:
name: "${esp_name} Connected BSSID"
id: bssid
icon: mdi:wifi-strength-2
entity_category: diagnostic
- platform: template
name: "${esp_name} Uptime"
id: uptime_human
icon: mdi:clock-start
- platform: version
name: "${esp_name} ESPHome Version"
entity_category: diagnostic
sensor:
- platform: uptime
name: "${esp_name} Uptime Sec"
id: uptime_sec
internal: true
- platform: wifi_signal
name: "${esp_name} WiFi Signal"
id: wifisignal
update_interval: 60s
- platform: template
id: uptime_timestamp
name: "${esp_name} Uptime"
device_class: "timestamp"
accuracy_decimals: 0
update_interval: never
lambda: |-
static float timestamp = (
id(current_time).utcnow().timestamp - id(uptime_sec).state
);
return timestamp;
font:
- file: "fonts/GoogleSans-Medium.ttf"
id: main_sensor_unit
size: 20
glyphs: |-
!"%()+=,-_.:°/|0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz'
spi:
clk_pin: GPIO13
mosi_pin: GPIO14
display:
- platform: waveshare_epaper
cs_pin: GPIO15
dc_pin: GPIO27
busy_pin: GPIO25
reset_pin: GPIO26
model: 7.50inV2
update_interval: 1min
rotation: 90°
lambda: |-
it.fill(COLOR_OFF);
it.print(0,0,id(main_sensor_unit), "Hello, World!");