Retour aux projetsProjet privé

Firmware embarqué

Upsilon Boost

Firmware personnalisé pour NumWorks n0110, basé sur Upsilon/Omega/Epsilon, avec une application IA intégrée et une liaison UART vers un module Seeed Studio XIAO ESP32-C3.

NumWorks n0110 + ESP32-C3

IA embarquée via UART

Côté calculatrice

  • Firmware C++ modifié à partir de l'écosystème Upsilon/Omega/Epsilon.
  • Application IA ajoutée directement dans le menu de la NumWorks.
  • Interface avec champ de question, état d'envoi et réponse scrollable.
  • Communication UART à 115200 bauds via Ion::Console.

Côté ESP32

  • Code Arduino pour module Seeed Studio XIAO ESP32-C3.
  • Connexion Wi-Fi et réception des questions envoyées par la calculatrice.
  • Appel à l'API Google Gemini 2.5 Flash.
  • Renvoi d'une réponse courte vers la NumWorks par liaison série.

Fonctionnement

Une passerelle IA entre firmware, liaison série et API web.

La calculatrice envoie une question par UART au module ESP32-C3. Le module se connecte au Wi-Fi, interroge Gemini, formate une réponse courte, puis la renvoie à la NumWorks. La partie firmware doit composer avec les contraintes d'affichage, de mémoire, de saisie et de robustesse de la communication série.

Contraintes traitées

  • Gestion des timeouts et retries côté communication.
  • Réponses limitées, tronquées et adaptées à l'écran.
  • Envoi ralenti caractère par caractère pour réduire les pertes UART.
  • Installation documentée avec compilation, binpack et flash via WebDFU.

Fonctionnalités ajoutées

Application IA intégrée au firmware
Communication UART NumWorks <-> ESP32-C3
Timeouts, retries et réponses tronquées
Envoi ralenti caractère par caractère
Affichage du pourcentage batterie
Personnalisation LED couleur, clignotement et période
Mode thème et personnalisation
Écran d'accueil personnalisé By Thomas
Support Upsilon-External activé
Documentation compilation, binpack et flash WebDFU

Technologies et domaines

C++ArduinoESP32-C3UARTIon::ConsoleGemini APIWebDFUFirmware

Le projet reste privé, mais il illustre un travail complet autour du firmware C++, de l'Arduino/ESP32, de la communication série, des API web et des contraintes propres à un appareil embarqué.