Systèmes embarqués · Full-stack
Je développe des logiciels
embarqués et des applications
web full-stack.
Je suis ingénieur freelance spécialisé en logiciels embarqués, avec une expérience en développement web full-stack. Basé en France et disponible en télétravail pour des clients partout en Europe.
Profil
Ingénieur en logiciels embarqués avec une expérience full-stack.
Je suis ingénieur en logiciels embarqués et en électronique. Ces dernières années, j’ai travaillé en C et en Python sur des systèmes temps réel, dans le cadre de projets industriels et académiques, en France et en Égypte. Mon travail porte principalement sur le bas niveau : développement et débogage de drivers, manipulation des registres via JTAG, et intégration matériel/logiciel, de la correction d’erreurs sur la NAND aux piles de périphériques USB.
Plus récemment, j’ai également travaillé côté web, en développant des applications web progressives avec Next.js et PostgreSQL. Cela me permet d’intervenir sur l’ensemble de la chaîne, du microcontrôleur sur la carte jusqu’à l’application utilisée par l’utilisateur final.
Projets choisis
Index des projets
Une sélection de projets clients et personnels.
01 Intégrité NAND & fiabilité FATFS FAMECA Electronics · Client EMB · FW ’25-26
J’ai implémenté les algorithmes de correction d’erreurs BCH4 et BCH8 dans les drivers de la NAND afin de garantir l’intégrité des données malgré l’usure et les bit-flips. J’ai également débogué et corrigé des problèmes dans le système de fichiers FATFS, améliorant la gestion des fichiers et la stabilité du stockage sur les appareils en production.
02 Applications web progressives & API iN! SA, Suisse · Client WEB ’25
Développement d’applications web progressives avec Next.js et PostgreSQL, avec un accent sur la performance et la scalabilité.
03 LightButtonBox, un contrôleur sim-racing Projet personnel · Personnel EMB · HID ’25
Un projet complet couvrant le firmware et le logiciel de bureau. Le firmware envoie les événements de boutons et de pédales analogiques via USB sous forme de messages formatés tels que (BTN1_PRESSED) et (THROTTLE:12345). Une application Windows les associe soit à des entrées clavier, soit à une manette virtuelle via le driver vJoy, et gère le choix du port, le changement de mode, les pédales analogiques, une console développeur et la sauvegarde automatique de la configuration. Un firmware ESP32-C3 et un kit de flashage sont prévus.
04 LazyOS, un micro-OS embarqué Projet personnel · WIP · Personnel EMB · RTOS ’25
Un micro-système d’exploitation en cours de développement pour cartes embarquées, ciblant actuellement l’ESP32-C3. Je l’ai développé pour approfondir ma compréhension de la conception des systèmes d’exploitation et disposer d’une base réutilisable pour mes projets. Il comprend un noyau léger, un ordonnanceur coopératif et à priorités, un gestionnaire de tâches, une couche d’abstraction matérielle pour le GPIO, les timers et les périphériques, un système d’IPC, des utilitaires de timer, et un shell en ligne de commande sur liaison série pour le débogage via USB-JTAG. Il est conçu pour être modulaire et portable entre familles de microcontrôleurs. Écrit en C et en développement actif.
05 Pile USB & drivers One-Wire FAMECA Electronics · Client EMB · FW ’24
J’ai développé les drivers bas niveau pour les classes USB-CDC et USB-MSC et le bus One-Wire, et intégré un système de fichiers local pour un stockage efficace des données sur l’appareil. Je suis ensuite revenu en freelance en 2026 pour corriger des cas limites du driver CDC.
06 Flashage automatisé des jauges FAMECA Electronics · Client EMB · OUTILS ’24
J’ai automatisé le processus de flashage du firmware des jauges sur la ligne de production, supprimant une étape manuelle et rendant la programmation des appareils rapide et reproductible.
07 Détection de zones navigables par LIDAR Projet académique · Académique ROBOTIQUE · PERCEPTION ’23-24
Un système de navigation en temps réel qui convertit les scans LIDAR en grilles d’occupation, détecte les obstacles et planifie une trajectoire qui s’adapte aux changements de l’environnement. Il a réalisé une navigation autonome sur des parcours complexes avec gestion dynamique des obstacles, démontrant qu’un LIDAR à faible coût suffit pour une navigation précise.
08 Système de présence par reconnaissance faciale Projet académique · Académique VISION ’22-23
Un système de détection et de reconnaissance faciale développé en Python et OpenCV, connecté à une base de données d’étudiants. Il enregistrait automatiquement les présences avec horodatage afin d’empêcher les pointages frauduleux, et atteignait plus de 95 % de précision en conditions contrôlées.
Parcours
Expérience
Maintenance et corrections du driver USB-CDC.
Correction d’erreurs NAND (BCH4/BCH8) et fiabilité FATFS.
Développement d’applications web progressives Next.js et PostgreSQL. Mission en cours.
Drivers USB et One-Wire, automatisation du flashage des jauges, système de fichiers local.
Traitement d’images pour le tri et la classification d’objets, et intégration matériel/logiciel en phase initiale.
Boîte à outils
Ce avec quoi je travaille
Langages
- C
- C embarqué
- C++
- Python
- Bash
- TypeScript
Embarqué & RTOS
- Systèmes temps réel
- Développement de drivers
- RTOS / conception de noyau
- HAL
- Debug/flash JTAG
- FreeRTOS
Protocoles série
- I²C
- SPI
- UART
- One-Wire
- CAN
- USB
Vision & robotique
- OpenCV
- Traitement d’images
- LIDAR / grilles d’occupation
- Planification de trajectoire
Web
- Next.js
- PostgreSQL
- PWA
- Node
Chaînes & outils
- VS Code
- Espressif IDE
- Renesas E2 Studio
- TI Code Composer
- Git
- MATLAB / Simulink
- RTMaps
Formation
Parcours académique
Diplôme d’ingénieur
Contact