freiberufler Senior Embedded Hardware und Software Engineer auf freelance.de

Senior Embedded Hardware und Software Engineer

offline
  • 75‐90€/Stunde
  • 10435 Berlin
  • Europa
  • en  |  de
  • 03.06.2024

Kurzvorstellung

Ich bin sehr erfahrener Softwareentwickler im Bereich Embedded Hardware und Software. Dazu habe ich eigene Leiterplatine entworfen und Firmware auf viele gängige Microcontroller hochgezogen. Detailorientierte und konsequente Arbeitsweise.

Auszug Referenzen (2)

"He worked for me almost 2 years as senior embedded developer on projects related to the development of platform for Android based payment terminals."
Freelance Embedded Software Engineer
Olivier Planckaert
Tätigkeitszeitraum

3/2021 – 12/2022

Tätigkeitsbeschreibung

Developed embedded software on Broadcom ARM microcontroller (Zephyr OS) and NXP i.MX8 (Android) application processor.

Wrote bootloader OTA updater for Android 9, using shell scripting to identify hardware terminal type and apply update only after checking presence of cryptographic signature headers. SELinux policy adjustments.

Checked for regressions using Android Compatibility Test Suite (CTS) during software release process.

Adapted and refactored Android build files to support hardware platform. Experimented with 64-bit only version, to slim down build times and system image size.

Cherry-picked and patched AOSP sources to close CVE vulnerabilities and update system to latest Security Patch Level for Linux kernel and userspace.

Migrated underlying system to Android 10 with full security patches, built using standardized Docker containers.

Bring up of sensor, WiFi / Bluetooth, and other HALs using manufacturer support packages. Adaptation of Device Tree, SELinux types, and init scripts for Android 10.

Eingesetzte Qualifikationen

Android Entwicklung, ARM-Architektur, Bash Shell, Embedded Entwicklung / hardwarenahe Entwicklung, Picmicro

"I worked together with M. at unu GmbH, where he was Embedded Software Lead"
Embedded Software Lead (Festanstellung)
Guilherme Müller
Tätigkeitszeitraum

11/2015 – 11/2018

Tätigkeitsbeschreibung

Entwicklung des next-generation Elektroroller Systems in C und C++, basiert auf NXP i.MX und Nordic Semiconductor Cortex-M Prozessoren.
Koordinierung mit und Dienstreise zur chinesischen Partners in Suzhou, Zhongshan, und Zhuhai um die Batterie- und Steuerungsplatine zu bauen.
Durchführung von Integrations-Tests vor Ort in China.
Hardware Debugging anhand von Schaltkreispläne auf den physikalischen Leiterplatinen, dazu Funktionalitätsprüfung der verschiedenen Komponenten.
Dashboard Prototyp Bau mit Raspberry Pi und maßgefertigte Dashboard Hauptplatine. Custom Embedded Linux mit buildroot und Yocto. Boot Time Optimierung, Basis Software Tests mit Mapping Service Provider, 3G Module Tests mit Telekommunikations-Partner.
Entwicklung von Anforderungen und Software für NFC-basiertes Protokoll zwischen Batterie, Elektroroller, und Ladestation, mit maßgeschneiderte Leiterplatinen.
Entwicklung von Anforderungen und Software für State of Charge Indikator auf der Batterie mit maßgeschneiderte Hauptplatine. Android Test-App-Entwicklung um die Information aus einem Batterie zu lesen über RS-485 serielle Schnittstelle.
Testen des Engine-Controllers per CAN Bus Schnittstelle.
Entwicklung und Prototyping eines Bluetooth-basiertes challenge-response System zur drahtlosen Riegelung / Entriegelung des Elektrorollers.

Eingesetzte Qualifikationen

C++, Embedded Entwicklung / hardwarenahe Entwicklung, Anforderungsspezifikationen, Picmicro, Projektleitung / Teamleitung (IT)

Qualifikationen

  • Android Entwicklung6 J.
  • Anforderungsspezifikationen6 J.
  • ARM-Architektur1 J.
  • ARM Cortex-M, AVR, PIC, S12, ESP32 Mikrocontroller
  • Bash Shell3 J.
  • C++13 J.
  • Continuous Integration1 J.
  • Debuggen mit Logic Analyzer und Oscilloskop
  • ECAD
  • Echtzeit-Betriebssysteme1 J.
  • Embedded Entwicklung / hardwarenahe Entwicklung11 J.
  • Embedded Linux3 J.
  • Hardware-Design2 J.
  • Picmicro5 J.
  • Python5 J.
  • Softwareentwicklung (allg.)1 J.

Projekt‐ & Berufserfahrung

Freelance Embedded Software Engineer
Kundenname anonymisiert, Titisee-Neustadt
6/2024 – offen (6 Monate)
Maschinen-, Geräte- und Komponentenbau
Tätigkeitszeitraum

6/2024 – offen

Tätigkeitsbeschreibung

Inbetriebnahme eines neuen i.MX8M Platine
Yocto und U-Boot Anpassung
C / C++ Programmierung

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Picmicro

Freelance Embedded Software Engineer
Kundenname anonymisiert, Düsseldorf
1/2023 – 12/2023 (1 Jahr)
Konsumgüterindustrie
Tätigkeitszeitraum

1/2023 – 12/2023

Tätigkeitsbeschreibung

- Entwicklung eines Elektrogerätes mit Yocto Linux und FreeRTOS auf i.MX8M nano
- Anpassung des bestehenden Source Codes
- Testing des Gerätes
- Bemessung und Beschleunigung des automatisierte Build-Systems um die Entwicklungszyklen zu verkürzen

Eingesetzte Qualifikationen

Bash Shell, Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Continuous Integration, Softwareentwicklung (allg.)

Freelance Embedded Software Engineer
Kundenname anonymisiert, 100% Remote Office
3/2021 – 12/2022 (1 Jahr, 10 Monate)
Banken
Tätigkeitszeitraum

3/2021 – 12/2022

Tätigkeitsbeschreibung

Developed embedded software on Broadcom ARM microcontroller (Zephyr OS) and NXP i.MX8 (Android) application processor.

Wrote bootloader OTA updater for Android 9, using shell scripting to identify hardware terminal type and apply update only after checking presence of cryptographic signature headers. SELinux policy adjustments.

Checked for regressions using Android Compatibility Test Suite (CTS) during software release process.

Adapted and refactored Android build files to support hardware platform. Experimented with 64-bit only version, to slim down build times and system image size.

Cherry-picked and patched AOSP sources to close CVE vulnerabilities and update system to latest Security Patch Level for Linux kernel and userspace.

Migrated underlying system to Android 10 with full security patches, built using standardized Docker containers.

Bring up of sensor, WiFi / Bluetooth, and other HALs using manufacturer support packages. Adaptation of Device Tree, SELinux types, and init scripts for Android 10.

Eingesetzte Qualifikationen

Android Entwicklung, ARM-Architektur, Bash Shell, Embedded Entwicklung / hardwarenahe Entwicklung, Picmicro

Forschungsjahre
From Plan To Prototype, Berlin
11/2018 – 12/2020 (2 Jahre, 2 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

11/2018 – 12/2020

Tätigkeitsbeschreibung

Eigene Projekte vorangetrieben im Bereich Embedded Hardware und Software.
Gestaltung, Entwicklung, und Bestückung mehreren Leiterplatinen, mit dem vollen Zyklus von Schematic Capture und Board Layout bis zu Bill of Materials, Beschaffung und Lagerung von Komponenten.
C / C++ Softwareentwicklung um die Platine hochzufahren, mit Fokus auf Effizienz in Speicher- und Stromverbrauch. Ressourceschönende und Latenzreduzierende Interrupt-Steuerung mit maximaler Nutzung von Hardware Features und Hardware Event Routing.
Debuggen und Fehlerbehebung von neuen Leiterplatinen mit Logik Analyzer, Multimeter, Oszilloskop, und Test Code.
Drahtlose Datenübertragung mit Enhanced Shockburst Protokoll und Bluetooth. Funkspektrumanalyse mittels eines eigenentwickeltes Scanner Programm auf zwei verschiedene Chip Architekturen (ARM Cortex-M und Tensilica ESP32)
Ein Buch entworfen über die Hardwareentwicklungszyklus, von Anforderungen, über Architektur, Design, und physische Prototype.

Eingesetzte Qualifikationen

C++, Schreiben von Dokumentation, Embedded Entwicklung / hardwarenahe Entwicklung, Hardware-Design, Anforderungsspezifikationen

Embedded Software Lead (Festanstellung)
unu GmbH, Berlin
11/2015 – 11/2018 (3 Jahre, 1 Monat)
Elektroroller Hersteller
Tätigkeitszeitraum

11/2015 – 11/2018

Tätigkeitsbeschreibung

Entwicklung des next-generation Elektroroller Systems in C und C++, basiert auf NXP i.MX und Nordic Semiconductor Cortex-M Prozessoren.
Koordinierung mit und Dienstreise zur chinesischen Partners in Suzhou, Zhongshan, und Zhuhai um die Batterie- und Steuerungsplatine zu bauen.
Durchführung von Integrations-Tests vor Ort in China.
Hardware Debugging anhand von Schaltkreispläne auf den physikalischen Leiterplatinen, dazu Funktionalitätsprüfung der verschiedenen Komponenten.
Dashboard Prototyp Bau mit Raspberry Pi und maßgefertigte Dashboard Hauptplatine. Custom Embedded Linux mit buildroot und Yocto. Boot Time Optimierung, Basis Software Tests mit Mapping Service Provider, 3G Module Tests mit Telekommunikations-Partner.
Entwicklung von Anforderungen und Software für NFC-basiertes Protokoll zwischen Batterie, Elektroroller, und Ladestation, mit maßgeschneiderte Leiterplatinen.
Entwicklung von Anforderungen und Software für State of Charge Indikator auf der Batterie mit maßgeschneiderte Hauptplatine. Android Test-App-Entwicklung um die Information aus einem Batterie zu lesen über RS-485 serielle Schnittstelle.
Testen des Engine-Controllers per CAN Bus Schnittstelle.
Entwicklung und Prototyping eines Bluetooth-basiertes challenge-response System zur drahtlosen Riegelung / Entriegelung des Elektrorollers.

Eingesetzte Qualifikationen

C++, Embedded Entwicklung / hardwarenahe Entwicklung, Anforderungsspezifikationen, Picmicro, Projektleitung / Teamleitung (IT)

Senior Software Engineer (Festanstellung)
OpenSynergy GmbH, Berlin
10/2014 – 10/2015 (1 Jahr, 1 Monat)
Automobilindustrie
Tätigkeitszeitraum

10/2014 – 10/2015

Tätigkeitsbeschreibung

Entwicklung auf dem Online Connectivity Unit 2 Projekt (Vehicle Telematics).
Build- und Test-Automatisierung mit Bamboo, Java ME, und Qualcomm Werkzeuge.
Anforderungsmanagement und Koordinierung mit der Kunde.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Java (allg.), Anforderungsspezifikationen, Telekommunikation / Netzwerke (allg.), Test Automation, Testdesign (IT)

Technical Cofounder (Festanstellung)
SquadMail UG, Berlin
12/2013 – 5/2014 (6 Monate)
IT & Entwicklung
Tätigkeitszeitraum

12/2013 – 5/2014

Tätigkeitsbeschreibung

Entwicklung eines Scalable Backend Systems um Email-Konten zuzugreifen und synchronisieren mit Google App Engine Webservices.
Entwicklung Multithreaded-Software nach der Test Driven Development Methodologie, mit JUnit und Mockito um das Java Code zu testen, und Selenium Webdriver um die Web-Funktionalitäten zu testen.

Eingesetzte Qualifikationen

Backend, Google Cloud, Java SE, Selenium, Testen

Cofounder
Tandem Exchange, Berlin
12/2012 – 12/2013 (1 Jahr, 1 Monat)
Medienbranche
Tätigkeitszeitraum

12/2012 – 12/2013

Tätigkeitsbeschreibung

Entwicklung einer Website (-Hyperlink entfernt-) mit Python, Django, PostgreSQL, und Google Geocoding zur ortlichen Tandempartner-/Sprachpartner-Vermittlung, mit vollig-internationalisiertem Web Frontend für Desktop und Mobile Browser.
Entwicklung von Unit- und Integrations-Tests zur Qualitätssicherung und Code Coverage mit Selenium Webdriver, Python, und Shell-Skripte.

Eingesetzte Qualifikationen

Bash Shell, Django, Google Cloud, Postgresql, Python, Selenium

Senior Software Engineer (Festanstellung)
PacketVideo GmbH, Berlin
5/2008 – 9/2012 (4 Jahre, 5 Monate)
IT & Entwicklung
Tätigkeitszeitraum

5/2008 – 9/2012

Tätigkeitsbeschreibung

Entwicklung auf einem C-basierte UPnP/DLNA Media Server auf Windows, Mac, embedded Linux und FreeBSD, Android, und iOS.
Android Software Entwicklung um die UPnP Client SDK Bibliothek zu testen und überprüfen auf gängigen Smartphones.
Entwicklung eines Media-Player Clients über JSON-Protokoll in Adobe ActionScript 3 zur Benutzung auf Nintendo Wii.
Erstellung des macOS Software Release Pakets über automatisiertes Build System.
Durchführung von DLNA Certification Test Programme auf neuster Software-Versionen um Einhaltung der Protocol-Standards zu gewähren.
Entwicklung von automatisierte Python Test-Skripte zur Feststellung ob Töne, Bilder, oder Videos auf einem Fernseher und Streaming-Radio richtig wiedergegeben waren.

Eingesetzte Qualifikationen

Android Entwicklung, C++, Code-Review, Java (allg.), Python, Telekommunikation / Netzwerke (allg.), Software Version Control

Senior Software Engineer (Festanstellung)
ASKON ConsultingGroup GmbH, Ulm
2/2006 – 2/2008 (2 Jahre, 1 Monat)
IT & Entwicklung
Tätigkeitszeitraum

2/2006 – 2/2008

Tätigkeitsbeschreibung

Entwicklung eines Hardware/Software Test und Certification Planes für eine sicherheitskritische, digital Signalprozessor-basierte Avionik-System.
Verifizierung und Validierung des Avionik-Systems, nach dem Test Plan und der DO-178B Safety Critical Lifecycle-Kritieren.
Physikalisches Testing der analogen Ein-/Ausgabe-Signale bei der Avionik-System unter verschiedene Bedingungen während des Betriebes.
Erschaffung eines Zertifizierungs-Testberichts von den Ergebnissen der physikalische und logische Testing der Avionik-System.
Linux Netzwerk- und Kernel-Softwareentwicklung in C und C++ unter Echtzeit-Bedingungen, nach IEC62279 sicherheitskritische Richtlinien in der Schienenfahrzeug-Funktechnik Branche.

Eingesetzte Qualifikationen

Requirements Management, C++, Embedded Linux, Embedded Systems, Fahrzeugsicherheit, Technisches Testing

Embedded Software Engineer (Festanstellung)
Technisource Engineering Solutions, Florida
9/2004 – 2/2006 (1 Jahr, 6 Monate)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

9/2004 – 2/2006

Tätigkeitsbeschreibung

Entwicklung embedded Systeme mit C und PowerPC Assembler auf VxWorks Echtzeitbetriebssystem, nach DO-178B sicherheitskritische Richtlinien.
Entwicklung Funktionsprüfung-Code um Modified Condition/Decision Coverage durchzuführen (alle Verzweigungsbedingunen prüfen) auf dem embedded Realtime Software Codebase, basiert auf DOORS-generierte Test Plan Dokumente.
Entwicklung einer Test-Application mit C++ um das Testen von hardware Prototype über JTAG-Schnittstellen in Temperatur- und Luftfeuchtigkeitskammern zu automatisieren und zu beschleunigen.
Verifizierung der analogen Ausgabe-Signale eines Leistungssteuerung FPGAs bei einem embedded Steuerungssystem zur Betankung in der Luft.
Entwicklung von Bootloader System-Integritäts-Tests mit PowerPC Assembler um die Prozessor- und Arbeitsspeicher-Komponente zu testen beim Systemstart.
Verbesserung der Leistung des serielle Kommunikations-Codes und des Flash-Speicher-Codes um 10-facher Geschwindigkeit und sichere Firmwareupdates zu ermöglichen.

Eingesetzte Qualifikationen

Assemblersprache, C++, Code-Review, Echtzeit-Betriebssysteme, Embedded Entwicklung / hardwarenahe Entwicklung, Firmware, Funktionale Sicherheit, Probabilistische Sicherheitsanalyse (PSA / PRA), Test Automation, Vxworks

Ausbildung

Electrical and Computer Engineering
Dipl. Ing. / Bachelor of Science
2003
The Ohio State University

Über mich

Ich bin immer neugierig auf harte Hardware / Software-Probleme und schaue sehr tief in den Problemen rein, um sie zu verstehen und lösen. Ich habe alle notwendigen Werkzeuge (Logic Analyzer, Oszilloskop, etc.) bei mir im Büro, um Embedded System Probleme zu debuggen.

Ich hoffe das ich Ihnen helfen kann, auch wenn Sie jemand suchen die die Anforderungen überprüfen kann und Vorschläge dazu geben kann. Meine Erfahrung ist vielseitig einsetzbar.

Weitere Kenntnisse

Programmiersprachen

- C, C++ (11/14/17/20), Rust, Java, JavaScript, Python, Bash Skripte

Linux

- Embedded Linux, mit Yocto und Buildroot; Board Support Package und Boot Speed Optimierung (unter 3 Sekunden)
- Appentwicklung mit Qt Quick, QML, C++, und Mapbox Mapping SDK.
- System Image Herstellung und Bereitstellung
- Over the Air Updates (OTA)

Software Entwicklungswerkzeuge

- Qt Creator, Android Studio, Visual Studio, Xcode
- make / Makefiles, qmake, SCons, Maven, Gradle
- Atmel Studio, MCUXpresso IDE, MPLAB X IDE, Segger Embedded Studio / SystemView, Silicon Labs - Simplicity Studio, STM32Cube IDE

Produktentwicklung

- Hardware / Software Anforderungen, Architektur, Design, Testpläne, Build Automatisierung
- Komponenten Auswählen / Qualifizieren, Prototyp Herstellung, Bill of Materials
- User Interface, Ergonomie, Gehäuseentwicklung
- Zusammenarbeit mit Zulieferern

Embedded Hardware

- Linux, VxWorks, Green Hills Integrity, FreeRTOS, mbed OS, Bare Metal Systeme
- ARM Cortex-A7/M0/0+/4, AVR, PIC, PowerPC, S12, ESP8266 / ESP32, NXP i.MX6, Raspberry Pi
- JTAG, SWD (Segger J-Link), und UPDI Debuggen
- CAN, I2C, SPI, RS232, RS485, Bluetooth (BLE), NFC, Shockburst, LoRA, M2M 4G LTE

Hardware Development

- Autodesk EAGLE, Altium Designer, LTspice
- DesignSpark Mechanical (SolidWorks-ähnlich)
- Schaltkreis und Leiterplatineentwicklung
- 3D Modelierung und Drück
- Debuggen mit Oszilloskope, Logikanalysator Multimeter, Protokollanalysator
- Prototypen mit Streifenrasterplatinen und maßgeschneiderten PCBs
- Montage und Hot-Air Rework von Surface-Mount Komponenten auf eigenentwickelten PCBs

Security + Cryptography

- Threat Modeling
- Secure Boot / Signed Image Verification
- OpenSSL, mbedTLS, Public und Preshared Key Crypto, AES, ECDSA, Ed25519

Sicherheitskritische Prozesse

- DO-178B Development Lifecycle
- Lastenhefte
- Failure Mode Analysis, Modified-Condition / Decision Coverage Testing, Verification / Validation
- Static und Dynamic Code Analyse, Code Review

Persönliche Daten

Sprache
  • Englisch (Muttersprache)
  • Deutsch (Fließend)
Reisebereitschaft
Europa
Arbeitserlaubnis
  • Europäische Union
  • Vereinigte Staaten von Amerika
Home-Office
bevorzugt
Profilaufrufe
3566
Alter
44
Berufserfahrung
21 Jahre und 6 Monate (seit 05/2003)
Projektleitung
3 Jahre

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden