Meridien, a screen that runs on its own
A touch screen for the ESP32-P4 that needs neither Home Assistant nor ESPHome. The goal: the time, the weather from an API, a voice assistant linked to the AI model of your choice, and a settings page served by the screen itself. It is native ESP-IDF and LVGL 9 firmware, a sibling of my Home Assistant display: it keeps its taste (themes, fonts, short texts, accents) but not its dependency. The project is only at its beginning: this page says what runs and what does not exist yet.

A render of the firmware itself, made on a PC (example data), not a photo of the board.
- Boards
- M5Stack Tab5 · Waveshare 7B
- Built on
- ESP-IDF 5.5 · LVGL 9
- Screen languages
- 7
- Licence
- MIT
- Status
- Early days
What it shows
A screen made to stay on in a room and look after itself: it fetches its own weather, sets its own time and remembers its settings.
The main screen
The time and date of the chosen place, the weather now, the curve of the coming hours, a banner for rain nearby and alerts, and five days of forecast. The background is a sky drawn from the time of day and the weather, with themes.
A long press, no button
A long press opens, under the finger, a wheel of round buttons: Settings, Details, Alerts. The Details page gathers seven quantities: wind, rain, humidity, pressure, UV, sun and moon.
Weather without Home Assistant
The screen queries Open-Meteo itself. If the network drops, it keeps the last weather, greyed out and marked as stale, and it sets its time from the network.
Official alerts
They come from Vigie and are shown only while one is in force.
Settings served by the screen
A web page served by the screen itself, behind a six-digit pairing code, and settings screens on the display. When you change the Wi-Fi network, the screen goes back to the old one by itself if the new one does not work.
Seven languages
The screen texts exist in French, English, German, Dutch, Spanish, Italian and Turkish.
Where it stands
Taken from the repository's compatibility table, kept up to date with the code. A function is written “observed” there only on the board where it was seen, with the commit and the date.
Seen running on the board
On the M5Stack Tab5 (ST7121 display): the display and the touch, Wi-Fi through the ESP32-C6 chip, the time, the weather from Open-Meteo, the main screen and the settings screens. On the Waveshare 7B: it boots, the display shows well, and Wi-Fi, the time and the weather at start-up work.
Written and checked on a PC, not yet seen on a board
The Vigie alerts, the time of the chosen place (time zones), the weather sources by country (MET Norway, the NWS in the United States). The redone home screen and the long-press wheel date from 8 November 2026: their trial on a board is not yet recorded in the table.
Not started
The voice assistant: its logic is written and checked on a PC, but no real speech-recognition or language-model service has been called, and echo cancellation and the wake word are not started. Neither are the Google calendar and the first-connection portal.
Not tried on the 7B
A finger on the screen, the sound, the settings screens, the alerts and changing the time zone have not been tried on this board.
What was not looked at or not measured is written as such in the table. The plan, the cost in time and tokens, the measurements, the research notes and the decisions of the repository are working documents, in French.
Its limits
- Early days: no version is published, so there is nothing to flash without building it yourself.
- Built only on the author's PC: Windows, with the ESP-IDF 5.5.5 that ESPHome had already installed; the build script has not been tried on any other PC.
- Modest security: the Wi-Fi password and the settings are kept in the device's flash memory without encryption, and the settings page is served over plain local HTTP behind a six-digit code (see SECURITY.md).
- Tight internal memory: the repository's measurements show a slow drop in free memory, still unexplained on 7 November 2026.
- Translations not all reviewed: the German and Turkish texts have not been reviewed by a native speaker.
- One maintainer, code written with a lot of help from AI, no promise of support.
The technical side
- An ESP32-P4 (RISC-V) with an ESP32-C6 for Wi-Fi; developed on the Tab5, with a board layer for the Waveshare 7B.
- Native C++ on ESP-IDF 5.5 and LVGL 9, without Home Assistant or ESPHome. Each zone of the main screen is a single LVGL object that draws everything, to save memory.
- The core (weather, time and time zones, settings, voice-assistant logic) is C++ with no ESP-IDF or LVGL, tested on a PC with AddressSanitizer, UBSan and mutation tests (more than 1,400 tests on 7 November 2026). That says nothing about how it behaves on the board.
- The images on this page are renders made on a PC by the same drawing code as the screen's.
A personal project shared in case it helps, written with the help of AI: the author sets the goals and judges the result on the real screen.
Going further
- The README: the project in two minutes, in English and French.
- Compatibility and versions: which board, which function, seen or not.
- Architecture: the layers and the folders.
- Troubleshooting: symptom, cause, solution, with the board it happened on.