Senior Embedded Hardware und Software Engineer
- Verfügbarkeit einsehen
- 2 Referenzen
- 75‐90€/Stunde
- 10435 Berlin
- Europa
- en | de
- 03.06.2024
Kurzvorstellung
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."
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.
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"
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.
C++, Embedded Entwicklung / hardwarenahe Entwicklung, Anforderungsspezifikationen, Picmicro, Projektleitung / Teamleitung (IT)
Qualifikationen
Projekt‐ & Berufserfahrung
6/2024 – offen
Tätigkeitsbeschreibung
Inbetriebnahme eines neuen i.MX8M Platine
Yocto und U-Boot Anpassung
C / C++ Programmierung
Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Picmicro
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
Bash Shell, Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Continuous Integration, Softwareentwicklung (allg.)
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.
Android Entwicklung, ARM-Architektur, Bash Shell, Embedded Entwicklung / hardwarenahe Entwicklung, Picmicro
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.
C++, Schreiben von Dokumentation, Embedded Entwicklung / hardwarenahe Entwicklung, Hardware-Design, Anforderungsspezifikationen
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.
C++, Embedded Entwicklung / hardwarenahe Entwicklung, Anforderungsspezifikationen, Picmicro, Projektleitung / Teamleitung (IT)
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.
Embedded Entwicklung / hardwarenahe Entwicklung, Java (allg.), Anforderungsspezifikationen, Telekommunikation / Netzwerke (allg.), Test Automation, Testdesign (IT)
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.
Backend, Google Cloud, Java SE, Selenium, Testen
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.
Bash Shell, Django, Google Cloud, Postgresql, Python, Selenium
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.
Android Entwicklung, C++, Code-Review, Java (allg.), Python, Telekommunikation / Netzwerke (allg.), Software Version Control
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.
Requirements Management, C++, Embedded Linux, Embedded Systems, Fahrzeugsicherheit, Technisches Testing
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.
Assemblersprache, C++, Code-Review, Echtzeit-Betriebssysteme, Embedded Entwicklung / hardwarenahe Entwicklung, Firmware, Funktionale Sicherheit, Probabilistische Sicherheitsanalyse (PSA / PRA), Test Automation, Vxworks
Ausbildung
The Ohio State University
Über mich
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
- 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
- Englisch (Muttersprache)
- Deutsch (Fließend)
- Europäische Union
- Vereinigte Staaten von Amerika
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden