Project description:
Software development in C++ with FreeRTOS as a real-time OS for controlling an X-ray scanner:
- Hardware reviews.
- Define software architecture as a team.
- Write test scripts in Bash and Python to test the interaction between the IO controller (NXP MCU arm-based) and the system controller (Intel MCU).
- Use of lightweight IP libraries for configuring the Ethernet interface and creating UDP and TCP sockets on the IO controller.
- Use of tools such as Wireshark and tcpdump for debugging.
Project description:
Software development in C for gate control:
- Writing code for controlling a frequency converter for operating single-phase or three-phase AC motors.
- Writing linker script and bootloader code for a new prototype. Toolchain used: armcc.
- Software extension for the new prototype.
- Software extension to integrate a new library (Fatfs). Fatfs is a generic file system module for embedded systems.
Project description:
Software development in C for controlling train voltage measurement systems:
- The software for the Arduino Uno board with the additional Motor Shield module was created using the Arduino IDE.
- A stepper motor controls the positioning of the ultrasonic sensor.
- The measurement result is displayed on an LCD screen. The display is controlled via I2C.
Project description:
Software development in C and C++ for a dialysis machine. Development takes place under Windows using a Docker container (Ubuntu):
- Among other things, the software should control the pumps (stepper motors).
- The MCU STM32H735ZGT from ST and MIMXRT1062DVL6B from NXP were used.
- FD-CAN was used as the communication bus.
- Hardware commissioning, interface configuration, and creation of software modules.
- Performing integration tests on the machine.
Project description:
Software development in C++ under Linux for test automation of car batteries:
- Development of drivers for the climate chamber.
- Replacement of the bootloader with GRUB2 to obtain an EFI-compatible bootloader.
Project description:
Software development in C and C++ under Windows for the configuration and control of feeders, folding units, and outfeeders:
- Software development using the redCase tool.
- Configuration analysis and control of units with PCAN-View.
- Software testing on the machines.
Project description:
Software development in C++ (bug fixing and software enhancement) under Linux for the configuration of weighing cells and control of assembly lines:
- Software development on a virtual machine (Ubuntu) in the host PC with Visual Studio as an IDE.
- Remote debugging of the software with GDB.
- Analysis of data traffic between the host and target with Wireshark.
- Software testing on the assembly line simulation.
Project description:
Software development (bug fixing and software enhancement) in C++ with QT under Embedded Linux for controlling displays in buses and trains using the IBIS communication protocol:
- Bug fixing and software enhancement.
- Remote debugging of the software with GDB.
- Manual testing of communication between modules with Linux commands such as Netcat and tcpdump for internal communication and Wireshark for external communication.
- Software testing with vehicle simulation.
Project description:
Embedded software development with Embedded Linux as the operating system for a battery gripper. The hardware provided was the Iris board from Toradex with the Colibri imx6 module:
- Configuration of the hardware using the device tree.
- Initialization of the sensors and writing code for the sensor functions.
- Configuration of the GPIO.
- Implementation of the state machine.
- Software testing.
Project description:
Microcontroller and ASIC verification project at Robert Bosch GmbH:
Microcontroller verification:
- Commissioning the hardware required for testing.
- Writing the code for testing in C and C++.
- Performing various measurements such as Rds_On, current injection, and leakage current.
ASIC verification:
- Testing the current control of the channels.
- Testing the behavior of the sync unit.
- Measuring Rds_On of LS switches.
Test scripts are created to automate the tests and configure the measuring devices.
Project I:
Software implementation in C/C++ for testing the functionality of a device. A test box with two circuit boards was created for the test. Each circuit board contains a microcontroller (Stellaris
LM3s9b81 and LM3s9b96) that communicates with the DUT via CAN. Two microcontrollers (iMx6 and SPC560b54) are mounted on the DUT.
The following functionalities were tested:
- Wake-up of the DUT via CAN message and external wake-up.
- Image and video processing.
- GPS communication.
- Overcurrent detection.
- CAN communication between the four CAN interfaces on the DUT and the CAN interfaces in the test box, as well as UART communication.
- Audio processing.
Creating software for the two microcontrollers in the test box, putting the circuit boards into operation, and performing tests.
Project II:
Software implementation for the PF0100 power management chip from iMx6. The registers in the PF0100 chip (PMIC) were filled with the corresponding values via I2C in order to configure the output
voltages and start-up sequences of 6 buck regulators, one boost regulator, and 6 LDOs.
Software development and measurement of output voltages and start-up sequence with an oscilloscope.
Project I:
Test system (delayed parking position) for controlling a wiper motor with the STM32 microcontroller and semiconductor switch for currents up to 100 A:
- Circuit diagram design
- Layout creation
- PCB assembly
- Code for controlling the motor was created in C/C++
- The control unit was put into operation
Project II:
Development of a power measurement system for memory wires. Synchronous measurement of 2 A/D channels with a 1 MHz sampling rate on an STM32, as well as calculation of average power and filtering
in the same 1 μs time grid.
The calculated power is sent to an external DAC. Communication between the microcontroller and the DA IC is via SPI.
- Circuit diagram design.
- Layout creation.
- PCB assembly.
- Code for calculating the average power created in C/C++.
- Measurement system put into operation.
Project III:
Endurance test for valves with SMA technology. For this purpose, the valves are tested for function and power consumption at temperatures ranging from -70 to 80 degrees Celsius.
- Development of test equipment.
- Construction of test equipment.
- Code for valve control created in C/C++.
- The Test was performed at different temperatures and during different test durations.
- Documentation of the endurance test.
Project IV:
Implementation of an FFT as a PC console application. The FFT was calculated using the Cooley and Tukey algorithm in order to run the program on a microcontroller.
- The program for calculating the FFT was created in C.
Implementation of an FPGA-based digital function generator in VHDL using Altera's DE 2 board:
- Generation of signals using direct digital synthesis in sine, triangle, sawtooth, and square waveforms
- Creation of test benches for the modules and execution of gate-level and RTL simulation with Modelsim.
- Conversion of the generated signals into analog signals using sigma-delta modulation.