Meridien, un écran qui tourne seul
Un écran tactile pour ESP32-P4 qui n'a besoin ni de Home Assistant ni d'ESPHome. Le but : l'heure, la météo d'une API, un assistant vocal relié au modèle d'IA de votre choix, et une page de réglages servie par l'écran lui-même. C'est un micrologiciel natif ESP-IDF et LVGL 9, cousin de mon écran Home Assistant : il en garde le goût (thèmes, polices, textes courts, accents), pas la dépendance. Le projet n'en est qu'au début : cette page dit ce qui tourne et ce qui n'existe pas encore.

Rendu du micrologiciel lui-même, fait sur PC (données d'exemple), pas une photo de la carte.
- Cartes
- M5Stack Tab5 · Waveshare 7B
- Base
- ESP-IDF 5.5 · LVGL 9
- Langues de l'écran
- 7
- Licence
- MIT
- Statut
- Début de projet
Ce qu'il montre
Un écran fait pour rester allumé dans une pièce, qui s'occupe de lui-même : il va chercher sa météo, règle son heure et se souvient de ses réglages.
L'écran principal
L'heure et la date du lieu choisi, la météo du moment, la courbe des heures à venir, un bandeau pour la pluie proche et les alertes, et cinq jours de prévisions. Le fond est un ciel dessiné d'après l'heure et le temps, avec des thèmes.
Un appui long, pas de bouton
Un appui long ouvre, sous le doigt, une roue de boutons ronds : Réglages, Détails, Alertes. La page Détails regroupe sept grandeurs : vent, pluie, humidité, pression, UV, soleil et lune.
Une météo sans Home Assistant
L'écran interroge lui-même Open-Meteo. Si le réseau tombe, il garde la dernière météo, grisée et marquée périmée, et il règle son heure par le réseau.
Les alertes officielles
Elles viennent de Vigie et ne s'affichent que lorsqu'il y en a une en vigueur.
Des réglages servis par l'écran
Une page web servie par l'écran lui-même, derrière un code d'appairage à six chiffres, et des écrans de réglages sur l'écran. Pour changer de réseau Wi-Fi, l'écran revient tout seul à l'ancien si le nouveau ne marche pas.
Sept langues
Les textes de l'écran existent en français, anglais, allemand, néerlandais, espagnol, italien et turc.
Où il en est
Relevé du tableau de compatibilité du dépôt, tenu à jour avec le code. Une fonction n'y est écrite « observée » que sur la carte où elle a été vue, avec le commit et la date.
Vu tourner sur la carte
Sur le M5Stack Tab5 (écran ST7121) : l'écran et le toucher, le Wi-Fi par la puce ESP32-C6, l'heure, la météo d'Open-Meteo, l'écran principal et les écrans de réglages. Sur la Waveshare 7B : elle démarre, l'écran s'affiche bien, le Wi-Fi, l'heure et la météo au démarrage fonctionnent.
Écrit et vérifié sur ordinateur, pas encore vu sur la carte
Les alertes de Vigie, l'heure du lieu choisi (fuseaux horaires), les sources météo par pays (MET Norway, NWS aux États-Unis). L'accueil refait et la roue d'appui long datent du 8 novembre 2026 : leur essai sur la carte n'est pas encore consigné dans le tableau.
Pas démarré
L'assistant vocal : sa logique est écrite et vérifiée sur ordinateur, mais aucun vrai service de reconnaissance vocale ni de modèle de langage n'a été appelé, et l'annulation d'écho et le mot de réveil ne sont pas commencés. L'agenda Google et le portail de première connexion non plus.
Pas essayé sur la 7B
Le doigt sur l'écran, le son, les écrans de réglages, les alertes et le changement de fuseau horaire n'ont pas été essayés sur cette carte.
Ce qui n'a pas été regardé ou mesuré est écrit comme tel dans le tableau. Le plan, le coût en temps et en jetons, les mesures, les notes de recherche et les décisions du dépôt sont des documents de travail, en français.
Ses limites
- Un début de projet : aucune version n'est publiée, donc rien à flasher sans compiler soi-même.
- Compilé seulement chez l'auteur : sous Windows, avec l'ESP-IDF 5.5.5 qu'ESPHome avait déjà installé ; le script de compilation n'a été essayé sur aucun autre PC.
- Sécurité modeste : le mot de passe Wi-Fi et les réglages sont gardés dans la mémoire flash de l'appareil sans chiffrement, et la page de réglages est servie en HTTP local, derrière un code à six chiffres (voir SECURITY.md).
- Une mémoire interne serrée : les mesures du dépôt montrent une baisse lente de la mémoire libre, encore inexpliquée au 7 novembre 2026.
- Des traductions pas toutes relues : l'allemand et le turc n'ont pas été relus par un locuteur natif.
- Un seul mainteneur, un code écrit avec beaucoup d'aide de l'IA, aucune promesse de support.
La technique
- Une puce ESP32-P4 (RISC-V) avec une ESP32-C6 pour le Wi-Fi ; développé sur le Tab5, avec une couche carte pour la Waveshare 7B.
- Du C++ natif en ESP-IDF 5.5 et LVGL 9, sans Home Assistant ni ESPHome. Chaque zone de l'écran principal est un seul objet LVGL qui dessine tout, pour économiser la mémoire.
- Le cœur (météo, heure et fuseaux, réglages, logique de l'assistant) est du C++ sans ESP-IDF ni LVGL, testé sur PC avec AddressSanitizer, UBSan et des tests de mutation (plus de 1 400 tests au 7 novembre 2026). Cela ne dit rien du comportement sur la carte.
- Les images de cette page sont des rendus faits sur PC par le même code de dessin que celui de l'écran.
Projet personnel partagé au cas où, écrit avec l'aide de l'IA : l'auteur fixe les buts et juge le résultat sur l'écran réel.
Pour aller plus loin
- Le README : le projet en deux minutes, en anglais et en français.
- Compatibilité et versions : quelle carte, quelle fonction, vu ou non.
- Architecture : les couches et les dossiers.
- Dépannage : symptôme, cause, solution, avec la carte sur laquelle c'est arrivé.