Skip to content

Embedded systems · Full-stack

I build embedded firmware
and full-stack web
applications.

I am a freelance engineer specialising in embedded software, with experience in full-stack web development. Based in France and available for remote work with clients across Europe.

↳ since 2023↳ C · RTOS · drivers↳ TS · Next · Postgres
connected /dev/tty.usbmodem1101 115200 · 8N1 fig. 1 · device boot sequence
[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
Embedded systems · Full-stack
~ $ cat about.txt · ls projects/ · ./contact
~ $
interactive: type a command, try 'help'

Profile

Embedded software engineer with full-stack experience.

Based in Mulhouse, France · remote

I am an embedded software and electronics engineer. Over the past few years I have worked in C and Python on real-time systems, across both industry and academic projects in France and Egypt. My work focuses on low-level development: writing and debugging drivers, working with registers over JTAG, and integrating hardware with software, from NAND flash error correction to USB device stacks.

More recently I have also worked on the web side, building progressive web applications with Next.js and PostgreSQL. This allows me to contribute across the full stack, from the microcontroller on the board to the user-facing application.

Selected work

Project index

A selection of client and personal projects.

Idx Project Domain Year
01 NAND flash integrity & FATFS reliability FAMECA Electronics · Client EMB · FW ’25-26
Nov 2025 to Feb 2026 · FAMECA Electronics · Client

I implemented BCH4 and BCH8 error-correcting algorithms in the NAND flash drivers to maintain data integrity despite wear and bit-flips. I also debugged and fixed issues in the FATFS file system, improving file handling and storage stability on the production devices.

CNANDBCH ECCFATFS
02 Progressive web apps & APIs iN! SA, Switzerland · Client WEB ’25
Since Aug 2025 · ongoing · iN! SA, Switzerland · Client

Development of progressive web applications with Next.js and PostgreSQL, with a focus on performance and scalability.

TypeScriptNext.jsPostgreSQLPWA
03 LightButtonBox, a sim-racing controller Personal project · Personal EMB · HID ’25
Jul to Dec 2025 · Personal project · Personal

A complete project covering both firmware and desktop software. The firmware sends button and analog-pedal events over USB as formatted messages such as (BTN1_PRESSED) and (THROTTLE:12345). A Windows application maps these to either keyboard input or a virtual joystick through the vJoy driver, and handles port selection, mode switching, analog pedals, a developer console, and automatic configuration saving. ESP32-C3 firmware and a flashing kit are planned.

C / C++Serial over USBADCvJoyDesktop GUI
View repository
04 LazyOS, a micro-OS for embedded Personal project · WIP · Personal EMB · RTOS ’25
Apr to Dec 2025 · ongoing · Personal project · WIP · Personal

A work-in-progress micro-operating system for embedded boards, currently targeting the ESP32-C3. I developed it to deepen my understanding of operating-system design and to provide a reusable base for my own projects. It includes a lightweight kernel, a cooperative and priority-based scheduler, a task manager, a hardware abstraction layer for GPIO, timers and peripherals, an IPC system, timer utilities, and a serial command-line shell for debugging over USB-JTAG. It is designed to be modular and portable across microcontroller families. Written in C and under active development.

CESP32-C3Kernel / schedulerHALCLI shell
View repository
05 USB device stack & One-Wire drivers FAMECA Electronics · Client EMB · FW ’24
2024 · maintained in 2026 · FAMECA Electronics · Client

I developed the low-level drivers for the USB-CDC and USB-MSC device classes and the One-Wire bus, and integrated a local file system for efficient on-device data storage. I later returned as a freelancer in 2026 to resolve edge cases in the CDC driver.

Embedded CUSB CDC/MSCOne-Wire
06 Production gauge auto-flashing FAMECA Electronics · Client EMB · TOOLING ’24
Feb to Aug 2024 · FAMECA Electronics · Client

I automated the firmware flashing process for gauges on the production line, removing a manual bottleneck and making device programming fast and repeatable.

PythonBashFlashingAutomation
07 LIDAR navigable-area detection Academic project · Academic ROBOTICS · PERCEPTION ’23-24
Oct 2023 to Feb 2024 · Academic project · Academic

A real-time navigation system that converts LIDAR scans into occupancy grids, detects obstacles, and plans a path that adapts as the environment changes. It performed autonomous navigation through complex routes with dynamic obstacle handling, demonstrating that low-cost LIDAR is sufficient for accurate navigation.

PythonLIDAROccupancy gridPath planning
View repository
08 Facial-recognition attendance system Academic project · Academic VISION ’22-23
Oct 2022 to Jan 2023 · Academic project · Academic

A face detection and recognition system built in Python and OpenCV and connected to a student database. It logged recognised students automatically with timestamps to prevent proxy attendance, and achieved over 95% accuracy under controlled conditions.

PythonOpenCVComputer vision

Track record

Experience

2026
Embedded software developer Freelance
FAMECA Electronics · France

Maintenance and bug fixes for the USB-CDC driver.

2025-26
Embedded software developer Freelance
FAMECA Electronics · France

NAND error correction (BCH4/BCH8) and FATFS reliability.

Since 2025
Full-stack developer Freelance
iN! SA · Switzerland

Development of Next.js and PostgreSQL progressive web applications. Ongoing engagement.

2024
Embedded software developer Internship
FAMECA Electronics · France

USB and One-Wire drivers, gauge flashing automation, local file system.

2023
Embedded software developer Internship
EgyptSat Telecom · Egypt

Image processing for object sorting and classification, and early-stage hardware/software integration.

Toolbox

What I work with

Languages

  • C
  • Embedded C
  • C++
  • Python
  • Bash
  • TypeScript

Embedded & RTOS

  • Real-time systems
  • Driver development
  • RTOS / kernel design
  • HAL
  • JTAG debug/flash
  • FreeRTOS

Serial protocols

  • I²C
  • SPI
  • UART
  • One-Wire
  • CAN
  • USB

Vision & robotics

  • OpenCV
  • Image processing
  • LIDAR / occupancy grids
  • Path planning

Web

  • Next.js
  • PostgreSQL
  • PWAs
  • Node

Toolchains & tools

  • VS Code
  • Espressif IDE
  • Renesas E2 Studio
  • TI Code Composer
  • Git
  • MATLAB / Simulink
  • RTMaps
Languages Arabic · Native English · Fluent French · Fluent

Education

Education background

2023-2024

Master 2 (M2)

Electronics, Electrical Energy & Automation
Université de Haute-Alsace · Mulhouse, France
2019-2024

Engineering degree (Diplôme d’ingénieur)

Telecommunications & Electronics
Université Française d’Égypte (UFE) · Cairo, Egypt