02.02.2025 aktualisiert

**** ******** ****
40 % verfügbar

Embedded Software Engineer | C++ | ARM-Cortex | STM32 | Linux

Fröndenberg, Deutschland
Weltweit
M. Sc. (Technische Informatik)
Fröndenberg, Deutschland
Weltweit
M. Sc. (Technische Informatik)

Skills

Ich bin Ingenieur aus Leidenschaft und unterstütze bei der Entwicklung von hardwarenahen Projekten. Dabei helfe ich bei der Neu- und Weiterentwicklung, sowie bei Code-Reviews und Code-Qualitätsthemen, Schaltplänen und Platinenlayouts. Vom Prototypen bis zur Serienreife. 

Programmiersprachen:
  • Embedded C/C++ (11, 14, 17) 
  • C/C++ (11, 14, 17) für x86 Systeme
  • Linux Betriebssystem Programmierung
  • Python
  • Bash
Firmwareentwicklung:
  • Bootloader
  • Anbindung externer Peripherie an Prozessoren
  • Treiber
  • Bare-Metal oder mit RTOS Programmierung
Schaltplan- und Platinendesing:
  • EAGLE
  • KiCAD
Plattformen:
  • ARM-Cortex-M
  • x86
  • ATMEL-AVR
  • WAGO PFC200
Hersteller:
  • ST Microelectronics (STM32)
  • TI
  • Microchip
  • Scilabs
  • ESP32
  • Freescale (NXP)
Schnittstellen: 
  • SPI, QSPI, I2C, UART, RS-485
  • DMA, 8080 Paralellel, ADC, DAC, Timer, JTAG
  • MII (Ethernet 100BASE-TX, 1000BASE-TX), CAN
  • 802.11 b/g WLAN, Bluetooth, 886MHz, 433MHz
Betriebssysteme:
  • Linux (Debian/Ubuntu)
  • Embedded-Linux (pengtronix)
  • FreeRTOS
  • ERIKA OS
Bauteile: 
  • Flash (W25Q64JVZPI)
  • EEPROM (M24C64)
  • LCD Displays (ILITEK9341V)
  • Ethernet MAC / PHY (Microchip KSZ9896C)
  • NXP PCA9955B (LED Treiber)
  • RN-41 Class 1 Bluetooth Module (https://www.microchip.com/en-us/product/RN41)
  • TSL2561 (Lichtsensoren)
  • L3GD20 (Drei Achsen Gyroskop)
  • LIS3DSH (MEMS Sensor)
  • Sharp GP2Y0D815Z0F (Infrarot Sensoren)
Entwicklungsumgebungen
  • VSCode
  • SEGGER Ozone
  • SEGGER SystemView
  • STM32CubeIDE / STM32CubeMX / STM32CubeProgrammer
  • Eclipse
  • Atmel Studio
  • sublime
  • vi
  • KiCAD
  • Altium Designer Viewer
Buildsysteme / Codeanalyse / Dokumentation:
  • CMake / Make
  • Docker
  • Git / Gitlab / SVN / Mecurial
  • valgrind
  • clang tools (clang-format, clang-tidy)
  • Jenkins
  • Doxygen, Sphinx
  • JIRA / Confluence
Compiler:
  • GNU (gcc / gnu-arm-none-eabi-gcc)
  • clang
Testing:
  • googletest / googlemock
  • cUnit
  • cppUnit
Werkzeuge:
  • SEGGER J-Link
  • SEGGER J-Trace Pro
  • Saleae Logic Pro
  • Rigol Oszilioskope
  • sysWorkXX USB CAN Module1
  • HackRF SDR
Protokolle:
  • MQTT
  • REST 
  • JSON
  • Modbus/TCP, Modbus/RTU
  • M-Bus
  • DALI
  • CANOpen
  • RSTP (Rapid Spanning Tree Protocol)
  • HDLC
C/C++ Bibliotheken:
  • FatFS
  • STL / Templates / Lambdas
  • CMSIS
  • STM32-HAL
  • Qt
  • spdlog
  • libmodbus
  • libbluetooth
  • libssh
  • nlohman (JSON)
  • paho (MQTT)
  • fmt
Branchen / Einsatzgebiete:
  • Robotik (Lokalisierung mobiler Roboter mittels LIDAR und Odometrie)
  • Logistik
  • Netzwerktechnik
  • Funksysteme
  • Energiesektor (Stromzähler, Gas-, Wasser-, Wärmemengenzähler)
  • Batteriehersteller
  • Beleuchtungsindustrie
  • Automotive
  • Produzierende Unternehmen (Landwirtschaft)
  • Automatisierung
  • Modellbasierte Softwareentwicklung

Sprachen

DeutschMutterspracheEnglischverhandlungssicherPolnischgut

Projekthistorie

Senior Embedded Software Engineer

GEA Group

Industrie und Maschinenbau

>10.000 Mitarbeiter

Entwicklung hardwarenaher Software (Firmware) und Treiber mit embedded C und embedded C++. Die Entwicklung umfasst verschiedene eingebettete Systeme (individuelle Hardware) für die Steuerung von Industrieprozessen, Benutzereingaben, Displayintegrationen, Visualisierungen, Netzwerkkommunikation (CAN/Ethernet) von der Konzeption bis zur Markteinführung.

- C++ 11/14/17
- ARM-Cortex-M / STM32 / WAGO PLC
- CMSIS / TouchGFX
- Echtzeitsysteme / FreeRTOS / Embedded Linux / Ubuntu Linux
- Schaltpläne und Layouts (Altium Designer / KiCAD)
- i2c / SPI / QSPI / UART / ADC / DAC / Timer / PWM / 8080 / Firmwareupdate
- ILI9341 LCD Displays
- Flash / EEPROM / RTC
- Gigabit-Ethernet 1000BASE-T PHY (MII) Schnittstellen Entwicklung
- Netzwerkkommunikation : Gigabit-Ethernet, MQTT, CANOpen, REST, JSON
- Testautomatisierung: Jenkins / Unittests / Googletest / Google Mock / Docker / Python / Bash
- Softwarequalität: clang-tidy, clang-format
- SCM: SVN / Git / GitLab
- compiler: gnu-arm-none-eabi, gcc, keil
- Buildsysteme: CMake / Make
- IDE: VSCode / Eclipse / vi / STMCubeIDE / STMCubeMX / Segger OZone / Segger SystemView

Entwicklung eines embedded Systems zur Prozesssteuerung von Wechselrichtern und Batteriespeichern

Volterion GmbH & Co. KG, Dortmund

Energie, Wasser und Umwelt

10-50 Mitarbeiter

Das Projekt umfasste die Entwicklung einer Prozesssteuerung auf einem eingebetteten System zur Integration von Victron Cerbo GX Wechselrichtern und Volterion powerRFB Redux-Flow Batteriespeichern. Aufgabe war es ein Battery-Management-System (BMS) zu entwickeln, welches mittels Algorithmus die Lade- und Endladephasen der Battiespeicherer steuert und die Versorgungsquelle für den Energiebedarf dynamisch zwischen Batteriespeicher und Netzversorgung umschaltet. Der Energiefluss konnte so in Abhängigkeit von Strombedarf und -produktion beeinflusst werden. Die Software überwacht zudem den Ladezustand des Batteriespeichers, setze die Kommunikation aller Modbus Teilnehmer um und erfasst alle relevanten Messdaten. Die Messdaten wurden zur Analyse und für das Tracing der Batteriespeicher verwendet, sowie der elektrischen Leistungen, an verschiedenen Knotenpunkten. Diese Messdaten dienten als Grundlage für eine prozessabhängige Konfiguration des Wechselrichters. Die Implementierung der Software wurde mittels C++17 auf einem embedded Linux System realisiert. Die Kommunikation zwischen dem Managementsystem, den Batteriespeichern und dem Wechselrichter wurde per Ethernet (Modbus/TCP) umgesetzt. Für alle Kommunikationspartner des Systems wurden Schnittstellen designend und die Kommunikation soweit gekapselt, dass diese für das Managementsystem transparent und austauschbar sind.
  • Embedded C / Embedded C++
  • Python / Node-RED
  • Linux ARM / x86 / Raspberry Pi
  • CMake / Make
  • Ethernet / Modbus TCP
  • Multithreading
  • Konzeption und Entwicklung einer Parametrierung für die Batteriesteuerung
  • Konzeption und Entwicklung eines Loggingsystems
  • Konzeption und Entwicklung von Zustandsautomaten
  • Dokumentation per Doxygen
  • Gitlab
  • CI

Entwicklung einer Laserschweißanlage von elektrochemischen Zellen für Redox-Flow-Batterien

Volterion GmbH & Co. KG

Energie, Wasser und Umwelt

10-50 Mitarbeiter

Für den Fertigungsprozess von Redox-Flow-Batterien wurde eine Prozesssteuerung einer Laserschweißanlage, zum Verschweißen elektrochemischer Zellen entwickelt. Von der Konzeption bis zur fertigen Anlage und Inbetriebnahme wurde die Entwicklung begleitet. Durch die Ansteuerung von Wegeventilen können pneumatischen Aktoren die Einzelkomponenten der Zellen auf einem CNC-Tisch fixieren und in Position bringen. Anschließend werden die Zellen durch einen Diodenlaser auf dem CNC-Tisch verschweißt. Für den CNC-Tisch wurde eine Hardwareschnittstelle für eine externe CNC-Software entwickelt. So wurde eine 0-10V Spindeldrehzahlsteuerung integriert, die den Tisch in X und Y Richtung einer Ebene bewegt. Die Anlage wurde zudem aktiv belüftet und mit einem Kamerainterface ausgestattet, welcher den Schweißvorgang visualisiert. Die Software wurde auf einer speicherprogrammierbaren Steuerung mit Embedded C++ implementiert. Die Tests wurden On-Target, sowie Off-Target realisiert. Dafür wurde der C++ Code plattformunabhängig programmiert und die Schnittstellen gemockt, sodass der Prozess auf einem x86-System ebenfalls in Betrieb genommen und der Ablauf getestet werden konnte.

  • Konzeption, Implementierung und Inbetriebnahme der Prozessteuerung
  • Entwicklung eines Stromlaufplans und der Teileliste
  • Entwicklung einer Hardwareschnittstelle zu einer externen CNC Steuerung
  • Ansteuerung von Pneumatikaktoren zur Fixierung der Teile und des Diodenlasers
  • Umsetzung der Benutzerinteraktion (Eingaben / Ausgaben / Visualisierung)
  • Implementierung eines Algorithmus für den Schweißvorgang von elektrochemischen Zellen
  • Linux ARM / x86
  • CMake / Make
  • git
  • Testen mit Unittests (googletest)
  • Simulation von Schnittstellen (Mocken) (googlemock)
  • Ethernet Kommunikation (MQTT)
  • C++ (17)
  • Entwicklung eines Prozesslogging mittels spdlog
  • Dokumentation mit UML und Doxygen

Zertifikate

Architektur Hands-on Training, Prof. Dr. Jens Liebehenschel und Colin Appel, Frankfurt Univ. of Appl. Sciences

Embedded Software Engineering Kongress

2020

Best Practices für modernes C++, Rainer Grimm, Modernes C++

Embedded Software Engineering Kongress

2020

Unit-Tests in der Praxis, Pawel Wisniewski, embeff

Embedded Software Engineering Kongress

2020

Developing with Arm Cortex-M

Doulos

2019

Qualifizierung zum Wertanalytiker

VDI

2018

EAGLE Workflow vom Schaltplan zur fertig bestückten Leiterplatte

Eurocircuits GmbH

2018


Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden