Write test scripts in Bash and Python to test the interaction between the IO controller (NXP ARM-based MCU) and the system controller (Intel MCU)
Use lightweight IP libraries to configure the Ethernet interface and create UDP and TCP sockets on the IO controller
Use tools like Wireshark and tcpdump for debugging
Jul 2023 - Dec 2023
6 months
Weilburg, Germany
Software Developer
Feig Electronic GmbH
Develop inverter control for single-phase or three-phase AC motors
Write linker script and bootloader code for a new prototype (toolchain armcc)
Software extensions for the new prototype
Integration of new libraries (FatFs) for embedded systems
Mar 2023 - May 2023
3 months
Duisburg, Germany
Software Developer
ThyssenKrupp Electrical Steel GmbH
Create software for the Arduino Uno board with the Motor Shield add-on module in the Arduino IDE
Control the positioning of an ultrasonic sensor using a stepper motor
Implement display of measurement results on an LCD display via I2C
Aug 2022 - Jan 2023
6 months
Melsungen, Germany
Software Developer
B. Braun AG
Develop software in C and C++ for a dialysis machine on Windows in a Docker container (Ubuntu)
Implement pump control (stepper motors)
Program the STM32H735ZGT MCU from ST and the MIMXRT1062DVL6B MCU from NXP
Configure and use FD-CAN as a communication bus
Hardware commissioning, interface configuration, and creation of software modules
Perform integration tests on the machine
Jul 2022 - Nov 2022
5 months
Bochum, Germany
Software Developer
Keysight GmbH
Develop test automation for car batteries in C++ on Linux
Develop drivers for the climate chamber
Replace the bootloader with GRUB2 to obtain an EFI-capable bootloader
Jan 2022 - Mar 2023
1 year 3 months
Ludwigsburg, Germany
Software Developer
Heidelberger Druckmaschinen
Develop configuration and control of the feeder, folding unit, and delivery in C and C++ on Windows
Develop using the redCase tool
Analyze configuration and control of the units with PCAN-View
Conduct software tests on the machines
Apr 2021 - Dec 2021
9 months
Kaiserslautern, Germany
Software Developer
Wipotec GmbH
Bug fixing and software enhancements in C++ on Linux for configuring load cells and controlling conveyor belts
Develop on a virtual machine (Ubuntu) on the host PC using Visual Studio as the IDE
Remote debugging with GDB
Analyze data traffic between host and target with Wireshark
Conduct software tests on the conveyor belt simulation
Apr 2019 - Dec 2019
9 months
Karlsruhe, Germany
Software Developer
Ferchau Engineering GmbH
Bug fixing and software extension in C++ with Qt on embedded Linux for controlling displays in buses and trains based on the IBIS communication protocol
Remote debugging with GDB using a running GDB server on the target device
Manual communication testing with Netcat and tcpdump for internal communication, and Wireshark for external communication
Conduct software tests with a vehicle simulator
Jul 2017 - Mar 2019
1 year 9 months
Heilbronn, Germany
Embedded Software Developer
Ferchau Engineering GmbH
Embedded software development with embedded Linux on the Toradex Iris board with the Colibri i.MX6 module for a battery gripper
Configure the RS232 interfaces and GPIOs, initialize sensors, and implement sensor functions
Implement a state machine and conduct software tests
Microcontroller and ASIC verification at Robert Bosch GmbH in Abstatt
Setup test hardware and write code in C and C++ for various measurements (Rds_On, current injection, and leakage current)
Automate tests and configure measurement devices using test scripts
ASIC verification: test channel current regulation, sync unit behavior, and measure Rds_On of LS switches
Jul 2016 - Jun 2017
1 year
Erlangen, Germany
Software Developer
Germaneers GmbH
Software implementation in C/C++ to test the functionality of a device with a test box consisting of two boards
Test functions: wake-up of the DUT via CAN message and external wake-up, image and video processing, GPS communication, overcurrent detection, CAN and UART communication, audio processing
Develop software for the microcontroller in the test box, commission the boards, and conduct tests
Software implementation for power management of the i.MX6
Configure registers in the PMIC PF0100 via I²C to set output voltage and start-up sequence of buck regulators, boost regulator, and LDOs
Measure output voltages and start-up sequence with the oscilloscope
Apr 2015 - Sep 2015
6 months
Bühlertal, Germany
Hardware and Software Development Intern
Preis Ingenieurbüro GmbH
Test system for controlling a windshield wiper motor with STM32 and a semiconductor switch for currents up to 100 A: schematic design, PCB layout, board assembly, motor control code in C/C++ and commissioning
Power measurement system for memory wires: synchronous sampling of two A/D channels at a 1 MHz sampling rate on STM32, calculation of average power and filtering, output to an external DAC via SPI, including schematic design, PCB layout, board assembly and commissioning
Endurance test for SMA valves at -70 to 80 °C: development and setup of test rigs, control code in C/C++, test runs at various temperatures and documentation
FFT implementation as a PC console application using the Cooley-Tukey algorithm in C
Jan 2005 - Dec 2014
10 years
Tasks in inventory and logistics
Various Companies
Languages
Arabic
Native
German
Advanced
English
Intermediate
Education
Sep 2006 - May 2014
FH Dortmund
Bachelor · Communications and Information Technology · Dortmund, Germany · 2.6