freiberufler Embedded engineer auf freelance.de

Embedded engineer

offline
  • auf Anfrage
  • 94315 Straubing
  • Weltweit
  • en  |  es
  • 15.09.2023

Kurzvorstellung

Embedded sotfware engineer interested in projects using C, assembly language, C++, Rust, Yocto, embedded Linux, close to the metal, RTOS, JTAG. Would love to do a project using Rust. Already registered as freelance independent contractor in Germany

Qualifikationen

  • C
  • C++
  • Docker
  • Embedded Entwicklung / hardwarenahe Entwicklung
  • Embedded Linux
  • LabView
  • Python
  • Rust
  • Yocto

Projekt‐ & Berufserfahrung

Contract embedded software engineer
BD Biosciences, San Jose, California
3/2021 – 1/2022 (11 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

3/2021 – 1/2022

Tätigkeitsbeschreibung

• Working on BD’s next generation of flow cytometers.
• Developed bare-metal firmware in C and assembly language to boot up and control a board with an STM32F334 SoC and Peltier thermoelectric cooling modules. Also developed the slave side I2C state machine and protocol to control and monitor the board. Wrote Python and BASH scripts to massage ELF files and to talk to the board.
• Developing C++ Linux user space i2c-dev drivers running on a Xilinx Zynq Ultrascale+ to control the aforementioned board, various temperature sensor devices and Texas Instrument UCD90120A power supply sequencer and monitor chips. Also developed drivers and implemented the Standard Commands for Programmable Instruments (SCPI) protocol to talk to various lasers from Coherent, Inc. on the RS232 and RS485 buses.
• Using PetaLinux, Yocto, Eclipse/STM32CubeIDE, Segger J-Link JTAG debuggers, TI Fusion Digital Power Designer, makefiles, linker command files, the ADC, DAC, DMA, Flash, CRC, I2C, Bootloader and GPIO modules on the SoC, PMBus, ST Micro's HAL library, oscilloscopes, schematics, datasheets, Git, agile.

Eingesetzte Qualifikationen

C++, Embedded Linux, STM32

Embedded software engineer
Analog Devices, Santa Clara
10/2020 – 2/2021 (5 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

10/2020 – 2/2021

Tätigkeitsbeschreibung

• Worked on the BSP of a battery powered medical device based on the NXP i.MX6 SoC with an ARM v7 core. Developed Linux device driver code in C. Modified existing GPIO and USB PHY layer device drivers, created drivers for the LTC4155 battery charger chip and the LTC2942 fuel gauge device. Initial work done using an NXP i.MX6ULL EVK board before porting to a custom device.
• Created Yocto recipes and layers for Linux builds. Created Python and Bash scripts to ease work flow. Added files to device tree hierarchy to configure/describe GPIOs, pinmux configurations, WIFI/Bluetooth on SDIO/UART buses, power supplies, and other modules on custom board.
• Used Wifi, Bluetooth, schematics, oscilloscopes, Github, Gentoo Linux for build system, Eclipse, Yocto cross development toolchain, Visual Studio Code, GPIO, I2C, SPI.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, Linux (Kernel), Python

Embedded software engineer
NFCS, Rialto, USA
8/2020 – 10/2020 (3 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

8/2020 – 10/2020

Tätigkeitsbeschreibung

• Creating a device for detecting failures in a radar altimeter based on a Raspberry Pi 4 with a Broadcom BCM2711 SoC. Using Gentoo Crossdev to create the embedded Linux root file system build, sysroot, etc.
• Developing the main multithreaded application with touchscreen interface using C++ and Qt on top of linuxfb. Using schematics, CSS, TOML, oscilloscopes, A/D converters, pressure sensors, SPI and GPIO.

Eingesetzte Qualifikationen

C++, Embedded Linux, Qt

Contract embedded software engineer
Teledyne Controls, California
1/2020 – 6/2020 (6 Monate)
Telekommunikation
Tätigkeitszeitraum

1/2020 – 6/2020

Tätigkeitsbeschreibung

• Worked on Teledyne’s “GroundLink Evolution” aircraft to ground data link. Developing Linux user-space C++ code running on an NXP LS1046A SoC (quad ARM Cortex-A72).
• Used Yocto, embedded Linux, gcc, Eclipse, VirtualBox, Kafka, ZeroMQ, REST API, GPIO, I2C, PMBus, JSON, XML, Python, udev, multiprocessing, multithreading, Git, schematics.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung, Embedded Linux, C++

Contract embedded software engineer
CUONICS GmbH, Straubing
2/2019 – 12/2019 (11 Monate)
IT & Entwicklung
Tätigkeitszeitraum

2/2019 – 12/2019

Tätigkeitsbeschreibung

• Developed bare-metal embedded C and assembly language for a prototype drone geo-fencing/caging system based on the NXP MPC5604E SoC. Converted the prototype into a DO-178B DAL-B product based on the NXP MPC5674F SoC.
• Wrote board bring up code and drivers for UART, SPI, SoC flash, Cypress FL-L NOR flash, CRC engine, DMA, MMU, interrupt controller, GPIO, Holt HI-3593 ARINC 429 interface, Broadcom HCMS-2903 dot matrix LED display, and TI TLV2553 ADC, GPS receivers. Also developed code for an NMEA-183 message parser, various state machines, scheduler, serial communications protocol, memory scrub, memory test, BIT, and a basic flash translation layer.
• Created the navigation algorithms, wrote Python code to simulate them and then implemented them on target using fixed point arithmetic. Also wrote Python code to parse Openair formatted data files to create binary blobs that could be loaded onto the target, as well for post processing of ELF files to add meta-data such as a CRC.
• Worked on a DDR2 memory controller configuration for an NXP MPC8569E SoC.
• Used NXP Design Studio (Eclipse), P&E Micro and Lauterbach JTAG debuggers, TRACE32, AIM USB-to-ARINC429 modules, gcc extended-asm, Wind River Diab compiler, PyCharm, Qt, ctypes, JSON, makefiles, bash, linker command files, Subversion, WGS84, schematics, oscilloscopes.

Eingesetzte Qualifikationen

Embedded Software Engineering

Contract sw engineer
iLuminate LLC, Miami, Florida, USA, Miami
4/2018 – 10/2018 (7 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

4/2018 – 10/2018

Tätigkeitsbeschreibung

• Developing C for an IoT device based on an NXP i.MX6ULL SoC with ARM Cortex-A7 core. Software is used to control electroluminescent wire lighting and strings of LEDs controlled by the WS2801 SPI LED controller. Lights are attached to dancer uniforms and controlled via WIFI.
• Ported pre-existing bare-metal C and assembly code from an 8-bit architecture to a ARM based platform.
• Using Gentoo crossdev and Portage to create embedded Linux root file system. Initial development done on Beaglebone Black Wireless boards and later on the Toradex Colibri Evalboard with i.MX6ULL compute module before porting to custom board.
• Using Github, Eclipse, U-Boot, GPIO, I2C, SPI, PWM, gcc, makefiles, Python, libev for event handling, multi-processing and multi-threading, sockets, Linux device trees, Gentoo Linux, runit init system, oscilloscopes, schematics.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung

embedded software engineer
Telair International GmbH, Miesbach
2/2017 – 4/2018 (1 Jahr, 3 Monate)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

2/2017 – 4/2018

Tätigkeitsbeschreibung

• Developed software for the Airbus A330-700L Beluga XL main deck cargo loading system. Wrote low level device driver and control C code. Code runs on an NXP MPC5606B automotive SoC (e200z0h core).
• Wrote device driver code to control HI-3585 ARINC 429 serial devices via the SPI. Implemented the ARINC 429 serial bit oriented (Williamsburg) layer-2 protocol version 1 used to transmit BITE data via an Air Traffic Services Unit (ATSU) to the Aircraft Maintenance Analysis (AIRMAN) ground based server. Wrote LabVIEW “code” to exercise the ARINC 429 drivers and state machines. Developed device driver code to create and parse CAN bus messages. Invented an algorithm to sequence cargo motors. Provided requirements feedback to systems engineers while developing code.
• Worked with the hardware engineers to help bring up and debug new PCB’s.
• Created a Windows 10 based application using Python, PyQt5, ctypes, and pyinstaller to simulate the aircraft side of the ARINC 429 serial communications via AIM ASC429 USB-to-ARINC429 devices.
• Developed driver code to communicate with a vacuum flourescent display via a UART, LED controllers and temperature sensors via I2C connections, FRAM NVM via an SPI connection.
• Used CAN Bus, I2C, SPI, UART, PWM motor control, NXP CodeWarrior (Eclipse), MS Visual Studio, LabVIEW, CVS, PEmicro JTAG debuggers, oscilloscopes, schematics, lab environment, DOORS, DO-178C.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung

Embedded sw engineer
Rockwell Collins, Cedar Rapids
2/2015 – 10/2016 (1 Jahr, 9 Monate)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

2/2015 – 10/2016

Tätigkeitsbeschreibung

Worked on the flight deck display system of the Boeing 737MAX airplane. Wrote C and assembly for the VxWorks 653 board support package running on a quad core (e500mc) Freescale P3041 PowerPC.
Implemented the driver code for the I/O-MMU (the PAMU) to control access to system memory via the PCIe, DMA, and network interfaces.
Wrote low level code for the MPIC interrupt controller, the DMA device driver and various other IOCTL's. Wrote interrupt service routines. Wrote hardware health monitoring code for the startup and continuous BITE. Wrote code to configure core MMU TLB's, the DDR memory controller and perform memory scrub. Cleaned up low level network driver code. Cleaned up flash file system code (YAFFS).
Performed code and requirements reviews. Assisted V&V team.
Ported Verocel ARINC-653 certification package to target.
Performed timing analysis of VxWorks kernel scheduler.
Used DOORS, Wind River Workbench/Eclipse, JTAG debuggers, WireShark, Polyspace, PREP, Subversion, lab environment, JIRA, Agile/scrum.

Eingesetzte Qualifikationen

VxWorks, SCRUM, Software engineering / -technik, Apache Subversion (SVN), Assembler, C, Eclipse, Telekommunikation / Netzwerke (allg.)

Embedded sw engineer
Honeywell Aerospace, Urbana, Ohio
7/2014 – 10/2014 (4 Monate)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

7/2014 – 10/2014

Tätigkeitsbeschreibung

Wrote C code to DO-178B level-B for a Kinetis K10 microcontroller with an ARM7 core that is part of the refueling control system on the Boeing KC-46 air tanker. Implemented the BITE code. In particular worked on the interactive and background BITE state machines, wrote functions to collect voltage and current samples from various on-chip and external A/D converters via DMA and I2C, range check the values and send result messages via the CAN bus. Used Freescale CodeWarrior/Eclipse, ARINC 825 (CAN bus with extended addressing), JTAG debuggers, I2C bus, Rational Rhapsody, lab environment. Performed code reviews.

Eingesetzte Qualifikationen

Software engineering / -technik, C, Eclipse, Mikrocontroller, ARINC 825, CAN-Bus (controller area network), Embedded Software Engineering

Embedded sw engineer
Diehl Aerospace GmbH, Überlingen
9/2012 – 4/2014 (1 Jahr, 8 Monate)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

9/2012 – 4/2014

Tätigkeitsbeschreibung

Wrote DAL-A C code running on a PowerPC (MPC8349) for the Remote Data Concentrator project for the Airbus A350XWB. In particular, worked on the built in testing and fault handling code (BITE), storage of fault data in non volatile memory and transmission of data on the AFDX/ARINC-664 network. Bare metal scheduler. Used DOORS, ClearCase, ClearQuest, Rational Rhapsody, Wind River Workbench, Lauterbach JTAG debuggers, Wireshark, DO-178B.
Worked on the Slat and Flap Control Computer (SFCC) for the Airbus A350XWB project. Performed validation and verification of requirements. Wrote C and Python code. Used DOORS, ClearCase, Eclipse, Green Hills Multi, DO-178B, C and Python.

Eingesetzte Qualifikationen

C, Eclipse, Embedded Software Engineering, Python, Software engineering / -technik, Technisches Testing, Testing (IT)

Embedded sw engineer
General Electric Transportation, Melbourne
2/2012 – 9/2012 (8 Monate)
Automobilindustrie
Tätigkeitszeitraum

2/2012 – 9/2012

Tätigkeitsbeschreibung

Worked on GE's Incremental Train Control System (ITCS). Wrote safety critical embedded C running on Motorola ColdFire MCF5235 processors. Created change requests, implemented them and participated in code reviews. Used Green Hills Multi Integrated Development Environment, PC-Lint and Understand For C source code analyzers, MISRA C/C++ coding standards, and StarTeam version control/change tracking tool.

Eingesetzte Qualifikationen

Software engineering / -technik, C, Schulung / Training (IT), Embedded Software Engineering

SW engineer
Uniblue systems Ltd, Birkikara
5/2011 – 1/2012 (9 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

5/2011 – 1/2012

Tätigkeitsbeschreibung

Wrote object oriented Python code and some Cython and C to implement MS Windows based applications. Used unittest, virtualenv, nose, simplejson, Django and ctypes extensions. Development work done on Ubuntu Linux machines. Used Mercurial, PyCharm, Subversion, Hudson/Jenkins, Agile/Scrum.

Eingesetzte Qualifikationen

Ubuntu, Microsoft Windows (allg.), SCRUM, Agile Entwicklung, Python, Software engineering / -technik, C, Apache Subversion (SVN), Django (Framework)

embedded sw engineer
Rockwell Collins, Cedar Rapids
4/2010 – 4/2011 (1 Jahr, 1 Monat)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

4/2010 – 4/2011

Tätigkeitsbeschreibung

Wrote embedded C code for the Rockwell Engine Instrumentation and Crew Alert System (EICAS) for the Gulfstream G250 and Bombardier aircraft. Wrote Python test scripts and implemented top level test environment. Performed C and Python code reviews using Rockwell's peer review Eclipse plugin. Wrote and reviewed requirement documents and determined if C/Python code met requirements. Worked on DO-178B level A and B software.
Used gdb, Visual Studio, DOORS, UltraEdit, Clearcase, Subversion, DO-178B, ARINC 429.

Eingesetzte Qualifikationen

Python, Visual Studio, Software engineering / -technik, C, Apache Subversion (SVN), Eclipse, Embedded Software Engineering

Embedded sw engineer
Tantivy telecommunications, Melbourne
10/2000 – 2/2002 (1 Jahr, 5 Monate)
Telekommunikation
Tätigkeitszeitraum

10/2000 – 2/2002

Tätigkeitsbeschreibung

Responsible for developing C-code for a high speed CDMA modem based on the C5410 and C5416 DSP's.
Worked on implementing in the C language the searcher, rake finger assignment, pilot tracking loop and antenna steering routines as well as general code clean up.
Also responsible for implementing the antenna diversity feature on the base station.
Used Texas Instruments Code Composer, ClearCase and LabVIEW.
Worked in a lab environment, using logic analyzers and scopes for debugging.
Wrote test code to help the hardware engineers debug their VHDL software.

Eingesetzte Qualifikationen

Software engineering / -technik, C, LabView, Embedded Software Engineering

software engineer
national computer board, science park
10/1990 – 11/1992 (2 Jahre, 2 Monate)
Telekommunikation
Tätigkeitszeitraum

10/1990 – 11/1992

Tätigkeitsbeschreibung

Simulated in C and then developed, in assembly language, code to implement a 16 KBPS LD-CELP (G.728) real time speech compression algorithm using a TMS320C30 signal processor. Also implemented in assembly language a wide-band ADPCM speech coder based on the G.722 algorithm.
Involved in the development of a multi-media document information system using Sun-SPARC stations as platforms. Developed codes for various GUI's for the package and gained experience in programming with X-windows.

Eingesetzte Qualifikationen

Embedded Entwicklung / hardwarenahe Entwicklung

Zertifikate

PhD
1990

Ausbildung

Loughborough University of Technology
Ausbildung
1990
England

Über mich

Looking for low level, close to the metal, embedded projects. Available September 2021.

Weitere Kenntnisse

Assembly language, C, C++, Python, Eclipse, DOORS, DO-178B, VxWork 653, Board support package

Persönliche Daten

Sprache
  • Englisch (Muttersprache)
  • Spanisch (Gut)
Reisebereitschaft
Weltweit
Arbeitserlaubnis
  • Vereinigte Staaten von Amerika
Profilaufrufe
4212
Alter
58
Berufserfahrung
33 Jahre und 7 Monate (seit 09/1990)

Kontaktdaten

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

Jetzt Mitglied werden