Bachelor's degree in electrical engineering, computer engineering, embedded systems, or related STEM discipline.
3+ years of experience in embedded software or firmware development for power electronics or similar systems.
Strong programming skills in C/C++.
Experience with DSPs, microcontrollers, or FPGAs for real-time digital control.
Knowledge of control algorithms for AC-DC and DC-DC power conversion.
Experience with real-time control systems involving PWM, ADC sampling, and interrupts.
Hands-on debugging experience with oscilloscopes and logic analyzers.
Responsibilities
Develop embedded firmware in C for various power converters.
Implement and tune real-time digital control loops for power conversion.
Establish communication protocols between processors and system devices.
Create algorithms for power point tracking and battery charging.
Adhere to coding standards and maintain code in revision control systems.
Analyze test results and present findings to improve system performance.
Collaborate with the power electronics team to debug and validate hardware and controls.
Document firmware architecture and testing methods clearly.
Benefits
Flexible work hours to promote work-life balance.
Opportunities for professional development and training.
Collaborative and innovative work environment.
Access to cutting-edge technology and tools.
Health and wellness programs to support employee well-being.
Full Job Description
We are designing and developing a distributed battery storage system to pair with solar panels that are quick and easy to install. The system is simple, robust, reliable, and easy to manufacture at scale. The system will include highly efficient DC-DC conversion, solar MPPT, power distribution, no moving parts, and efficient cable management to make everything plug and play in the field.
We are seeking a skilled Firmware Engineer to develop embedded software for digitally controlled DC-DC, AC-DC, and bidirectional power converters used in our distributed battery storage system paired with solar generation. The ideal candidate will work closely with power electronics, systems, and test engineers to develop robust, efficient, and reliable firmware that supports high-performance power conversion and scalable product development.
Responsibilities
Develop embedded firmware in C for DSP-based control of AC-DC, DC-DC, Dual Active Bridge (DAB), and LLC resonant power converters.
Implement and tune real-time digital control loops, including PI, PID, PR, and other control strategies for power conversion.
Develop communication between processors, controllers, and system-level devices using serial and poll/response protocols.
Develop power point tracking, battery charging, micro-grid forming/following algorithms, and develop nested loop structures implemented in DSP + MCU + Processor.
Adhere to coding standards and software engineering best practices including code maintenance in common code revision control system.
Analyze test results and present findings during technical design reviews to improve performance, robustness, and maintainability.
Work closely with the power electronics team to bring up, debug, optimize, and validate converter hardware and controls.
Create and maintain clear documentation for firmware architecture, control implementation, interfaces, and test methods.
Qualifications
Bachelor's degree in electrical engineering, computer engineering, embedded systems, or other related STEM discipline.
3+ years of professional experience developing embedded software, firmware, or digital controls for power electronics, motor drives, power supplies, or similar real-time systems (internship experience is applicable).
Strong programming experience in C/C++.
Experience developing embedded software using DSPs, microcontrollers, FPGAs, or similar real-time digital controllers.
Familiar with developing control algorithms (voltage control and current control loops, etc.) for AC-DC and DC-DC power conversion.
Experience implementing and debugging real-time control systems involving PWM, ADC sampling, interrupts, timers, and hardware protection.
Hands-on experience debugging and validating embedded and electrical systems using oscilloscopes, logic analyzers, debuggers, and similar tools.
Preferred Skills or Experience
Minimum of 3 years of experience in building real-time embedded systems using object-oriented programming in C and C# language.
Have experience with Freescale-NXP, STM32, Microchip or Texas Instruments Microcontrollers / DSP.
Familiarity with communication protocols (I2C, SPI, ModBus, CANbus).