About the Role
As an Embedded Software Engineering Intern, you'll work alongside engineers on real-time firmware for power conversion units. You'll gain hands-on exposure to the intersection of silicon and power, writing and testing low-level code that controls high-speed switching, manages thermal safety, interfaces with battery packs, and communicates with broader site infrastructure. This role offers an opportunity to apply coursework to real embedded systems with mentorship.
Responsibilities
- Support the design and implementation of bare-metal software for power electronics, gaining exposure to PWM generation, ADC synchronization, and timing logic.
- Assist in developing and testing drivers for microcontroller peripherals (SPI, CAN, Ethernet) under the guidance of senior engineers.
- Work with power electronics controls engineers to understand how controls theory translates into embedded code running on Cortex-R and Cortex-M architectures.
- Gain exposure to how power conversion firmware interfaces with real battery packs, including cell voltage/temperature monitoring, state-of-charge and state-of-health estimation, and communication protocols.
- Help maintain software build scripts and write testable code, gaining experience with CI/CD pipelines.
- Learn to profile and debug embedded code, developing familiarity with tools like oscilloscopes, logic analyzers, and JTAG/SWD debuggers.
- Contribute to documentation and testing processes that support taking embedded systems from prototype toward production.
Requirements
- Currently pursuing a BS or MS in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- Coursework or project experience in C, C++, or Rust; comfort reading and writing low-level code.
- Some exposure to embedded systems, microcontrollers, or digital logic through coursework, personal projects, or prior internships.
- Familiarity with concepts like SPI, I2C, UART, or CAN is a plus.
- Exposure to battery management systems (BMS) and energy storage fundamentals through coursework or projects is a plus.
- A safety-conscious mindset, strong attention to detail, and eagerness to learn how real-time, safety-critical software is built.
- Any experience with build tools (Make, CMake), version control (git), or hands-on lab work with debugging hardware is a bonus.
Skills
- C
- C++
- Rust
- Low-level code
- Embedded systems
- Microcontrollers
- Digital logic
- SPI
- I2C
- UART
- CAN
- Battery management systems (BMS)
- Energy storage
- Build tools (Make, CMake)
- Version control (git)
- Debugging hardware
Work Type
- Full-time
Experience Level
- Intern
Education Level
- BS or MS in Electrical Engineering, Computer Engineering, Computer Science, or a related field
Salary/Compensations
- $41—$47.50 USD
About the Company
- Redwood is localizing a global battery supply chain that seamlessly integrates recovery, reuse, and recycling — keeping critical minerals in circulation and driving the energy transition.
- Founded in 2017, we’re delivering low-cost and large-scale energy storage and producing battery materials in the U.S. for the first time, all from batteries we already have.
- We are moving beyond battery recycling to build the most advanced, circular energy ecosystem on the planet.
- Our goal is to move the industry away from static, hardware-heavy infrastructure toward agile, software-controlled energy assets.
- While others build “black box” hardware, we are building software-defined power systems.
Equal Opportunity
- We collect personal information (PI) from you in connection with your application for employment with Redwood Materials, including the following categories of PI: identifiers, personal records, professional or employment information, and inferences drawn from your PI. We collect your PI for our purposes, including performing services and operations related to your potential employment. If you have additional privacy-related questions, please contact us at privacy@redwoodmaterials.com.
