Core Competencies
Programming Languages
Microcontrollers
Communication Protocols
RTOS & Embedded
Development Tools
Hardware
Debugging & Testing
Automation & Control
PhD Research Background
Dynamically Constrained Trajectory Planning for Parallel Manipulators — Case Study: Hybrid Cable/Serial Robots
Implementation of real-time control algorithms in C/C++ for parallel robot systems. Development of trajectory planning algorithms with singularity and collision avoidance.
Task-Space and Joint-Space control for hybrid robots. Development of control strategies to maintain positive cable tensions via linear programming and null-space approach in C/C++.
Experimental setups with C/C++-based control and data acquisition. Integration of sensors, encoders, and motor controllers into prototypes.
Newton-Euler and Lagrange formulations for rigid bodies in C/C++. State-space representation and simulation of robot systems.
Design of an exoskeleton system for lower-limb rehabilitation with embedded control. Motion planning with real-time capable algorithms.
Minimization of total trajectory time under dynamic constraints. Optimization of cable tensions with C/C++ implementation.
Key Research Outcomes
- ▸Novel planning algorithm in C/C++ for hybrid cable/serial robots — GitHub Repository
- ▸Implementation and comparison of two strategies for maintaining positive cable tensions (Null-Space proven superior)
- ▸Successful simulation of an exoskeleton rehabilitation system with real-time capable algorithms
- ▸Proof of feasibility through comprehensive dynamic analysis and experimental validation
- ▸Development of models and control strategies suitable for practical real-time implementations
Professional Experience
- ▸Developed 45+ hands-on microcontroller projects using PIC, Arduino, STM32, and AVR
- ▸Register-Level Programming, interrupt handling, timer configuration, and PWM generation
- ▸Implemented UART, I2C, SPI protocols for sensor integration and device communication
- ▸Designed PWM-based motor controllers and PID regulators in C/C++
- ▸Integrated FreeRTOS on STM32 for task management and real-time control
- ▸PLC programming, GRAFCET sequence control, industrial sorting systems, and robot control
- ▸PCB prototyping, circuit design, debugging with oscilloscope and logic analyzer
- ▸Trained hundreds of students and technicians in Embedded C/C++ and microcontroller programming
- ▸Dissertation: Dynamically Constrained Trajectory Planning for Parallel Manipulators — Hybrid Cable/Serial Robots
- ▸Developed real-time control algorithms in C/C++ for parallel robot systems
- ▸Implemented trajectory planning algorithms with singularity and collision avoidance
- ▸Embedded control systems for cable robots with positive tension control
- ▸Hardware integration of sensors, encoders, and motor controllers in prototypes
- ▸Designed a lower-limb rehabilitation system based on exoskeleton technology
- ▸Thesis: Dynamic Path Planning for Cable-Driven Robots
- ▸Developed control algorithms in C/C++ for cable robots
- ▸Prototyping with embedded controllers and real-time data acquisition
- ▸Integration of sensors and actuators with microcontroller-based systems
Selected Projects
Research & Thesis Work
Thesis-related research in robotics, control, modeling, and analysis.
Education & Teaching
Course materials and practical learning projects.
Personal & Open Source
Independent projects and software experiments.
Microcontroller Projects (45+)
PIC (Assembly/C): RBO/INT interrupt, ISR creation. Arduino (C++): attachInterrupt(), button debouncing. STM32 (HAL): EXTI configuration, NVIC priority management.
PIC: Timer0/1/2 in C, precise time control. Arduino: millis(), micros(), non-blocking delays. STM32: Timer configuration (HAL/Register-Level), PWM generation.
PIC: ADC module in C, potentiometer reading. Arduino: analogRead(). STM32: Continuous ADC mode, DMA transfer, multi-channel sampling.
PIC: CCP module, H-bridge control (L298N). Arduino: analogWrite(), encoder feedback, PID control in C++. STM32: Timer-PWM, encoder interface, digital PI regulator.
PIC: USART in C, PC communication. Arduino: Serial, sensor data logging. STM32: UART with HAL, interrupt-driven reception, DMA.
Arduino: Temperature sensors (LM75, BME280). STM32: I2C configuration (HAL), register access, multi-master.
Arduino: SPI display, SD cards. STM32: SPI configuration, high-speed transfer.
Multitasking in C, task creation, queue communication, semaphores, mutex, timer tasks, memory management.
Low-Level Programming Expertise
Direct register manipulation in C for STM32, PIC, AVR. Configuration of peripheral registers, clock setup, GPIO control.
ISR implementation in C/Assembly, interrupt priorities, nested interrupts, context switching.
STM32 DMA configuration in C, memory-to-memory, peripheral-to-memory transfer, circular mode.
Sleep modes, power management, wake-up sources, low-power timer, RTC wakeup.
Custom bootloader in C, flash programming, UART/CAN bootloader, firmware update over-the-air (OTA).
Education
PhD (Dr.-Ing.) in Mechanical Engineering & Robotics
2012 – 2017ENIM · Tunisia
Thesis: Dynamically Constrained Trajectory Planning for Hybrid Cable/Serial Robots
Master in Mechanical Engineering & System Technology
2009 – 2011ENISO · Tunisia
Thesis: Dynamic Path Planning for Cable-Driven Robots
Engineering Degree in Electromechanics
2001 – 2004ENIS · Tunisia
Mathematical Baccalaureate
1997 – 1998· Tunisia
Languages
Native
Fluent
Fluent
B2 · Upper-intermediate
Key Achievements
- Developed trajectory planning algorithms in C/C++ for parallel robots
- HackerRank badges: Problem Solving, C++, Java, Python, 30 Days of Code, 10 Days of JavaScript
- HackerRank C++ solutions repository
- HackerRank Python solutions repository
- Developed 45+ Embedded C/C++ projects with extensive documentation
- Trained hundreds of students and technicians in Embedded C/C++ and microcontroller programming
- Singularity analysis of hybrid serial cable-driven planar robots (PhD research)
- Automotive Radar Multi-Target Tracker (kalman-cpp): C++17 EKF, Munkres association, and ISO 26262 ASIL B design
- AutoVision-ADAS Perception: Real-Time OpenCV lane geometry, YOLOv8 DNN obstacle detection, and 77 GHz camera-radar sensor fusion
- YOLOPv2 Autonomous Trajectory Tracker: Real-Time Panoptic Perception, 2D Aerial BEV Radar, and Curvature-Constrained Optimal Path Planning
- Cable-robot-R: MATLAB trajectory planning and control
Others
- Developed a full NES Emulator on ESP32 — complete 6502 CPU emulation in C/C++
- Implemented CPU architectures and microcontroller simulations (BENCPU)
- NES Emulator (Desktop) — 6502 CPU emulation, PPU, memory management
- CPU Visualizer with docking ImGui interface
- Successfully integrated FreeRTOS into STM32-based real-time control systems
- Internship — Maintenance & Quality · Gamma Sac Company (2004)
- Internship — Machine Department · Societe Ciment Enfidha (2002–2003)
Why This Experience Counts
Across research, teaching, automation, and robotics, these are the strengths I bring to multidisciplinary engineering teams:
- Develop real-time C/C++ software, from bare-metal programming to RTOS-based applications
- Integrate sensors, actuators, microcontrollers, and electronics across complete prototypes
- Apply UART, I2C, SPI, CAN, interrupts, ADC, PWM, and DMA in practical systems
- Build control and trajectory algorithms for robotics, motor systems, and automation
- Debug and validate with oscilloscopes, logic analyzers, JTAG/SWD, and unit tests
- Combine mechanical, electromechanical, hardware, and software perspectives
- Use Python and MATLAB in engineering workflows, modeling, and algorithm development
- Explain complex technical systems and train students and engineering teams
Curriculum Vitae (PDF) — Dr.-Ing. Mourad Ismail
Official tabular Curriculum Vitae formatted in LaTeX (PDF, DIN 5008 standard). Outlines professional engineering appointments, PhD doctoral research in robotics & control, academic qualifications, peer-reviewed publications, and technical competencies.
Loading document viewer...
