Skip to content

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.

↳ depuis 2023↳ C · RTOS · drivers↳ TS · Next · Postgres
connected /dev/tty.usbmodem1101 115200 · 8N1 fig. 1 · séquence de démarrage
[0.000] boot: reset cause = POR, bootloader v2.1
[0.014] clk: PLL locked @ 120 MHz
[0.038] nand: ECC engine bch8 init ........ ok
[0.061] fs: mount fatfs /0: ............. ok
[0.090] usb: cdc + msc enumerated ....... ok
[0.117] 1-wire: 3 sensors found on bus
[0.142] warn: battery 3.71V, nominal
[0.150] >>> system ready, dropping to shell
Mahmoud Fakhry
Systèmes embarqués · Full-stack
~ $ cat apropos.txt · ls projects/ · ./contact
~ $
interactif : tape une commande, essaie « help »

Profil

Ingénieur en logiciels embarqués avec une expérience full-stack.

Basé à Mulhouse, France · télétravail

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.

No Projet Domaine Année
01 Intégrité NAND & fiabilité FATFS FAMECA Electronics · Client EMB · FW ’25-26
nov. 2025 à févr. 2026 · FAMECA Electronics · Client

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.

CNANDBCH ECCFATFS
02 Applications web progressives & API iN! SA, Suisse · Client WEB ’25
depuis août 2025 · en cours · iN! SA, Suisse · Client

Développement d’applications web progressives avec Next.js et PostgreSQL, avec un accent sur la performance et la scalabilité.

TypeScriptNext.jsPostgreSQLPWA
03 LightButtonBox, un contrôleur sim-racing Projet personnel · Personnel EMB · HID ’25
juil. à déc. 2025 · Projet personnel · Personnel

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.

C / C++Série sur USBADCvJoyInterface bureau
Voir le dépôt
04 LazyOS, un micro-OS embarqué Projet personnel · WIP · Personnel EMB · RTOS ’25
avr. à déc. 2025 · en cours · Projet personnel · WIP · Personnel

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.

CESP32-C3Noyau / ordonnanceurHALShell CLI
Voir le dépôt
05 Pile USB & drivers One-Wire FAMECA Electronics · Client EMB · FW ’24
2024 · maintenu en 2026 · FAMECA Electronics · Client

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.

C embarquéUSB CDC/MSCOne-Wire
06 Flashage automatisé des jauges FAMECA Electronics · Client EMB · OUTILS ’24
févr. à août 2024 · FAMECA Electronics · Client

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.

PythonBashFlashageAutomatisation
07 Détection de zones navigables par LIDAR Projet académique · Académique ROBOTIQUE · PERCEPTION ’23-24
oct. 2023 à févr. 2024 · Projet académique · Académique

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.

PythonLIDARGrille d’occupationPlanification
Voir le dépôt
08 Système de présence par reconnaissance faciale Projet académique · Académique VISION ’22-23
oct. 2022 à janv. 2023 · Projet académique · Académique

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.

PythonOpenCVVision par ordinateur

Parcours

Expérience

2026
Développeur logiciels embarqués Freelance
FAMECA Electronics · France

Maintenance et corrections du driver USB-CDC.

2025-26
Développeur logiciels embarqués Freelance
FAMECA Electronics · France

Correction d’erreurs NAND (BCH4/BCH8) et fiabilité FATFS.

Depuis 2025
Développeur full-stack Freelance
iN! SA · Suisse

Développement d’applications web progressives Next.js et PostgreSQL. Mission en cours.

2024
Développeur logiciels embarqués Stage
FAMECA Electronics · France

Drivers USB et One-Wire, automatisation du flashage des jauges, système de fichiers local.

2023
Développeur logiciels embarqués Stage
EgyptSat Telecom · Égypte

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
Langues Arabe · Langue maternelle Anglais · Courant Français · Courant

Formation

Parcours académique

2023-2024

Master 2 (M2)

Électronique, Énergie Électrique & Automatique
Université de Haute-Alsace · Mulhouse, France
2019-2024

Diplôme d’ingénieur

Télécommunications & Électronique
Université Française d’Égypte (UFE) · Le Caire, Égypte