Porträt von Robert Ledwig
Robert Ledwig M.Eng. Technische Informatik · über 10 Jahre Embedded-Software

Freiberuflicher Embedded-Softwareentwickler

Embedded-Software in C/C++: Firmware, Architektur und Verifikation

Wenn Firmware, Verifikation und Integration nicht sauber zusammenspielen, verschiebt sich der Release. An dieser Stelle unterstütze ich Teams in Automotive, Medizintechnik und Industrie – von MCU-Firmware und RTOS über Diagnose und Requirements bis zum Linux-Tooling für die Auslieferung.

10+ Jahre in Embedded-Software
7+ Einsätze bei OEMs, Zulieferern und in der Medizintechnik
3 Kernbereiche: Automotive, MedTech, Industrie
C / C++17 STM32 / ARM Cortex-M FreeRTOS / Zephyr / Bare Metal CAN / CANopen / UDS pytest / CppUTest ISO 26262 / IEC 62304 / ASPICE

Wo Teams typischerweise festhängen

Typische Engpässe

  • Requirements: unklare Verantwortlichkeiten zwischen Spezifikation, Implementierung und Verifikation
  • Integration: Hardware-Bring-up, Treibergrenzen und Protokolldebugging unter Zeitdruck
  • Qualität: zu späte Testbarkeit, schwache Nachvollziehbarkeit und fehlende Evidenz in regulierten Umfeldern
  • Auslieferung: Tooling-Lücken zwischen lokaler Entwicklung, CI sowie Labor- oder Produktionssystemen

Risiko: langsame Integration, instabile Releases und Fehler, die zu spät gefunden werden

Wobei ich unterstütze

  • Architektur bis Validierung: End-to-End-Verantwortung von Design über Integration bis Test
  • Firmware-Tiefe: hardwarenahe C/C++-Entwicklung, Bootpfade, timingkritisches Verhalten und Protokollstacks
  • Systemsicht: Embedded Linux, CI/CD, Observability und Entwickler-Tooling, wenn das Umfeld mitgebaut werden muss
  • Regulierte Kontexte: Erfahrung mit Automotive- und MedTech-Standards sowie disziplinierten Review-Workflows

Ergebnis: technisch klar, testbar und produktionsorientiert

Leistungsprofil

Besonders sinnvoll, wenn ein Team einen Partner braucht, der zwischen Firmware-Details, Integrationsproblemen, Verifikationserwartungen und dem Linux-Tooling rund um die Auslieferung sicher wechseln kann.

Typischer Projekteinsatz

Leistungsschwerpunkt

Mehr als zehn Jahre Berufserfahrung in C/C++ und Python mit Fokus auf Firmware-Architektur, hardwarenahe Implementierung, deterministisches Verhalten, Kommunikationsschnittstellen, Debugging auf realen Targets und Integration unter Lieferdruck.

Der Leistungsumfang umfasst klassische MCU-Firmware, RTOS-basierte Entwicklung, Requirements Engineering, Diagnose, treibernahe Implementierung, Verifikation und Linux-basiertes Tooling, das in der Praxis oft darüber entscheidet, ob ein Embedded-System sauber ausgeliefert werden kann.

Regulierte und sicherheitsnahe Kontexte

Die Projekte lagen in Automotive, Medizintechnik und industriellen Umfeldern mit Berührung zu ISO 26262, IEC 62304, ISO 13485, ASPICE-orientierten Abläufen, MISRA-getriebener Analyse und strukturierter Verifikation.

Typischer Beitrag

  • Klare Modulgrenzen zwischen Treibern, Protokollen, Fachlogik und Testschnittstellen
  • Testbare Auslieferung mit früher Nachvollziehbarkeit, Reproduzierbarkeit und Diagnosefähigkeit
  • Pragmatische Verantwortung von Requirements Engineering und Design bis Integration, Reviews und Bugfixing
  • Systemverständnis über Firmware, Linux-Tooling, CI und operative Randbedingungen hinweg

Projekterfahrung

Sechs Mandate aus Medizintechnik, Automotive und Industrie, jeweils mit Aufgabe, Vorgehen und Ergebnis. Die Kundennamen nenne ich im Gespräch.

Firmware und Architektur Medizintechnik

Systemcontroller für ein Medizinprodukt

C++ auf ARM Cortex-M4, FreeRTOS, Embedded Linux und Yocto

  • Aufgabe: Ein Systemcontroller für ein Medizinprodukt, entwickelt im Rahmen von IEC 62304 und ISO 13485.
  • Umsetzung: Softwarearchitektur und FreeRTOS-Firmware in C++ auf ARM Cortex-M4, mit Schwerpunkt auf Power-Management, gesicherter Kommunikation und klaren Modulgrenzen. Dazu die Anbindung Linux-basierter Systemkomponenten und die Mitarbeit am Yocto-Build.
  • Ergebnis: Firmware mit Unit-Tests, Systemvalidierung und requirementsnaher Dokumentation, die im regulierten Umfeld prüfbar ist.
C++ FreeRTOS ARM Cortex-M4 IEC 62304
Requirements und Verifikation Medizintechnik

Anforderungen, die sich automatisiert nachweisen lassen

pytest, Embedded C und Verifikation im IEC-62304-Umfeld

  • Aufgabe: Software-Requirements formulieren und verifizieren, dazu den bestehenden Embedded-C-Code stabilisieren.
  • Umsetzung: Requirements-Testing mit pytest, dazu Integration, Bugfixing und algorithmische Erweiterungen direkt im C-Code.
  • Ergebnis: Automatisierte Testfälle, die jede Anforderung nachvollziehbar abdecken und im technischen Review als Nachweis dienen.
pytest Embedded C Requirements IEC 62304
MCU-Firmware Industrie

Ladecontroller auf STM32 mit CANopen

Treiberentwicklung, statische Analyse und CI/CD

  • Aufgabe: Die Firmware für Batterie-Ladecontroller um neue Funktionen erweitern, ohne die Auslieferungsqualität zu verlieren.
  • Umsetzung: Neue Firmware-Funktionen samt zugehöriger Treiber, abgesichert durch Code-Reviews, statische Analyse und Unit-Tests. Werkzeug- und Prozessarbeit mit Git, Bitbucket und IBM DOORS.
  • Ergebnis: Neue Funktionen gingen über eine CI-Strecke mit Unit-Tests und statischer Analyse in die Auslieferung.
STM32 CANopen CI/CD IBM DOORS
Architektur und Module Produktplattform

Modulare C++17-Firmware auf ARM Cortex-M7

Softwarearchitektur, CAN und proprietäre Protokolle

  • Aufgabe: Embedded-Softwaremodule für eine vernetzte Produktplattform, von der Spezifikation bis zum Test.
  • Umsetzung: Softwarearchitektur und Module in C++17 auf ARM Cortex-M7, inklusive Integration der CAN-Kommunikation und proprietärer Protokollanteile.
  • Ergebnis: Klar geschnittene Module, die sich einzeln testen und in die Plattform integrieren ließen.
C++17 ARM Cortex-M7 CAN Unit Tests
Diagnose und Feld-Updates Automotive

Steuergerät neu aufgesetzt, inklusive Update-Pfad

Bootloader, Flash-Programmierung, CAN und UDS

  • Aufgabe: Ein Automotive-Steuergerät unter sicherheitsnahen Randbedingungen neu aufsetzen.
  • Umsetzung: Neuarchitektur der Software, im Team entwickelte Bootloader-, Flash- und Field-Update-Mechanismen sowie CAN- und UDS-Diagnose mit der Vector-Toolchain.
  • Ergebnis: Ein Steuergerät, das sich im Feld aktualisieren und über Standarddiagnose auslesen lässt.
Bootloader CAN UDS Vector CANoe
Portierung und Regelung Lasersysteme

Firmware auf eine neue MCU-Plattform gebracht

STM32, Buskommunikation in VHDL und zeitkritische Regelung

  • Aufgabe: STM32-Firmware für Lasersysteme weiterentwickeln und auf neue Mikrocontroller-Plattformen portieren.
  • Umsetzung: Portierung der Firmware-Basis, Buskommunikation des Mikrocontrollers in VHDL sowie zeitkritische Regel- und Steueralgorithmen.
  • Ergebnis: Dieselbe Firmware-Basis lief auf der neuen Plattform, die zeitkritische Regelung war integriert und validiert.
STM32 VHDL MCU Porting Control Loops

Technologien und Normen

Sprachen, Plattformen, Werkzeuge und Normen aus der praktischen Embedded-Arbeit.

Sprachen und Plattformen

  • C, C++ bis C++17, Python, VHDL
  • STM32, ARM Cortex-M, Renesas, TI
  • FreeRTOS, Zephyr, Bare Metal
  • Embedded Linux, Yocto, Docker

Kommunikation und Diagnose

  • CAN, CANopen, UDS, XCP
  • UART, SPI, I2C, USB, D-Bus
  • Vector CANoe und CANalyzer
  • JTAG/SWD, Logic Analyzer, Oszilloskop

Test, Analyse und Normen

  • pytest, CppUTest, Unit- und Integrationstests
  • MISRA, Coverity, Polyspace
  • IEC 62304, ISO 13485, ISO 26262, ASPICE
  • Requirements Engineering und Verifikation

Werkzeuge und Auslieferung

  • Git mit GitLab und Bitbucket, CMake
  • Visual Studio, VS Code, Eclipse
  • IBM DOORS, Jira, Confluence
  • CI/CD, nginx, TLS

Projekt anfragen

Schreiben Sie mir kurz, worum es geht: Aufgabe, Start, Laufzeit und Auslastung. Das vollständige Profil mit Projektliste und Referenzen sende ich Ihnen auf Anfrage zu.

Leistungsprofil als PDF