Skip to content
View valnity98's full-sized avatar

Block or report valnity98

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
valnity98/README.md

Mutasem Bader — Robotics & Embedded Systems Engineer

M.Sc. Mechatronics & Robotics · Frankfurt University of Applied Sciences

Passionate about building complete systems: from bare-metal embedded firmware and real-time operating systems to computer vision pipelines and robot autonomy. I work across the full stack — STM32 firmware in C, ROS 2 nodes in Python, TinyML deployment with X-CUBE-AI, and custom PCB design.


Skills

Embedded Systems

C C++ STM32 FreeRTOS Arduino

Peripherals: DCMI · DMA · UART · I²C · SPI · CAN Bus
Tools: STM32CubeIDE · STM32CubeMX · X-CUBE-AI · MATLAB/Simulink · Autodesk Fusion / Eagle

Robotics & ROS 2

ROS2 Python OpenCV

Topics: Mobile robot control · Encoder odometry · PID control · Camera-based line following · TF2 · OccupancyGrid mapping

Machine Learning / Edge AI

TensorFlow TFLite

Topics: TinyML · MobileNet · Post-training quantisation (PTQ) · On-device inference · ST Model Zoo


Featured Projects

STM32H7 · FreeRTOS · OV2640 · X-CUBE-AI · PySide6

Real-time edge vision system on STM32H743ZI. Classical CV pipeline (Otsu threshold, morphology, run-length CCL) and TinyML object counting (MobileNetV1-0.25, 96×96 RGB, 5 classes) — all inference on-chip. PySide6 dashboard for control, benchmarking and dataset capture. Full ML training pipeline (TensorFlow → TFLite PTQ → X-CUBE-AI deployment).


ROS 2 · Python · OpenCV · FreeRTOS · PID control · Dead-reckoning

Autonomous line-following and path-mapping for a Zumo robot. Camera-based line detection with Kalman filter, PID motor control over serial, encoder-based dead-reckoning odometry, TF2 broadcasting, OccupancyGrid mapping, and a PyQt5 live dashboard.


C++ · ATmega328P · Interrupt-driven encoder · PID

Ported the Pololu Zumo 32U4 encoder library to the ATmega328P (Arduino Uno). Software-based XOR replacement for quadrature decoding with attachInterrupt(), signed 32-bit atomic tick counters, and a discrete-time PID motor controller.


MATLAB/Simulink · CAN Bus · Vehicle Network Toolbox · DBC

MATLAB/Simulink simulation of CAN messages for a BMW E9x instrument cluster. Custom DBC file, signal generation, and hardware-in-the-loop testing via the Vehicle Network Toolbox.


STM32F4 · PCB Design · DRV8848 · INA138 · MATLAB PID Tuner

Custom PCB for a real-time PID demonstrator: STM32F4-Discovery as controller, DRV8848 H-bridge, INA138 current sensing, voltage regulation (12 V → 3.3 V), and hardware-adjustable Kp/Ki/Kd via potentiometers. PID parameters tuned with MATLAB PID Tuner.


Contact

LinkedIn GitHub Email

📍 Frankfurt am Main, Germany

Pinned Loading

  1. Machine-Vision-on-Microcontrollers Machine-Vision-on-Microcontrollers Public

    STM32H7 edge vision: Classical CV + TinyML object counting on-chip, OV2640 camera, FreeRTOS, X-CUBE-AI, PySide6 dashboard

    C 2

  2. Instrument-Cluster Instrument-Cluster Public

    BMW E9x instrument cluster simulation via CAN Bus — MATLAB/Simulink + Vehicle Network Toolbox + DBC file

    1

  3. PID-Demonstrator PID-Demonstrator Public

    STM32F4 real-time PID demonstrator — custom PCB design (DRV8848, INA138)

    1

  4. Zumo328P-Library Zumo328P-Library Public

    Zumo328P is a library designed for reading and managing encoder counts and controlling the speed of the Zumo.

    C++ 1

  5. ZumoRobot-ROS2 ZumoRobot-ROS2 Public

    Autonomous line-following Zumo robot: ROS 2, OpenCV, PID control, encoder odometry, path mapping, PyQt5 GUI

    Python 2