BELOUARGA Mohamed

Engineer · Embedded Linux

Bordeaux, France
Download CV

Welcome to my online Portfolio !

I'am an engineer specialized in embedded Linux

Background

Ecole Nationale Supérieure d'Électronique, Informatique, Télécommunications, Mathématique et Mécanique(ENSEIRB)

Bordeaux, France
Embedded Systems

speciality: Electronics
Option: Embedded Systems

September 2018 - September 2021

Preparatory classes for higher schools

Casablanca, Morocco
Mathematics, Physics

1st year: Mathematics, Physics and ingineer sciences(MPSI)
Speciality: Mathematics and Physics(MP)

2016 - 2018

Skills

  • C/C++: CUDA, OpenGL, OpenMP, SDL, MQTT ...
  • Object-oriented programming
  • Scripting: Python, Bash
  • HTML,CSS,Javascript/bootstrap
  • Visualisation: Latex, MATLAB, Matplotlib
  • Embedded Linux
  • Yocto
  • RTOS:µC/OS, XENOMAI
  • STM8, STM32
  • Communications: UART, I2C, SPI...
  • Drivers, multi-threading, Cybersecurity, Over the air update
  • CAO : Proteus
  • Electron's theory/electromagnetisme, micro-electonic, energy conversion
  • Automatic/linear systems, signal processing
  • Arabic/native language
  • French/bilingual
  • English/TOIC: 845 on March 2021
  • German/prelimanary basics

Expérience

Sauermann Group

Bordeaux, France
Developpement of an intelligent probe

Speciality: Embedded systems

February 2020 - August 2020
  • target: STM32, STM8
  • IDE: VS Code, IAR
  • Debugging: IAR, Vs Code, ST Link, FTDI (for UART and communications)
  • Developpement environment: Azure, Git, DevOps
  • tests: FTDI, python, unit tests, integration tests/li>
  • Management: Agile
  • More: Doxygen for documentation, modular programming
  • The design of the specifications document and software architecture
  • The development of the HAL layer (UART, Timers, EEPROM)
  • The design and development of a communication protocole based on HDLC and UART
  • The validation of the communication protocol using python and FTDI
  • Studying and using low-power modes of the microcontroller
  • Studying the software remote update on a UART port
  • Etablishment of a Docs solution (Doxygen)
  • PFE report (french)

Technology & strategy

France
Embedded linux engineer

Accomplished projects:

November 2021- Now
    Context

    Mission: System validation of a photo booth, as part of the embedded software modularization project:

    Achievements
  • Validate the proper functioning of the software in real operating conditions
  • Validate the software in accordance with the system specifications
  • Realization of a test strategy that will be generalized at the customer
  • Writing a test case bank
  • Declaration of around a hundred bugs
  • Modularization of functional tests
  • Technical environment
  • Writing case tests on Jira
  • Documentation of validation activities on Confluence
  • Track spec coverage with Xray on:
  • Software
  • OS
  • Hardware
  • Declaration of bugs on Jira
    Context

    Development of the ELF (Embedded Linux Factory) project to simplify the use of Yocto and the development of a meta-tns layer to add some functionalities

    Achievements
  • Participation in the development of a Yocto overlay called ELF tool in Python
  • Development of a script in Bash for the Debian package build of ELF tool
  • Development of CI (Continuous Integration) on Gitlab:
  • Test
  • Build
  • Release
  • Integration of SWUpdate to meta-tns with the necessary configuration of u-boot to do the over the air update
  • Development of a driver in C to control a GPIO and integrate it on Yocto
  • Publication of an article on SWUpdate (link)
  • Technical environment
  • Development: C, Python, Git, Gitlab, Docker, CI, Jira
  • Development of packaging scripts with Bash
  • Debian Policy for packaging
    Context

    Expert support for the design and implementation of an embedded web server solution for the configuration and maintenance of a RADT station (Recueil Automatique de Données Traffic)

    Achievements
  • Analysis, definition and proposal of a new software architecture meeting the customer's needs by proposing new technical choices Yocto:
  • Added recipes for Fast API, Uvicorn and other dependencies
  • Participation in the improvement of the client's layer
  • Choice of appropriate web technologies
  • Definition of the interface API between the backend and the UMT application (Unit Measurements and Treatments)
  • Development of the different software subsets: backend, frontend and API Backend interface in Python:
  • Development of the interface (REST) between the backend and the C application
  • Development of some system callbacks
  • Project monitoring and communication with the client
  • Technical environment
  • Backend development: Python, Git, Gitlab, Fast API
  • Hardware : Atmel, ARMv5
  • Embedded Linux : Yocto, Linux, Networking, SVN
    Context

    Hardening of security on an on-board device intended for the new TGV

    Achievements
  • Implementation of secure boot on i.MX8, and industrialization of the procedure for signing binaries
  • Publication of an article on Secure boot (link)
  • Patches of security vulnerabilities (CVEs) of the packages used:
  • Closing a hundred security vulnerabilities
  • Detection of a USB C hardware bug and correction
  • Reconfiguration of u-boot and kernel
  • Removal of unnecessary drivers and packages
  • Technical environment
  • Outil: Tina, code beamer, Nexus, gitlab, Git
  • Hardware : Home made card, Iwave SOM, i.MX8 MQ
  • Embedded linux : Yocto, U-boot, Linux, C/C++, meta-security, Python
    Context

    Building an OS for a card destinated to AI on agriculture

    Achievements
  • Building a POC using Debian
  • Building a linux distribution using Yocto
  • Adding swupdate
  • Add modules for wifi chip
  • Add libraries for I2C components: Temperature, GPS, Gyroscope, I/O expander ...
  • Stream some patches for Yocto and swupdate
  • Integrate Business application, cameras libraries and other dependencies
  • Adding some features on Zwarovski hunt glasses(i.MX6 + Atmel Microcontroller)
  • Technical environment
  • Outil: gitlab, Git
  • Hardware : Home made card, Genicam SOM, x86_32
  • Embedded linux : Yocto, Grub, Linux, Debian, C/C++, meta-swupdate, Python, MQTT
    Context

    Implementing two Yocto layers for production, OTA update and secure boot

    The Yocto layers will be used by multiple projects

    Achievements
  • Implementation of a hardware ignorant layer for production procedures (installation using initRamFS + TFTP)
  • Implementation of a hardware ignorant layer for OTA linux update
  • Implementation of a layer for secure boot on i.MX8 and sama5
  • Streaming of some patches for U-boot, meta-security, Yocto and swupdate
  • Hardening of security for updates using swupdate
  • Technical environment
  • Outil: gitlab, Git, SVN
  • Hardware : Home made cards, Boundary SOM, i.MX8 MP, Microchip SOM, Sama5D2
  • Embedded linux : Yocto, U-boot, Linux, C/C++, Bash, Python, TFTP, swupdate, Ethernet, secure boot

Interests

  • Technology and scientific watch
  • Sport : Foot-ball, Fitness and fishing
  • Geopolitic, Psychology and emotional intelligence
  • Guitar

Contact

If you want to contact me, please do it using my LinkedIn
Or you could contact me using my personnal email adress: belouargamohamed@gmail.com
Your project is very important to me !