Skip to content
Aux fils des idées Français
Home Assistant · ESP32-P4

Native Home Assistant display

A wall display that runs directly on an M5Stack Tab5 or a Waveshare ESP32-P4 7B, with no browser: Home Assistant pushes what changed, and the screen redraws only that. It is the screen of my house.

The M5Stack Tab5 on its tripod and the Waveshare 7B on its stand, side by side on a desk: the same Home Assistant screen in two different themes
Version
3.9.1 (8 Nov 2026)
Screens
Tab5 · Waveshare 7B
Themes
21, light or dark
Languages
7
License
MIT
Requires
Home Assistant 2026.8+

Videos

Four videos on YouTube, subtitles in seven languages: the voice assistant one is spoken, the others have English texts on screen.

Video: installing the Home Assistant screen with ESPHome from the browser, the blueprint and the 7-inch screen

Install it in 7 steps

From the browser, nothing to compile: HACS, the install page, Wi-Fi, the blueprint.

Watch on YouTube

All the videos on the YouTube channel

What the display does

Everything I need day to day, on a 5 or 7 inch touch screen, without opening an app.

Weather

Rain in the next hour in 9 bars, hourly and 15-day forecasts, official weather warnings. A central card rotates every 8 seconds: work hours, rain graph, warnings, a 3-day summary.

The house

Up to 10 rooms of 20 devices (lights, switches, shutters, players, scenes, sensors) and a "House" view with "all off".

Lights and shutters

Brightness arc, 3 whites and 12 colours. Shutters open, closed or at a position; saying "Stop" stops the shutter.

Heating and cooling

Modes, thermostat arc, presets, airflow, and the temperature history over 24 hours, 7 or 30 days.

Energy

Flows between solar panels, home, grid and battery, a learned production forecast, a monthly balance in kWh (optional).

Music

Any Home Assistant player, with cover art, volume, favourite playlists and multi-room with Music Assistant.

Calendar and alarm

A monthly calendar computed on the screen (work hours, public holidays, appointments) and an alarm clock with a spoken briefing of the day.

Voice

"Okay Nabu" detected on the screen itself, with a choice of two assistants.

And more

Plants (Bluetooth sensors), Samsung TV remote, still camera images, fridges and freezers, sensor tracking, a diagnostics console, and 8 small offline games (experimental).

What it looks like

The screenshots below are renders of the firmware on a PC with demo data.

Home Assistant dashboard, House view: five rooms in columns, each device with its state, and a Lights off button
The House view
Home Assistant lights on the ESP32-P4 screen: the room's lamps, a brightness arc, 3 whites and 12 colours
Lights
Home Assistant thermostat on the ESP32-P4 screen: modes, a setpoint arc at 20 °C, presets and fan speed
Heating and cooling
Home Assistant energy dashboard: solar, home, grid and battery linked by live power lines
Energy
Home Assistant music player on the wall screen: cover art, title, volume and playlists
Music
Home Assistant calendar on the wall screen: the month with work hours, a public holiday, school holidays and appointments
Calendar
Alarm clock of the ESP32-P4 Home Assistant screen: the alarm time and days
Alarm clock
Home Assistant voice assistant on the ESP32-P4 screen: the popup during a question, “Okay Nabu” detected on the device
Voice assistant
Six of the 21 themes of the Home Assistant screen side by side, light and dark
Six of the 21 themes, each light or dark.

Supported screens

Photo of the M5Stack Tab5 as a Home Assistant screen: home with the time, weather and forecast
5 inches · 1280 × 720

M5Stack Tab5

Three display chips exist: ST7123 (the development one), ST7121 (runs for a user, tried at home), ILI9881C (builds, untested).

The Tab5 and its three versions
Home Assistant dashboard on a Waveshare ESP32-P4 7-inch screen: clock, temperatures, energy, work hours and a 5-day weather forecast
7 inches · 1024 × 600

Waveshare ESP32-P4 7B

No longer experimental since 3.9.0: it has been the screen of my house since 14 October 2026. No motion sensor (so no games by default), clock chip or battery.

The Waveshare 7B in detail

Install

No need to compile: you need Chrome or Edge on a computer and a USB-C cable that carries data.

  1. Add the Home Assistant files, with HACS (the "Tab5" integration) or with the archive to unzip into config.
  2. Install the firmware from the install page, then the Wi-Fi.
  3. Add the screen to Home Assistant (ESPHome discovery).
  4. Pick the weather sources and calendars.
  5. Describe rooms, tiles and sensors with a blueprint, without reflashing.

Updates then come through Home Assistant; the screen only accepts firmware signed by the project. Everything is in the installation guide.

How it works

  • Home Assistant pushes, the screen never polls. The project's automations send changes to the screen, which redraws only what moved.
  • The screen only sends events, which Home Assistant turns into actions from an allow list.
  • ESPHome and LVGL 9.5, with the logic in C++; one board chosen at build time, with its own geometry.
  • Tested off the tablet: C++ tests on a PC, screen renders in continuous integration, and more than 70 written architecture decisions.

Going further: the architecture, demo mode without Home Assistant.

Useful documentation

A personal project, made with the help of AI. The seven languages were translated by AI; only French has been proofread. Warnings outside Météo-France have only been tried with simulated data.