Collaborate with electrical, controls, mechanical, test, and compliance teams
**Controls \& Power Electronics**
Implement digital control techniques: PID control , PWM generation , Synchronization \& Transfer logic
Support advanced control algorithms for UPS topology and battery systems
**Embedded Software Development**
Develop embedded firmware using:
C/C\+\+
RTOS
Bare\-metal systems
Work on microcontrollers/DSPs such as:
TI C2000
STM32
Develop communication protocols:
CAN
Modbus
UART
SPI
I2C
Ethernet/SNMP
**Validation \& Debugging**
Perform firmware debugging and root cause analysis
Support:
EVT
DVT
Regression testing
HIL testing
Analyze field issues and implement corrective actions
Support system integration and performance optimization
**Technical Leadership**
Mentor firmware engineers and review technical deliverables
Drive coding standards and firmware development processes
Lead technical discussions and architecture reviews
Support innovation and continuous improvement initiatives
*Job Requirements:**
Bachelor’s Degree in Electronics or Electrical or related Engineering with at least 15\+ years of professional engineering experience designing, developing and analyzing embedded control system firmware
Must have a strong background in **embedded coding, coding review, debugging, testing, and deployment.**
Expertise in designing and implementing **power electronics control algorithms** tailored to application needs.
Strong knowledge of TI C2000 series microcontrollers, such as the TMS320F28x
Prior experience with **UPS control firmware is preferred** (battery management, power converter control, etc.)
Understands hardware schematics and work with the hardware team to deliver production worthy hardware/software co\-designed architecture
Model\-based development with **MATLAB® and Simulink® and Typhoon Hardware in Loop** .
Experience with source control management (GIT etc.)
Experienced in unit testing, Debugging, Bug fixing, verification testing, reliability testing.
Strong analytical and problem\-solving skills required