Job Title : Embedded Software Engineer (MCU & RTOS)
Location : Chennai
Job Type : Full-Time
Experience Level : Mid-Level
Job Summary :
We are seeking a highly skilled and motivated Embedded Systems Software Developer to join
our engineering team. 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 usermanuals.
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 optimizationtechniques.
Support testing, validation, and deployment processes for embedded solutions.Required Skills and Qualifications :
Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, orrelated 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-processcommunication, 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.