4 points par GN⁺ 2026-02-09 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Projet de démonstration qui transforme un microcontrôleur ESP32-S3 en mini-PC à démarrage immédiat, avec shell, éditeur, compilateur et installateur d’apps
  • BreezyBox est un composant de mini-shell pour ESP-IDF, incluant des commandes de type UNIX ainsi que des fonctions vterm et VFS
  • Fonctionne sur la carte Waveshare ESP32-S3-Touch-LCD-7B et peut être facilement adapté à d’autres cartes
  • Après un fork, il est possible de l’exécuter sur sa propre carte ou d’utiliser la sortie standard en codes ANSI via une console USB
  • Publié sous licence MIT avec l’objectif d’élargir l’écosystème

Aperçu de BreezyBox

  • Projet de démonstration permettant d’utiliser un ESP32-S3 comme un PC sans Linux, avec des fonctions de shell, d’éditeur, de compilateur et d’installation d’apps
    • Il vise une expérience proche de celle d’un Raspberry Pi, mais sans la surcharge d’un OS de niveau serveur/desktop
    • BreezyBox est un composant de mini-shell basé sur ESP-IDF, qui met en place un environnement simple d’exécution de commandes
  • L’ESP32-S3 dispose d’une structure de ressources comparable à celle des PC de l’ère DOS, avec en plus des fonctions de communication sans fil
    • Le projet décrit le potentiel de cette puce comme une « technologie petite et élégante », tout en minimisant la taille du code

Composition de BreezyBox

  • BreezyBox comprend vterm, VFS, le suivi du CWD, des commandes de type UNIX et un installateur d’apps
    • Le chargeur ELF et les fonctions d’édition de liens dynamiques sont déjà inclus dans les composants ESP-IDF
  • Le nom s’inspire de BusyBox, et l’ensemble prend la forme d’une couche en espace utilisateur fonctionnant sur FreeRTOS
    • Il peut être ajouté à un projet ESP-IDF en une ligne et fonctionne avec les seules entrées/sorties de base

Caractéristiques du dépôt de démonstration

  • Ce dépôt est une implémentation d’exemple de BreezyBox, configurée pour une carte spécifique (Waveshare ESP32-S3-Touch-LCD-7B)
    • BreezyBox délègue l’affichage et la configuration de la carte au firmware de l’utilisateur
    • Les utilisateurs peuvent s’appuyer sur le code pour l’adapter à leur propre carte ou écran
  • L’utilisation du contrôle de label texte LVGL simplifie l’implémentation de la sortie LCD, et l’exécution via une console USB est également possible

Utilisation

  • Il est possible de forker puis cloner le dépôt pour l’exécuter sur sa propre carte
    • Testé sur une carte d’environ 40 euros, et également utilisable sur des cartes LCD S3 à bas coût
    • En utilisant une console USB, on peut vérifier la sortie en codes ANSI dans l’IDF Monitor de VSCode ou dans Tabby
  • Le moteur de rendu de police a été écrit à la main, mais il s’agit d’une implémentation optionnelle choisie pour garantir des performances supérieures à 30 FPS

Contributions et extension

  • Le projet est publié sous licence MIT, ce qui permet de le modifier et de le redistribuer librement
  • Éléments pour lesquels des contributions sont demandées
    • Ajout d’apps ELF : il est possible de créer de nouvelles apps en s’appuyant sur les exemples du dépôt breezyapps
    • Exemples de firmware pour diverses cartes : propositions variées bienvenues, en C/C++, avec GUI, portages de jeux rétro, etc.
  • L’objectif est d’encourager davantage d’utilisateurs à exploiter BreezyBox et d’élargir un écosystème d’exemples immédiatement réutilisables

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.