Développeur Firmware C++ / Architecte logiciel
Réalisation d'une refactorisation complète du firmware embarqué sur ESP32 pour un système autonome de détection d'obstacles équipé d'un capteur CH201 et d'une IMU.
- Conception d'une architecture event-driven avec state machine applicative et pattern Singleton pour les managers (capteurs, énergie, périphériques).
- Implémentation du Non-Blocking I/O via interruptions timer (ISR) sans aucun delay() bloquant en boucle principale.
- Mise en place d'une gestion adaptative de 5 modes de puissance (IDLE, DETECTING, ALERT, SLEEPING) selon l'état applicatif.
- Développement de templates C++ pour callbacks type-safe et réutilisabilité zéro overhead.
- Assurance du débogage et profilage : analyse des timings ISR, mesure d'utilisation CPU, validation consommation courant.
- Résultat : CPU idle à 94.85%, latence détection <10 ms, autonomie batterie 25h+ sur batterie 3000 mAh @ 120 mA.
Environnement technique