But that display is only a ESP32-S3. this thread is about a P4 screen. Much better!
It’s unlikely you’ll see anything worthwhile anytime soon. Both Guition and Waveshare only make development boards/devices and don’t produce certified end-use devices! So, there are two options:
a) Wait for something from the vendors (unlikely)
b) Pay Waveshare to modify their device (likely very expensive, but you can sell it yourself
)
Hi everyone… I’m not a geek, but I’d like to integrate an ESP32-P4 display into my home HA… Could someone please help me? I tried to configure it in esphome, but I can’t… I’ve never used esphome, so if anyone could help me, I’d be grateful… The display in question is the one I purchased with this link:
https://a.aliexpress.com/_EyKTETE
Thanks in advance
This is the English HA forum; it is available in other languages also.
Start by flashing this
Follow the quick start directions here
Does anyone with this device have the audio working? I’ve tried some of the configs here but they all fail for me. The only way I can get it to work is by using a hacked es8311 component that allows it to share the i2s bus with the es7210.
I’m curious how you guys are doing it.
I tried flashing this, worked fine.
Nvm, realized (thanks ChatGPT) I had to define the sensor first:
sensor:
- platform: homeassistant
id: p1_meter_power
entity_id: sensor.p1_meter_power
This is the button I add:
button_5: !include
file: esphome-modular-lvgl-buttons/buttons/sensor_button.yaml
vars:
uid: button_5
row: 0
column: 4
text: Current Power
icon: $mdi_transmission_tower
icon_color: light_green
sensor_id: "p1_meter_power"
sensor_font: nunito_24
Now some further fiddling around with this.
hmm looks promising
I wanted an other approach.
I don’t really need the screen for controlling things, my smart-home is autonomous enough for that. I like the screen for some quick insights around current temperature and mainly energy usage/production.
That, for now, resulted in this:
It is based on the esphome-modular-lvgl-buttons repo, but the main_page is completely custom. Learned a lot about lvgl the last 2 days.
I really like the look and feel of the @alaltitov repo, but most of the pages are not what I am looking for.
I don’t really understand the backlight config, in the logging I see the device becoming idle but there seems no further action on it. I would like some sort of “sleep” state with low brightness.
Also was wondering if LVGL: Tips and Tricks - ESPHome - Smart Home Made Simple is implemented?
Yes! This is typically what I use these screen for as well. I have already written libraries for solar info, weather, and also tides. I live near the ocean and I have built quite a few tide clocks.
I built this modular library to allow all these things to be on one screen. There are many projects on GitHub for building small “info screens” but they are not flexible at all. The modular button library allows you to set up the screen however you want.
The back light config is designed with info screens is mind. I like to always be able to see my screen from across the room. It is bright from sunrise to sunset, and dim from sunset to midnight, then off from midnight to sunrise. When off it does run “anti burn in” and you can tap the screen to turn it back on.
All the settings for this are configurable, so you can change the times and bightness levels by changing the variables for them.
Thanks for the explanation around the backlight. That suits my needs also.
It sure is a modular project. I noticed that the buttons etc are all focused on main_page, is it possible to use them on other pages?
Yes it would be very easy to add another option to the button packages that specified the page for the button to appear on. In my opinion if you have more then one page you start to loose efficiency and usability of the screen very fast. Each button can have a sub page (long press) with more information on what that button is about. After that if you want more buttons get a bigger screen!
The Waveshare esp32-p4-wifi6-touch-lcd-10.1 is amazing. You could fit 20 buttons on it at least. I have working support for it now including Voice Assistant.
https://community.home-assistant.io/t/waveshare-esp32-p4-wifi6-touch-lcd-x
Ha that big screen is awesome, maybe that will be the next one. However I also like the round ones.
For now I have built an status page on main_page with all “own” widgets, i was thinking of one or two sub-pages to display detailed information and use the sensor buttons from your framework on those pages.
Someone tips on improving the wifi on the P4? My display reboots very often and hangs on the loading screen.
The latest code in my repo will offer you an update for the firmware on the C6 that is doing the Wi-Fi for your P4. This has improved Wi-Fi for quite a few users.
Awesome! I try to keep track of your updates but missed this one.
I noticed this error caused by the esphome-modular-lvgl-buttons/hardware/media_player-voice_assistant.yaml file. Excluded it for myself (not using the audio yet).
Failed config
external_components: [source /config/esphome/esphome-modular-lvgl-buttons/hardware/media_player-voice_assistant.yaml:6]
- source:
type: git
url: https://github.com/kahrendt/esphome
ref: 7a6cf5c8472b7e2fa18ee0fc314f66a80d249e32
components:
- const
- media_source
Could not find __init__.py file for component sendspin. Please check the component is defined by this source (search path: /data/external_components/bbfd2970/esphome/components/sendspin/__init__.py).
- sendspin
- source:
type: git
url: https://github.com/esphome/esphome
ref: ff8ce89556748509d7ee8724e12d9d43d3c8c1e8
Just updated successfully, hoping for some good results on the wifi!
Yeah if you don’t use audio you don’t need that. But that code compiles fine here so that error is caused by an issue on your side.
You might want to try the standard stuff like deleting .esphome
Bad news, CONFIG_LV_USE_PPA_IMG only works on chip revisions higher than 3.1…


