Job Description

This role is for one of the Weekday's clients

Min Experience: 3 years

Location: Bengaluru

JobType: full-time

The Embedded Firmware Engineer will be responsible for designing, developing, and maintaining firmware for microcontroller-based systems. The role involves low-level programming, RTOS and bare-metal development, hardware bring-up, and close collaboration with hardware teams to deliver reliable and high-performance embedded solutions.

Requirements

Key Responsibilities

  • Design, develop, and maintain embedded firmware for ARM Cortex-M and RISC-V microcontrollers.
  • Develop and integrate device drivers for communication interfaces such as I2C, SPI, UART, CAN, USB, BLE, and Ethernet.
  • Work on real-time operating systems including FreeRTOS and Zephyr, as well as bare-metal firmware.
  • Perform board bring-up, system debugging, and validation using tools such as JTAG/SWD, oscilloscopes, and logic analyzers.
  • Analyze hardware schematics and component datasheets to ensure accurate firmware integration.
  • Collaborate closely with hardware, validation, and system teams throughout the development lifecycle.

Must-Have Skills & Experience

  • 3–5 years of hands-on experience in embedded firmware development.
  • Strong proficiency in C programming (C++ is a plus).
  • Experience working with ARM Cortex-M or RISC-V MCU architectures.
  • Solid experience with RTOS (FreeRTOS, Zephyr) or bare-metal programming.
  • Strong debugging skills using JTAG, SWD, and lab instruments.
  • Hands-on experience with standard communication protocols.

Good-to-Have Skills

  • Experience with bootloader development (MCU bootloaders, U-Boot).
  • Knowledge of power optimization and low-power system design.
  • Exposure to OTA mechanisms and secure firmware update workflows.
  • Python scripting for testing, validation, or automation.

Skills

  • Embedded C
  • RTOS
  • ARM / RISC-V
  • FreeRTOS
  • Zephyr
  • Embedded Linux

Apply for this Position

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

Submit Application