Purpose of the role
We are seeking a passionate Embedded Firmware Engineer with minimum 3 years of hands-on experience in embedded systems development. The candidate will be responsible for designing, developing, testing, and maintaining firmware for microcontroller-based products. The role requires strong fundamentals in embedded C programming, hardware-software integration, and debugging skills.
Technical Skills Required
1. Strong proficiency in Embedded C / C++ programming.
2. Experience with MCUs / MPUs (preferably STM32, TI, NXP, Microchip).
3. Hands-on experience with embedded debugging tools (JTAG, SWD, Logic Analyzer, Oscilloscope).
4. Good understanding of RTOS concepts (Free RTOS or equivalent is a plus).
5. Familiarity with version control systems (Git).
6. Knowledge of low-level hardware interfacing and peripheral configuration.
Behavioural Skills Required
1. Strong problem-solving and debugging skills.
2. Ability to work independently and in a team environment.
3. Good written and verbal communication skills.
4. Eagerness to learn and adapt to new technologies.
Job Responsibilities
1. Develop and maintain firmware for microcontrollers STM32 (STM32H7, STM32F4, STM32G0 etc.)
2. Implement communication protocols such as UART, I2C, SPI, CAN, Modbus, RS485, Ethernet.
3. Able to handle the full life cycle of an embedded product from ideas to development to testing to deployment to running a reliable and robust product on site.
4. Work on device drivers, middleware, and application-level code.
5. Collaborate with hardware and system design teams to ensure smooth integration.
6. Debug and optimize code for performance, memory, and power efficiency.
7. Write clear technical documentation, test plans, and reports.
8. Participate in code reviews and contribute to continuous improvement of firmware development processes.
9. Follow coding standards (e.g., MISRA) and best practices in embedded development.
10. Willing to work on sites in case of requirement.
Embedded Engineer • India