Projekte
Embedded Linux: Anpassung Display Driver
Senior Software Entwickler
- Branche: Elektrotechnik
- Tätigkeit: Integration
- Anpassung des Display Treibers
- Device Tree implementieren
- Platform: Renesas RZ/G2L
- OS: Yocto
Juni 2023
-
Juni 2023
Embedded Entwicklung im Bereich Low Power
Senior Software Architekt/Entwickler
- Branche: Elektrotechnik
- Tätigkeit: Architektur / Implementierung / Integration
- Baremetal-Applikation für eine STM32L5 MCU
- QtCreator, C/C++ 20, Git
- Interruptgesteuerte Low Power State Machine (Stromverbrauch im µA Bereich)
- Implementierung der erforderlichen Hardwareeinheiten: DMA, PWM, GPIOs
- Remote Tätigkeit
Oktober 2022
-
Juni 2023
NB-IOT Embedded Entwicklung
Senior Software Architekt/Entwickler
- Branche: Elektrotechnik
- Tätigkeit: Software Architekt/Entwickler
- Prototypenentwicklung im Bereich NB-IOT / CAT-M1
- Software: QtCreator, GCC Toolchain, CMake, J-Link GDB, Git
- Hardware: Nordic nRF9160 / Nordic nRF52850
- Anbindung der Sensoren und PMIC über SPI/I²C
- Anbindung Mobilfunkmodem
- Komplette Neuentwicklung der Baremetal-App: Bootloader, Linkerscripte, C++ Startup, Secure/Non-Secure Cortex M
- Anbindung an Amazon AWS IOT Core
April 2018
-
Oktober 2021
Embedded Entwicklung im Bereich Massenspektrometer II
Senior Software Architekt/Entwickler
- Branche: Elektrotechnik
- Tätigkeit: Architektur / Implementierung / Integration
- Baremetal-Applikation für einen NXP LPC43xx und NXP RT1062 SoC
- Software: FreeRTOS, LittleFS, CycloneTCP
- IDE MCUXpresso, C/C++ 20, Git
- Hardware: NXP LPC43xx, NXP LPC1347, NXP RT1062
- Anbindung sämtlicher externer Hardware über SPI, I²C, OneWire, UART, GPIOs. FPGA via MemoryController.
- Remote Tätigkeit
Oktober 2014
-
März 2025
Audio-Treiber Entwicklung für Embedded Linux
Senior Software Entwickler
- Branche: Consumer Electronics
- Tätigkeit: Implementierung
Januar 2014
-
März 2014
Embedded Linux für eine kundenspezifische Plattform
Senior Software Architekt/Entwickler
- Branche: Defensive
- Tätigkeit: System Design, Architektur, Implementierung, Konfiguration
- Aufsetzen, Anpassen und Konfiguration des Systems (TI OMAP3 / NXP iMX6 / iMX8).
- Implementierung von Treibern.
- Entwurf und Implementierung der Applikation.
- Details:
- Aufsetzen der Buildumgebung (gcc für ARM)
- Zusammenstellen der passenden Komponenten für das Linuxsystem:
- Bootloader: U-Boot + X-Loader/U-Boot MLO + Secure Boot
- Kernel: 3.0.x bis 6.x + Device Tree
- RootFS: Buildroot, Qt5
- Anpassungen für die kundenspezifische Hardware im Bootloader
- Initialisierung der Hardware: SDRAM, NAND, GPIO, LCD, …
- Systemstart von: MMC, NAND, NFS
- Splashscreen Implementieren
- Anpassungen im Kernel
- CPU-Freq implementieren (dynamisches Umschalten der CPU-Frequenz, je nach Profil)
- LCD-Display-Treiber einbauen (Parallel, LVDS, MIPI DSI)
- Splash-Screen-Support
- Powermanagement mit externen IC
- Audio-Support: Treiber für TI OMAP3 konfigurieren
- Treiber für kundenspezifisches USB-Device implementieren:
- Streaming-Daten via DMA zum internen DSP des TIProzessors kopieren
- Implementierung der kundenspezifischen Algorithmen auf dem internen DSP
- WLAN-Treiber integrieren (RTL8188 und Andere)
- Anpassungen im RootFS
- Konfiguration des NAND-Filesystems: UBI-FS. ECC
- Netzwerkkonfiguration: ifpugd, DHCP, DNS, statische IP, WLAN (wpa_supplicant)
- Hotplug-System mit MDEV: USB-Stick automount, FDTIserial-USB, USB-WLAN Treiber
- Audio-Support: ALSA-System testen und in Betrieb nehmen
- Gesamtsystem
- Implementierung eines Update-Mechanismus:
- Dual-Boot-System
- Verschlüsselung des Update-Packages (AES256, SHA256)
- Update verschiedenster Sub-Komponenten: Detektoren, Atmel ATMega über SPI
- Update über Application steuern
- Update über integrierten Webserver steuern (Websockets)
- SPI, I²C, GPIO Userspace-Treiber konfigurieren
- RTC, USB-Gadget-Treiber
- Anbindung via Bluetooth und Wifi
- Arbeiten an der Application (Qt5, C++1x/2x)
- Buildserver: Jenkins
- Versionskontrolle: Git
- Bugtracking: Redmine
- Remote Tätigkeit
März 2013
-
August 2025
Kryptogeräteentwicklung
Requirements-Ingenieur
- Branche: Sicherheitsbranche
- Tätigkeit: System Design, Architektur
- Entwicklung einer Plattform Software für ein embedded System.
- Erstellung der Use Cases.
- Erarbeitung der Requirements.
- Entwicklung der Architektur.
- Beschreibung der Use Cases mittels DSL (Domain Specific Language)
- Hardwareplatform: SoC XILINX Zync
Oktober 2012
-
Februar 2013
Embedded Entwicklung im Bereich Massenspektrometer I
Senior Software Entwickler
- Branche: Elektrotechnik
- Tätigkeit: Architektur / Implementierung / Integration
- Neuentwicklung der Software für ein Controller-Board
- Ansteuerung verschiedener Hardwarekomponenten über USB, SPI, RS232, DIO
- Implementierung der Algorithmen für die folgenden Komponenten:
- Ansteuerung des Boards über USB vom Host-PC
- Analog-Digital-Converter (ADC) über SPI
- Digital-Analog-Converter (DAC) über SPI
- Digital I/O über SPI
- Bronkhorst IQFlow Geräte über RS232
- Lüfterdrehzahlüberwachung
- Pumpensteuerung über DIO
- Firmwareupdate mit externen Flash über SPI
- Schreiben einer Testapplikation unter Windows in C# zum Testen der Funktionalität
- Programmierung eines Firmwareupdatetools in C# unter Windows
- Programmiersprache: C/C++, C#
- Environment: MS Visual Studio, RedSuite, Git, ARM Compiler, Make, Eclipse
- Hardware: NXP LPC2378, NXP LPC2148, ADC, DAC, DIO, Bronkhorst IQFlow
- Remote Tätigkeit
April 2012
-
September 2012
Verstärkerentwicklung (EMV-Umfeld)
Senior Softwarearchitekt/entwickler
- Branche: Elektrotechnik/Messgeräte
- Tätigkeit: Architektur / Implementierung / Integration
- Arbeiten im Umfeld embedded Software für ein modulares Breitbandverstärkersystem
- Überprüfung der bisherigen Lösung bezogen auf die Aspekte Architektur, Buildsystem, Modularisierung
- Architekturentwurf mittels UML; insbesondere Statecharts
- Neuerstellung des Buildsystems mit CMake
- Linux-Kernel Programmierung: Implementierungen für CANBus Treiber
- Neuerstellung der CAN-Bus Schichten für die vorhandene Software
- Continuous Integration: Aufbau der Buildchain mit Versionsverwaltung (git, Clearcase), Buildserver (Hudson) und automatischer Testabdeckung und anschließender Firmware-Erstellung als automatischer Prozess
- Programmiersprache: C/C++
- Environment: Embedded Linux, Qt 4.7.x, powerpc-gcc, cmake, MS Visual Studio, VM Ware
- Hardware: PowerPC 603e, x86, CAN-Bus, FPGA, PCI-Bus
- Tools: Requirements: IBM Rational Doors
- Bugtracking: IBM Rational ClearQuest
- Versionsverwaltung: svn, IBM Rational Clearcase
Januar 2011
-
März 2012
Embedded-Device Entwicklung
Senior Softwareentwickler
- Branche: Sicherheitsbranche (Behördenumfeld)
- Tätigkeit: Implementierung / Releasemanagement / Integration
- Erstellung einer Proof-Of-Concept Lösung
- Programmierung spezieller Module (UserInterface, Selftest, etc) für die Produktionsversion
- Implementierungsarbeiten für das Secure-Messaging zur Smartcard
- Kommunikation und Abstimmung mit externen Dienstleistern
- Entgegennahme und Test der Zulieferungen von externen Dienstleistern
- Continuous Integration: Aufbau der Buildchain mit Versionsverwaltung (svn), Buildserver (Bamboo) und automatischer Testabdeckung und anschließender Firmware-Erstellung als automatischer Prozess
- Shellscriptprogrammierung: Bash und Windows Powershell
- Programmiersprache: C/C++
- Environment: Embedded Linux, Qt 4.6.x, arm-gcc, cmake, MS Visual Studio, VM Ware
- Hardware: Freescale iMX51, Cirrus EP9301, Intel Atom, Smartcards
- Spezielle Technologien: Secure Boot, SOAP, PKI, PC/SC
- Tools: Projektmanagement: Instep
- Bugtracking: Jira
- Statische Codeanalyse: Klocwork
- Insight
Oktober 2009
-
Dezember 2010
Dokumentenkontrollsystem
Senior Softwareentwickler
- Branche: Sicherheitsbranche (Behördenumfeld)
- Tätigkeit: Implementierung
- Anbindung der Hardware an das Gesamtsystem (Fingerprintreader, Kamera, externe Displays über
- Kommunikation der Komponenten über das Netzw
- Programmiersprache: Java J2EE, C/C++
- Environment: Eclipse, MS Visual Studio
- Tools: C/C++, Boost, log4cxx, Cognitec SDK, Canon S
- Java: JBoss, Hibernate, Log4j
Februar 2009
-
September 2009
Multimedia Consulting
Senior Software Entwickler
- Branche: Sicherheitsbranche
- Tätigkeit: Analyse und Implementierung
- Beratungen zur Videocodierung
- Architektur und Implementierung eines MPEG-2 Transportstream Analyzers
- Mitarbeit im Open-Source Projekt ffmpeg
- Programmiersprache: C/C++
- Environment: Windows, Fedora 11/12 x64 Linux
- Tools: ffmpeg, vlc, mplayer
- Multimedia: MPEG-2 Transportstream (ISO 13181-1), MPEG-2 Video, H.264, STANAG 4609
Januar 2009
-
Juni 2010
NGN - New Generation Networks / VoIP (HiQ)
Senior Softwareentwickler
- Branche: Telekommunikation
- Tätigkeit: Analyse und Implementierung
- Implementierung von verschiedenen Services in einen VoIPServer (Soft-PBX)
- Services: Lawfull Interception, Parallel Ringing, Serial Ringing, Music On Hold
- Installation der Software
- Bearbeitung von Change Requests
- Erstellung von Testszenarios
- Programmiersprache: C/C++
- Environment: Solaris, Linux, ClearCase, ClearQuest, TestDirector, make
- Protokolle: SIP, SDP, MGCP, RTP, 3GPP IMS, Mobile Centrix, SOAP
März 2008
-
Dezember 2008
Videotelefonie (H.324M) mit Asterisk
Senior Softwareentwickler
- Branche: Telekommunikation
- Tätigkeit: Analyse und Implementierung
- Analyse eines bestehenden Videotelefonieangebotes.
- Implementierungsarbeiten innerhalb des Asterisk-PBX für H.324M
- Fehlerbehebung des H.324M Stacks
- Lieferung von Patches für den Fontventa H.324M Stack
- Test mit Nokia N73 und Motorola K3
- Programmiersprache: C, Java, Perl
- Environment: Linux, gcc, Eclipse
Februar 2008
-
Mai 2008
Systemarchitektur für IPTV
Systemengineering
- Branche: Telekommunikation
- Tätigkeit: Systemengineering
- Erarbeitung verschiedener Systemarchitekturen für ein IPTVSystem.
- Beschreibung der Clientarchitektur und Backendarchitektur (CMS) sowie des CDN (Content-Delivering-Network).
- Evaluierung verschiedener IPTV-Techniken: Multicast, Unicast, Peer-2-Peer.
- Evaluierung verschiedener IPTV-Platformen: Microsoft Windows Media / MSTV, Adobe Flash, RealNetworks
November 2007
-
Februar 2008
Implementierungsarbeiten für ein Dokumentenkontrollsystem
Senior Softwareentwickler
- Branche: Sicherheitsbranche (Behördenumfeld)
- Tätigkeit: Implementierung
- Programmierung einer GUI für ein bildverarbeitendes Framework: GUI-Logik, Mainframe und verschiedene Dialoge
- Benutzung des GUI-Frameworks Qt von Trolltech
- Ansteuerung der Hardware: Kamera, Beleuchtungen, Positioner
- Datenablage in einer SQL-Datenbank (MySql)
- Einlesen von Konfigurationsdaten mittels DOM XML Parser
- Ausgabe von statistischen Daten via XML
- Schutz des Programms gegen unerlaubtes Kopieren via Dongle von WiBu-Systems
- Installation des Systems
- Programmiersprache: C++
- Bibliotheken: Qt 4.3.x (Trolltech), boost
- Environment: Windows XP, MS Visual Studio 2005
Juli 2007
-
November 2007
IMS Dienste im Telekommunikationsumfeld
Senior Softwareentwickler
- Branche: Telekommunikation
- Tätigkeit: Implementierung und Test
- Implementierung von SIP Diensten auf der Nokia-SiemensNetworks Advantage-Plattform.
- Implementierung eines Charging-Interfaces in einem 3GPP IMS Applicationserver / B2B User-Agent.
- Implementierung der Testumgebung für den 3GPP IMS Applicationserver/ B2B User-Agent.
- Parsing von ASN.1 Daten via perl Script zur automatischen Dokumentationsgenerierung.
- Benutzung von Regular Expressions in Perl und Java.
- Remote Debuggen mit Eclipse (Solaris/Windows XP)
- Erstellung eines Testsystems:
- Test-Scriptssyntax festlegen.
- Scriptinterpreter entwerfen (Java).
- Steuerung des Test-Systems mit Perl-Scripten.
- Environment:
- Programmiersprache: Java 1.5 (Java SE 6)
- Protokolle: SIP, SDP, RTP, ASN.1
- Environment: Solaris 10, Eclipse, perl, codegen
November 2006
-
Juni 2007
MPEG-2 Transportstream Multiplexer
Senior Softwareentwickler
- Branche: TV Broadcasting
- Tätigkeit: Implementierung
- Erstellung der Architektur sowie der Implementierung für einen MPEG-2 Transportstream Multiplexer.
- Verarbeitung von MPEG-4/AVC oder H.264 Videostreams und MPEG-4 AAC HE Audiostreams.
- Test mit Settopboxen von Pace, Amino und Stino.
- Environment:
- Programmiersprache: C++
- Protokolle: MPEG-2 Systems
- Tools: VLC, mplayer, MS DirectShow
- Environment: MS Visual Studio .Net 2003, cygwin, gcc
Juni 2006
-
Oktober 2006
IMS Videosharing/VoIP
Systemengineering und Implementierung
- Branche: IMS Videosharing/VoIP
- Tätigkeit: Implementierung
- Erstellung der Use-Cases, Requirements, Spezifikationen und der Architektur sowie der Implementierung für ein System zur Übertragung von Realtime-Audio/Video-Streams zwischen Mobilfunkgeräten (full duplex).
- Environment:
- Programmiersprachen: C/C++, C#, Visual Basic
- Environment: 3GPP IMS, IPv6
- Codecs: Video - MPEG-4, H.264, Audio – AMR, AMR-WB
- Development: Windows Mobile 5.x, Intel XScale PXA27x
April 2006
-
Juli 2007
IMS Dienste
Systems Architect
- Branche: Telekommunikation
- Tätigkeit: Systemengineering
- Erarbeitung der Systemspezifikationen für IMS Dienste. Arbeiten im Bereich Push-To-Talk, Videosharing, Presence und weitere. Erstellung der Use-Cases, der Requirements und der Architektur.
August 2005
-
März 2006
AUTOSAR
Systems Architect
- Branche: Automotive
- Tätigkeit: Systemengineering
- Arbeiten im Bereich Automotive: Review der AUTOSAR Spezifikationen, Erarbeitung von Lösungen im AUTOSAR-Standardisierungsprozess.
Juli 2005
-
Juli 2005
SigComp (IETF)
Systems Architect
- Branche: Telekommunikation
- Tätigkeit: Systemengineering und Implementierung
- Entwurf, Architektur und Programmierung des Signal-Compression Layers SigComp. Umsetzung in C für eine embedded Plattform.
Mai 2005
-
Dezember 2005
IMS Video Sharing
Systems Architect
- Industry: Telecommunications
- Role: Systems Engineering
- Architecture design for 3GPP IP Multimedia calls in the IMS.
- Creation of call flows, definition of requirements, and design of architecture components for mobile phone clients.
März 2005
-
Juni 2005
Push-To-Talk (PoC)
Systems Architect
- Branche: Telekommunikation
- Tätigkeit: Systemengineering
- Software-Architekturdesign und Entwurf für PoC und Videostreaming im Mobilfunkbereich auf der Client-Seite. Designspezifikationen für embedded Platforms (Apoxi, embedded Linux). Vertretung des Auftraggebers bei der Open Mobile Alliance (OMA).
August 2004
-
Juni 2005
IMTC Konformitätstests
Software Developer
- Branche: Telekommunikation
- Tätigkeit: Implementierung und Test
- Vertretung des Auftraggebers bei der IMTC
- Leitung und Durchführung der Konformitätstests für Video/Audio Codecs und das 3GPP Fileformat im Rahmen der IMTC Organisation.
- Environment:
- Programmiersprachen: C/C++, Perl, Visual Basic
- Protokolle: MPEG-4/H.263, AMR, AAC
- Environment: ARM Toolchain, Visual Studio, gcc
März 2004
-
Juli 2004
Multimediaframework für Mobilfunkgeräte
System Ingenieur
- Branche: Telekommunikation
- Tätigkeit: Systemengineering und Implementierung
- Entwicklung der Architektur und der Teilkomponenten für ein Middleware Multimedia Framework (ähnlich DirectShow) für Mobilefunkgeräte (Nucleus/APOXI).
August 2003
-
Dezember 2003
Übertragung von Multimediadaten über Mobilfunknetze
Wissenschaftlicher Mitarbeiter
- Branche: Telekommunikation
- Tätigkeit: Systemengineering und Implementierung
- Aufbau und Entwicklung einer Simulationsumgebung zur optimierten Übertragung von Videodaten mittels EGPRS und WLAN. Benutzung der Protokolle RTP, UDP, IP, EGPRS und IEEE 802.11b. Als Videostandards wurden MPEG-4 und H.264(AVC) verwendet.
August 2003
-
Dezember 2003
MPEG-4 Content Verwaltung
Wissenschaftlicher Mitarbeiter
- Branche: Telekommunikation
- Tätigkeit: Implementierung
- Analysen und Entwicklungen zur Speicherung von Multimedia-Inhalten im MPEG-4 Fileformat.
Januar 2001
-
Juni 2001
Virtuelle 3-D Videokonferenzsysteme
Wissenschaftlicher Mitarbeiter
- Branche: Telekommunikation
- Tätigkeit: Systemengineering und Implementierung
- Entwicklung der Grundlagen für zukünftige 3D Videokonferenzsysteme unter Verwendung mehrerer Kamerasysteme.
Januar 1999
-
Dezember 2000
Mitarbeit an der Entwicklung des Videostandards MPEG-4
Wissenschaftlicher Mitarbeiter
- Branche: Telekommunikation
- Tätigkeit: Systemengineering und Implementierung
- Zeitweise Betreuung des EU-Projektes MoMuSys sowie die Entwicklung und Implementierung von eigenen Algorithmen für MPEG-4.
Mai 1998
-
Dezember 1998
Schnelle Bewegungsschätzung in der MPEG Codierung
Wissenschaftlicher Mitarbeiter
- Branche: Telekommunikation
- Tätigkeit: Implementierung
- Implementierung schneller Bewegungsschätzverfahren in MPEG-2 und MPEG-4 Videokompressionsverfahren. Entwicklung in Intel Assembler unter Verwendung der MMX und SSE Erweiterungen.
Mai 1998
-
Dezember 1998
Fraktale Bildcodierung
Wissenschaftlicher Mitarbeiter
- Branche: Telekommunikation
- Tätigkeit: Systemengineering und Implementierung
- Entwicklung eines Bildcodiersystems mittels fraktaler Methoden und Algorithmen. Umsetzung mittels objektorientierter Methoden in C++.
Januar 1997
-
Dezember 1997
Selbstbauprojekt: Z80 PC
Auszubildender
- Branche: IT
- Tätigkeit: Implementierung
- Aufbau eines Z80 PC’s, inkl. Erstellung der Platinen, Lötarbeiten, Fehlersuche mittels Oszilloskop.
- Entwicklung eines Tastaturcontrollers mit Z8 CPU
- Entwicklung eines Diskettencontrollers
- Implementierung des BIOS in Assembler
- Anpassung von CP/M
September 1986
-
Dezember 1988