Post Job Free
Sign in

Principal Firmware Engineer

Company:
Survival Systems Staffing
Location:
San Jose, CA
Posted:
May 09, 2026
Apply

Description:

Embedded Firmware Engineer - C2000 DSP

Low-Level Device Drivers and Real-Time DSP Development

Position Overview

We are seeking an experienced Embedded Firmware Engineer to develop and maintain low-level firmware for TI C2000 Digital Signal Processors (DSP). This role involves designing real-time control algorithms, developing device drivers, and optimizing firmware performance for power electronics applications. The ideal candidate will have deep expertise in embedded C development, DSP architecture, and low-level hardware abstraction.

Primary Responsibilities

• Develop and maintain firmware for TI C2000 DSP family (F28xxx series) using C and assembly language

• Design and implement low-level device drivers for peripherals including PWM, ADC, SPI, I2C, CAN, and UART interfaces

• Develop hardware abstraction layers (HAL) to simplify application-level software development

• Implement and optimize real-time control algorithms for digital power conversion and motor control applications

• Write efficient DSP math library functions leveraging C2000 CPU and floating-point capabilities

• Optimize firmware for performance, memory footprint, and power consumption

• Debug firmware using CCS (Code Composer Studio) and in-circuit debugging tools

• Conduct unit testing, integration testing, and field validation of firmware implementations

• Maintain comprehensive firmware documentation, including design specifications and API documentation

• Collaborate with hardware engineers and systems architects on embedded system design

Required Qualifications

• Bachelor’s degree in Electrical Engineering, Computer Science, Computer Engineering, or related field

• 5+ years of professional experience developing embedded firmware in C

• Hands-on experience with Texas Instruments C2000 DSP processors (F28xxx family)

• Strong proficiency with embedded development tools including Code Composer Studio (CCS)

• Experience developing device drivers for peripherals (ADC, PWM, SPI, I2C, CAN, UART)

• Knowledge of DSP architecture, real-time processing concepts, and interrupt handling

• Proficiency with version control systems (Git, SVN, or equivalent)

• Experience with debugging techniques and in-circuit emulation/JTAG debugging

• Ability to write clean, maintainable code with strong software engineering practices

• Strong problem-solving skills and ability to work both independently and collaboratively

Preferred Qualifications

• Experience with grid-connected power electronics and utility-scale inverter systems

• Knowledge of renewable energy systems (solar, wind) or energy storage applications

• Experience with real-time control systems and control theory implementation

• Familiarity with analog-to-digital conversion, signal conditioning, and measurement techniques

• Experience with RTOS (Real-Time Operating Systems) or baremetal firmware development

• Knowledge of C++ or other systems programming languages

• Familiarity with hardware design and ability to read schematics

• Background in power electronics, motor control, or power conversion systems

Technical Skills

• Languages: C, assembly language, basic Python scripting

• Microcontrollers/DSPs: TI C2000 series, microcontroller fundamentals

• Development Tools: Code Composer Studio, JTAG debuggers, oscilloscopes, logic analyzers

• Peripheral Interfaces: ADC, PWM, SPI, I2C, CAN, UART, GPIO

• Development Methodology: Version control, code documentation, unit testing, debugging practices

Key Competencies

• Technical Expertise: Deep knowledge of embedded systems, DSP architecture, and firmware development

• Problem-Solving: Systematic debugging approach and ability to solve complex firmware issues

• Code Quality: Commitment to writing clean, efficient, and maintainable firmware code

• Performance Optimization: Experience optimizing code for speed and memory efficiency

• Communication: Ability to document code, design, and share knowledge with team members

• Adaptability: Quick learner who can master new tools, platforms, and application domains

Apply