
Oussama Darouez
Embedded Software Engineer
Salaire / Taux journalier
Belfort, France
Freelance, ouvert au CDI
Peut venir sur site
Expertises
Langues
À propos
Introduction
I’m an embedded systems engineer with a strong passion for low-level programming, real-time systems, and automation. I specialize in firmware development for microcontroller-based platforms, designing software that bridges hardware. My work spans embedded C/C++, real-time operating systems, and communication protocols, with a focus on building reliable and maintainable systems. Beyond firmware, I have a growing interest and hands-on experience in digital signal processing, control theory, and robotics—fields that deepen my understanding of how embedded systems interact with dynamic environments. I enjoy solving integration challenges, working close to the metal, and continuously exploring new architectures, tools, and frameworks in the embedded domain. With a mindset for efficiency and scalability, I aim to develop firmware that is robust, portable, and future-proof.
Expérience de travail
Embedded Software Engineer
Nicolaudie Group - LightingSoft AG
mars 2026 - Présent
8 mois
Belfort, France
■ Developed a scalable Modbus TCP/RS485 server for STM32 and NXP LPC, supporting multiple concurrent clients. ■ Integrated Modbus triggers into the show engine for real-time, dynamic scene parameter control. ■ Built a robust C++ Modbus client with automated stress tests validating protocol reliability. ■ Enhanced Qt application with Modbus configuration and import/export capabilities. ■ Authored comprehensive QTest suites, strengthening regression coverage and system reliability. ■ Migrated Jenkins CI/CD pipelines from Qt5 to Qt6, resolving automated test-build issues.
Mare Custos
juil. 2024 - oct. 2025
1 an 4 mois
On-site
Firmware Engineer
juin 2025 - oct. 2025
5 mois
On-site
■ Architected the OTA system using SOLID principles and design patterns, resulting in highly portable, maintainable, and reusable embedded software. ■ Implemented flash-based non-volatile memory management on STM32 to ensure reliable data persistence. ■ Developed a custom Ethernet wrapper for the W5500 chip with full TCP/UDP protocol support. ■ Designed and implemented an Over-The-Air (OTA) firmware update system over Ethernet and USB, enabling seamless remote upgrades. ■ Built a Python-based TCP server to efficiently stream firmware updates in data chunks for embedded devices. ■ Designed and deployed a hardware test bench to validate and stress-test OTA functionality under real-world conditions. ■ Integrated a custom Ethernet transport layer for micro-ROS, extending ROS 2 communication to embedded STM32 targets. ■ Developed a Reset Cause Handler for STM32 MCUs to diagnose system resets and optimize fault recovery strategies. ■ Partitioned STM32 Flash memory using linker scripts and implemented a robust bootloader for secure and reliable firmware execution. ■ Debugged and resolved Arduino wrapper inconsistencies on top of the STM32 HAL, improving system stability and code portability.
Firmware Engineer
sept. 2024 - mai 2025
9 mois
Soliman, Tunisie
■ Integrated STM32Cube into the micro-ROS PlatformIO repository for STM32 development. ■ Implemented a custom USB CDC transport layer for micro-ROS on STM32Cube. ■ Added UART polling support to micro-ROS for STM32Cube (with noted performance limits). ■ Developed encoder tick-reading on ESP32 using the Pulse Counter. ■ Wrote unit tests using the Unity framework. ■ Tested the micro-ROS parameter server on STM32 for performance validation. ■ Fixed GitHub Actions workflows to build firmware on pull request events. ■ Developed a configurable ADC wrapper for STM32. ■ Developed a flash memory driver for STM32.
Firmware Engineer intern
juil. 2024 - août 2024
2 mois
Tunis, Tunisie
■ Partitioned STM32 flash into bootloader, application, and swap regions. ■ Implemented a bootloader that verifies and updates firmware from the swap region. ■ Developed an in-application programming mechanism using YModem over UART. ■ Created a Python script to select and transmit firmware binary chunks via serial. ■ Managed micro-ROS execution and performed integration testing with ROS 2.
Robotics Instructor
Discovery Club JuniorFreelance
mai 2023 - mai 2025
2 ans 1 mois
Tunis, Tunisie
■ Instructed students in electronics and PCB design. ■ Taught C/C++ programming. ■ Guided students in designing combinational and sequential logic circuits. ■ Provided hands-on instruction in register-level programming for the Atmega328P microcontroller.
Embedded System Engineer
Orange Tunisie
juin 2024 - août 2024
3 mois
Hybrid
■ Designed a custom GPIO HAT for the ESP32. ■ Developed and optimized task scheduling software using FreeRTOS on the ESP32. ■ Implemented UART communication between ESP32 and Raspberry Pi for efficient testing. ■ Researched digital sound processing and the I2S protocol on the ESP32.
Formation
INSAT - Institut National des Sciences Appliquées et de Technologie
Engineer's degree, Electrical Engineering
2021 - 2026
4 ans 11 mois
After completing the Math–Physics–Informatics preparatory cycle, I specialized in Embedded Systems—a field combining electronics, automation, and software. 🔧 Core Technical Skills: ■ Embedded programming in C, C++, and Assembly (ARM Cortex-M, STM32) ■ Microcontrollers, device drivers, and real-time systems (FreeRTOS) ■ Single purpose processor design , FPGAs and VHDL ■ Analog/digital and power electronics ■ Control theory: PID, discrete/continuous systems, real-time control ■ Signal processing and filtering ■ Electrotechnics and industrial systems ■ Communication protocols: UART, SPI, I2C, CAN, Modbus, Ethernet ■ Computer architecture, OS, and networking ■ Robotics systems 📦 Additional Skills: ■ PLC programming (Siemens TIA Portal) ■ Functional safety ■ Project management This multidisciplinary foundation enables me to design scalable, reliable embedded solutions across hardware and software domains.
Licences et certifications
1st Prize at Eurobot National Qualification
Délivré le : –
1st Prize in the Autonomous Robot Competition at ROBOCUP ENSI 5.0
Délivré le : –