Embedded Software Engineer (MCU & RTOS) – Experience : 2-10 years, Location: Ambattur, Chennai

Job Type: Full Time
Job Location: chennai
Years of Experience: 2-10yrs

The ideal candidate will have strong experience in microcontroller (MCU)-based programming and real-time operating systems (RTOS). You will be responsible for designing, developing, testing, and maintaining embedded firmware and software for various applications, ensuring high performance and reliability.

Key Responsibilities:

  • Design and implement embedded software for microcontroller-based systems.
  • Develop real-time firmware using RTOS (e.g., FreeRTOS, ThreadX).
  • Collaborate with hardware engineers for board bring-up and hardware/software
    integration.
  • Write low-level device drivers for peripherals such as SPI, I2C, UART, ADC, PWM,
    etc.
  • Develop and maintain software documentation including architecture, design, and user
    manuals.
  • Debug and troubleshoot software issues using tools like oscilloscopes, logic analyzers,
    and JTAG/SWD.
  • Participate in code reviews and ensure software development best practices.
  • Contribute to system-level design, including power management and optimization
    techniques.
  • Support testing, validation, and deployment processes for embedded solutions.

Required Skills and Qualifications:

  • Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or
    related field.
  • 4+ years of experience in embedded firmware/software development.
  • Proficiency in C/C++ for embedded systems.
  • Hands-on experience with microcontrollers (ARM Cortex-M, STM32.).
  • Strong understanding of RTOS concepts including task scheduling, inter-process
    communication, and resource management.
  • Familiarity with communication protocols: I2C, SPI, UART, CAN, USB, etc.
  • Experience with embedded development tools: IDEs (e.g., Keil, IAR,
    STM32CubeIDE), debuggers, and emulators.
  • Familiarity with version control systems (Git, SVN).

Preferred Qualifications:

  • Experience with safety-critical or industrial embedded systems.
  • Knowledge of bare-metal programming and interrupt handling.
  • Exposure to wireless communication stacks (IoT, BLE, Zigbee, LoRa, etc.).
  • Familiarity with scripting languages (Python, Bash) for automation and testing.
  • Experience with CI/CD tools for embedded systems.

Apply for this position

Allowed Type(s): .pdf, .doc, .docx