We are at the precipice of a global energy transition.
Key Responsibilities
Real-Time Control Firmware: Design and implement bare-metal software applications for power electronics, focusing on high-resolution PWM generation, ADC synchronization, and complex timing logic.
Low-Level Architecture: Develop and optimize drivers for microcontroller peripherals (SPI, CAN, Ethernet) and architect memory-efficient, multi-core processing strategies for real-time targets.
Hardware-Software Synergy: Collaborate with power electronics controls engineers to translate controls theory into deterministic, high-performance code running on Cortex-R and Cortex-M architectures.
Modern Build & Test: Maintain robust software build procedures and scripts. You will write highly testable code and integrate it into a modern CI/CD pipeline to ensure every line of code is validated before it hits the lab.
System Optimization: Profile and optimize code across multi-core environments, ensuring maximum task efficiency and minimal latency in time-critical control loops.
Product Scaling: Leverage a proven track record to take embedded systems from initial prototype to mass-market production, maintaining high standards for code quality and reliability.
Requirements
Background: A BS or MS in Electrical Engineering, Computer Engineering, or Computer Science, combined with 2+ years of experience in firmware engineering and a proven track record of shipping new products at scale.
Embedded Mastery: Expert proficiency in Rust or C with deep experience debugging complex embedded systems using oscilloscopes, logic analyzers, and JTAG/SWD debuggers.
Silicon Expertise: Extensive experience with ARM Cortex-M and Cortex-R architectures, including low-level system architecture, multi-core memory optimization, and bare-metal task management.
Power Electronics Literacy: A deep understanding of power-specific software requirements, specifically high-speed ADC sampling, high-resolution PWMs, and hardware timers.
Safety-Critical Development: A safety-centered mindset with experience implementing functional isolation and ensuring freedom from interference (FFI) in complex, multi-core software environments. Familiarity with UL certification standards for energy storage systems is a significant plus.
Communication Protocols: Practical experience with digital protocols such as I2C, UART, SPI, CAN/CAN-FD, and Ethernet. Familiarity with reverse-engineering CAN protocols or developing custom evaluation tools is a significant plus.
Infrastructure & Automation: Knowledge of software build systems and the ability to maintain build scripts (e.g., Make, CMake). Experience with test automation and CI/CD is essential.
Bonus Qualifications: Experience developing bootloaders, implementing secure boot, or profiling code on real-time, multi-core targets.
In accordance with California pay transparency laws, the salary range for this position is listed below. Actual compensation may vary based on a variety of factors, including experience, education, and skills.
Ready to Apply?
Join Redwood Materials and make an impact in renewable energy