freiberufler Senior Embedded Hardware und Software Engineer auf freelance.de

Senior Embedded Hardware und Software Engineer

zuletzt online vor wenigen Tagen
  • 80‐100€/Stunde
  • 10435 Berlin
  • DACH-Region
  • en  |  de
  • 08.01.2022

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 (1)

"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, Lastenheft / Pflichtenheft / Anforderungsspezifikation, Mikrocontroller, Projektleitung / Teamleitung (IT)

Ich biete

  • ARM Cortex-M, AVR, PIC, S12, ESP32 Mikrocontroller
  • C++
  • Debuggen mit Logic Analyzer und Oscilloskop
  • ECAD
  • Echtzeitbetriebssystem (RTOS)
  • Embedded Entwicklung / hardwarenahe Entwicklung
  • Embedded Linux
  • Hardware Entwicklung
  • Lastenheft / Pflichtenheft / Anforderungsspezifikation
  • Python

Projekt‐ & Berufserfahrung

Freelance Embedded Software Engineer
Kundenname anonymisiert, 100% Remote Office
3/2021 – offen (11 Monate)
Banken
Tätigkeitszeitraum

3/2021 – offen

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, Mikrocontroller

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++, Dokumentation (IT), Embedded Entwicklung / hardwarenahe Entwicklung, Hardware Entwicklung, Lastenheft / Pflichtenheft / Anforderungsspezifikation

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, Lastenheft / Pflichtenheft / Anforderungsspezifikation, Mikrocontroller, 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.), Lastenheft / Pflichtenheft / Anforderungsspezifikation, Telekommunikation / Netzwerke (allg.), Testautomatisierung, 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

Back-End Entwicklung, Google Cloud, J2SE (Java SE), Selenium, Testing (IT)

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 (Framework), 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.), Versionierung / Versionsverwaltung

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

Anforderungsmanagement, 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

Assembler, C++, Code Review, Echtzeitbetriebssystem (RTOS), Embedded Entwicklung / hardwarenahe Entwicklung, Firmware, Funktionale Sicherheit (FuSi), Probabilistische Sicherheitsanalyse (PSA / PRA), Testautomatisierung, VxWorks

Ausbildung

Electrical and Computer Engineering
(Dipl. Ing. / Bachelor of Science)
Jahr: 2003
Ort: The Ohio State University

Qualifikationen

Programmiersprachen

- C, Modern C++ (11/14/17), Java, JavaScript, Python, Shell

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

Über mich

Ich bin immer neugierig auf harte Hardware/Software Probleme und gehe sehr tief in den Problemen rein um sie zu verstehen und lösen. Ich habe alle notwendige Werkzeuge (Logic Analyzer, Oszilloskop, etc.) bei mir im Büro um die gängigste Embedded System Probleme durchzusehen.

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.

Persönliche Daten

Sprache
  • Englisch (Muttersprache)
  • Deutsch (Fließend)
Reisebereitschaft
DACH-Region
Arbeitserlaubnis
  • Europäische Union
  • Vereinigte Staaten von Amerika
Home-Office
bevorzugt
Profilaufrufe
1539
Alter
41
Berufserfahrung
18 Jahre und 8 Monate (seit 05/2003)
Projektleitung
3 Jahre

Kontaktdaten

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

Jetzt Mitglied werden