Waveshare ESP32-P4 7B en écran Home Assistant
Un écran tactile de 7 pouces en 1024 × 600, construit autour des mêmes puces que le Tab5. Plus grand, moins cher, avec moins de choses à bord. C'est l'écran de ma maison depuis le 14 octobre 2026.

- Écran
- 7", 1024 × 600
- Processeur
- ESP32-P4 à 400 MHz
- Mémoire
- 32 Mo PSRAM, 32 Mo flash
- Radio
- ESP32-C6, Wi-Fi 2,4 GHz
- Statut
- Prise en charge depuis la 3.9.0
Ce qui change à l'écran
Le même micrologiciel que le Tab5, choisi pour cette carte à la compilation. L'accueil et chaque fenêtre gardent la mise en page du Tab5, ramenée à 1024 × 600 : mêmes places, mêmes proportions, en plus petit. Les grandes polices sont réduites, les petites gardent leur taille pour rester lisibles. Dans Home Assistant, la carte se présente comme un Tab5 : les packages et le blueprint la trouvent sans rien changer.



Rendus du micrologiciel sur PC en 1024 × 600 : les mêmes pixels que sur la carte.
La configuration ESPHome
Pour partir de zéro avec ESPHome sur cette carte : un exemple complet et court, qui allume l'écran, le tactile, le Wi-Fi et le rétroéclairage, montre une température de Home Assistant et allume une lumière. Remplacez les deux entités par les vôtres.
# Waveshare ESP32-P4-WIFI6-Touch-LCD-7B avec ESPHome et Home Assistant : écran, tactile,
# Wi-Fi et rétroéclairage, une température de Home Assistant au centre et un bouton qui
# allume une lumière. Broches et réglages du micrologiciel « Écran Home Assistant » (3.9.0),
# qui tourne sur la carte ; cet exemple, lui, est compilé avec ESPHome 2026.9.1 mais pas
# essayé tel quel.
esphome:
name: waveshare-7b
friendly_name: Waveshare 7B
# ESPHome 2026.9.0 plante en réglant l'écran d'un ESP32-P4 révision 3 : 2026.9.1 au moins.
min_version: 2026.9.1
esp32:
variant: esp32p4
# ESP32-P4 révision 3 (de série), dont 400 MHz est la fréquence normale.
engineering_sample: false
cpu_frequency: 400MHz
flash_size: 32MB
framework:
type: esp-idf
advanced:
enable_idf_experimental_features: true
execute_from_psram: true
# À sa vitesse par défaut, la PSRAM donnait une trentaine de « lcd.dsi underrun » par seconde.
psram:
mode: hex
speed: 200MHz
# Le Wi-Fi est sur une deuxième puce, un ESP32-C6, reliée en SDIO.
# Son reset (GPIO54) est actif à l'état haut : false donne « sdmmc_card_init failed ».
esp32_hosted:
variant: esp32c6
active_high: true
clk_pin: GPIO18
cmd_pin: GPIO19
d0_pin: GPIO14
d1_pin: GPIO15
d2_pin: GPIO16
d3_pin: GPIO17
reset_pin: GPIO54
slot: 1
sdio_frequency: 20MHz
use_psram: true
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Waveshare 7B secours"
captive_portal:
api:
encryption:
key: !secret api_encryption_key
# Sans Home Assistant connecté, ESPHome redémarre au bout de 15 min par défaut.
reboot_timeout: 60min
ota:
- platform: esphome
logger:
hardware_uart: USB_SERIAL_JTAG
# Bus du tactile GT911 et des puces audio.
i2c:
- id: bsp_bus
sda: GPIO7
scl: GPIO8
frequency: 400kHz
# Alimentation du lien MIPI-DSI de l'écran : LDO 3 à 2,5 V.
esp_ldo:
- voltage: 2.5V
channel: 3
# Écran EK79007 : le modèle d'ESPHome connaît la carte (reset GPIO33 compris).
display:
- id: panel
platform: mipi_dsi
model: WAVESHARE-ESP32-P4-WIFI6-TOUCH-LCD-7B
dimensions:
width: 1024
height: 600
pixel_mode: 16bit
color_order: RGB
update_interval: never
auto_clear_enabled: false
# Le code de Waveshare dit le reset du GT911 non relié, mais il est sur GPIO23 : sans lui
# et sans les deux miroirs, un seul appui reconnu en cinq minutes.
touchscreen:
- id: touch
platform: gt911
reset_pin: GPIO23
update_interval: 50ms
transform:
swap_xy: false
mirror_x: true
mirror_y: true
# Rétroéclairage : sortie inversée, à 5 kHz.
output:
- platform: ledc
id: backlight_pwm
pin:
number: GPIO32
inverted: true
frequency: 5000Hz
light:
- platform: monochromatic
id: backlight
name: "Rétroéclairage"
output: backlight_pwm
restore_mode: RESTORE_DEFAULT_ON
# À remplacer par vos entités. Pour le bouton, cochez dans Home Assistant « Autoriser
# l'appareil à effectuer des actions Home Assistant » (options de l'appareil ESPHome).
sensor:
- platform: homeassistant
id: living_room_temperature
entity_id: sensor.temperature_salon
on_value:
- lvgl.label.update:
id: temperature_label
text:
format: "%.1f °C"
args: [x]
# Les polices intégrées à LVGL n'ont pas les accents : Roboto, téléchargée à la compilation
# (il ne lui manque que des accents combinants, d'où ignore_missing_glyphs).
font:
- file: "gfonts://Roboto"
id: font_text
size: 28
glyphsets: [GF_Latin_Core]
ignore_missing_glyphs: true
- file: "gfonts://Roboto@700"
id: font_big
size: 64
glyphsets: [GF_Latin_Core]
ignore_missing_glyphs: true
lvgl:
displays: [panel]
touchscreens: [touch]
# La dalle est montée à l'envers par rapport au pilote : 180 pour la carte à l'endroit,
# 0 si vous la montez à l'envers. Le tactile suit tout seul.
rotation: 180
color_depth: 16
byte_order: little_endian
buffer_size: 100%
default_font: font_text
pages:
- id: home_page
widgets:
- label:
id: temperature_label
align: CENTER
y: -70
text: "--"
text_font: font_big
- button:
align: CENTER
y: 100
width: 320
height: 100
widgets:
- label:
align: CENTER
text: "Lumière du salon"
on_click:
- homeassistant.action:
action: light.toggle
data:
entity_id: light.salonValidé et compilé avec ESPHome 2026.9.1 le 28/10/2026, pas essayé tel quel sur la carte : ses broches et ses réglages sont ceux du micrologiciel complet, qui tourne sur la mienne.
Chaque réglage particulier est expliqué en commentaire, et le problème qu'il règle juste en dessous. Deux choses n'y sont pas : le son (ES8311 et ampli, deux micros sur ES7210) et la remise à zéro complète après un redémarrage logiciel ; elles sont dans carte-waveshare-7b.yaml, le fichier de la carte dans le micrologiciel complet. La même carte sans Home Assistant : Vigie sur la 7B.
Les problèmes réglés à son arrivée
Tout est déjà corrigé dans le micrologiciel ; c'est utile si vous partez de zéro avec ESPHome sur cette carte.
- Redémarrages en boucle : ESPHome 2026.9.0 plante en réglant l'écran des ESP32-P4 révision 3 ; il faut ESPHome 2026.9.1 au moins.
- Pas de Wi-Fi : le reset de l'ESP32-C6 est actif à l'état haut, comme sur le Tab5.
- Tactile presque mort : la dalle est montée à l'envers par rapport au pilote, et le contrôleur tactile GT911 doit être réinitialisé par GPIO 23.
- Haut-parleur qui sature : le pilote ES8311 monte jusqu'à +32 dB ; le volume est plafonné à 0 dB et son bas de course relevé, pour un son propre sur tout le curseur.
- Boucle de redémarrages après un redémarrage logiciel : le lien avec la puce Wi-Fi restait bloqué ; chaque redémarrage remet maintenant à zéro tout le cœur numérique.
Ce que la carte n'a pas
- Pas de capteur de mouvement : les huit jeux ne sont pas inclus par défaut (on peut les ajouter en compilant soi-même, mais ceux qui se jouent en inclinant ne répondent pas).
- Pas de puce d'horloge : l'heure vient du réseau à chaque démarrage ; après une coupure de courant, le réveil attend le Wi-Fi.
- Un connecteur de batterie, mais pas de jauge : ce micrologiciel ne lit pas encore la batterie.
- Pas de prise casque, et le Wi-Fi en 2,4 GHz seulement.
L'installer
- Branchez sur l'ordinateur le port USB-C de l'ESP32-P4 et ouvrez la page d'installation dans Chrome ou Edge.
- Choisissez « Waveshare ESP32-P4 7B », installez, puis donnez le Wi-Fi.
- Suivez les mêmes étapes Home Assistant que pour un Tab5.
Les mises à jour arrivent ensuite par Home Assistant, depuis le dossier de cette carte. Carte montée à l'envers ? Le réglage « Screen direction » de l'appareil dans Home Assistant retourne l'image aussitôt, sans recompiler. Elle remplace un Tab5 ? Désactivez d'abord l'ancien appareil dans Home Assistant.
Pas encore essayé depuis la page d'installation sur une vraie carte : la mienne a reçu le micrologiciel publié par une mise à jour sans fil. Pas vérifiés non plus sur la carte : le micro et le mot d'éveil, les caméras. Si vous l'essayez, racontez-le dans les Discussions.
Mesuré sur la carte
- Démarrage : rétroéclairage à 1 s, première image à 4,8 s, Wi-Fi à 9,4 s.
- Consommation à l'entrée USB : 1,56 W sur l'accueil à la luminosité habituelle (multimètre USB, moyenne à 100 mesures par seconde), 3,1 W écran à 100 %, 1,2 W écran éteint.
- Composants : écran MIPI-DSI EK79007, tactile GT911, son ES8311 et ampli NS4150B, deux micros sur ES7210, 17 GPIO libres sur deux connecteurs.
Le détail (broches, schéma, méthode de mesure) est dans la documentation de la 7B. La tablette d'origine : le M5Stack Tab5 et ses versions.