Job Description

We are looking for a passionate and skilled Embedded Software Engineer to join our Client's team. The ideal candidate will have strong experience in bare-metal programming, low-level driver development, and a solid understanding of microcontroller architectures such as RISC-V or ARM. You will work closely with architects to understand requirements and will be responsible for designing, developing, testing, and maintaining device drivers and associated firmware.

Key Responsibilities:

  • Collaborate with system architects to understand design requirements.
  • Design, develop, and test low-level device drivers for embedded systems.
  • Implement bare-metal firmware for interfaces like I2C, SPI, UART, DMA, etc.
  • Develop APIs for integrating hardware drivers with higher-level applications or RTOS.
  • Perform debugging and validation of developed drivers on hardware.
  • Maintain documentation and ensure code quality through unit testing and code reviews.

Technical Skills Required:

  • Strong programming skills in Embedded C.
  • Experience with low-level hardware driver development.
  • Hands-on experience with bare-metal programming.
  • Proficient in working with serial communication interfaces: I2C (preferred), SPI, UART, DMA.
  • Good understanding of RISC-V or ARM architecture, booting procedure, and hardware-software interaction.

Nice-to-Have Skills:

  • Familiarity with C++ and/or Python .
  • Experience with RTOS porting and driver development (e.g., FreeRTOS, Zephyr).
  • Knowledge of protocols like SMBus , PMBus , SVID , and AVS .
  • Prior experience with I2C driver development is a strong plus.

Education Qualification:

  • Bachelors or Masters degree in Electronics & Communication (ECE) , Computer Science (CSE) , or Electrical & Electronics (EEE) .

Apply for this Position

Ready to join ? Click the button below to submit your application.

Submit Application