Responsibilities
- Design and implement embedded firmware in C/C++ for microcontroller-driven systems
- Bring up new hardware platforms and debug hardware-firmware interactions
- Integrate firmware with newly developed boards and resolve compatibility issues
- Create and refine device drivers, board support packages, and middleware layers
- Optimize low-level software components for efficiency and reliability
- Implement and troubleshoot communication interfaces including UART, SPI, I2C, CAN, USB, and Ethernet
- Work closely with hardware engineers to review circuit designs and resolve technical issues
- Improve firmware performance, memory usage, and power consumption
- Execute unit and integration testing, and assist in system-level validation