Embedded Software Engineer Intern - Fall 2026
Redwood Materials · San Francisco, CA · 4 wk ago
On-siteEngineering$41–$47.5/hrInternship
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.
- Get exposure to how our power conversion firmware interfaces with real battery packs — including cell voltage/temperature monitoring, state-of-charge and state-of-health estimation, and the communication protocols BMS units use to report status and safety limits.
- Help maintain software build scripts and write testable code, gaining experience with CI/CD pipelines used to validate firmware before it reaches the lab.
- 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.
Qualifications
- 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 (from classwork or personal projects).
- Exposure to battery management systems (BMS) and energy storage fundamentals through coursework or projects (though not required).
- A safety-conscious mindset, strong attention to detail, and eagerness to learn how real-time, safety-critical software is built.
- Experience with build tools (Make, CMake), version control (git), or hands-on lab work with debugging hardware (bonus).