San Diego, CA, USA
5 days ago
Firmware Engineer - Embedded Linux
Job Description

General Purpose

Integrate embedded Linux with various hardware components, developing drivers, and ensuring smooth communication between the operating system and hardware subsystems. Implements firmware capabilities for our embedded products, contributing to the development of cutting-edge precision sports equipment with a focus on stability, functionality, and performance. Works closely with hardware engineers, systems engineers, and QA teams to bring innovative solutions to life.

Principal Duties and Responsibilities

Develop and maintain firmware and device drivers for embedded Linux-based systems, ensuring reliable communication with hardware components and peripherals.Integrate embedded Linux with various hardware components, including sensors, I/O devices, and communication interfaces.Collaborate with the hardware team to bring up boards and ensure smooth functionality of hardware components in the embedded system.Design and implement automated test fixtures for hardware and firmware, ensuring stability and robustness of the embedded system.Work with the QA team to create test plans and scripts, ensuring software reliability and system performance across different configurations.Participate in architectural and design discussions, offering input on system integration and component interactions.

Requirements/Qualifications

Must have:

2+ years of experience with embedded Linux development using C and C++.Strong proficiency in Linux Operating Systems, including experience with kernel-based Linux distributions (e.g., Ubuntu, Raspbian, Yocto).Experience using standard development tools such as debuggers, version control systems (e.g., Git), compilers, and linkers.Familiarity with common communication protocols like I2C, USB, and SPI, and how to interface with peripherals and hardware components.Comfortable with reading and interpreting schematic diagrams to understand hardware design and requirements.Experience with ARM-based processors and a solid understanding of embedded system fundamentals.Bachelor’s Degree in Computer Science, Computer Engineering, or related field.

Strongly Desired:

Experience working with Raspberry Pi, Raspbian, or similar embedded Linux distributions.Familiarity with graphical user interface frameworks, such as Qt, Qt Quick, or QML, for embedded applications.Experience with threading and multi-threaded programming in Linux.Knowledge of AMD/Xilinx processors (e.g., Zynq or Versal) and familiarity with Xilinx development tools like Vivado, Vitis, and PetaLinux.Practical experience with writing and debugging Linux device drivers, particularly for peripheral components.Strong background in optimizing software performance for embedded Linux systems, including memory management and I/O handling.Experience with the Yocto build system and Linux kernel compilation.

Minimum Education Required

Bachelors

Years of Experience

2-6

Pay Range:

Annual Salary: $97,700.00 - $152,900.00

The actual annual salary offered to a candidate will be based on variables including experience, geographic location, education, and skills/achievements, and will be mutually agreed upon at the time of offer.

We offer a highly competitive salary, comprehensive benefits including: medical and dental, vision, disability and life insurance, 401K, PTO, tuition reimbursement, gear discounts and the ability to add value to an exciting mission!

Our Postings are not intended for distribution to or use in any jurisdiction, country or territory where such distribution or use would violate local law or would subject us to any regulations in another jurisdiction, country or territory. We reserve the right to limit our Postings in any jurisdiction, country or territory.

Equal Opportunity Employer Minorities/Females/Protected Veteran/Disabled

Confirm your E-mail: Send Email