Roles and Responsibilities
Design, develop, test, and maintain embedded firmware for various microcontrollers using C programming language.
Troubleshoot and debug complex issues in existing firmware designs.
Ensure high-quality code by following coding standards and best practices.
Collaborate with cross-functional teams to integrate firmware with hardware components.
Develop device drivers for I2C, UART interfaces on STM/ATMEL processors.
Develop firmware and test software for STM / Atmel / PIC / ARM microcontroller families across different verticals
Develop required scripts to support test framework
Debug and validate the product developed
Work closely with Hardware engineering team to develop and debug hardware.
Conduct unit and system-level testing of firmware components
Troubleshoot issues using logic analysers, oscilloscopes, and debuggers
Optimize code for performance, memory, and power efficiency
Interact with Eco-system partners in realizing the product including fabrication, assembly,
environmental qualification etc
Document architecture, code, and design decisions clearly and thoroughly
Required Skills and Qualifications
Bachelors degree in electrical engineering, Computer Engineering, or a related field
Experience in Microprocessor / Microcontroller Architectures of Intel / ARM / STM / Atmel / PIC / IA etc.
Experience and robust knowledge in C, Embed C, C++, Linux, Assembly language programming
Experience and Robust understanding of embedded systems, memory management, and real-time constraints
Ability to read schematics and work closely with hardware teams
Experience & robust knowledge of CAN / Bluetooth / WIFI / GSM
Experience in Atmel Studio / System Workbench / KEIL / MPLAB
Shell scripting / Perl / Python
Experience in SDLC, STLC
Ability to work independently and in group and deliver with quality