Job Title : Embedded Software Engineer (MCU & RTOS)Location : ChennaiJob Type : Full-TimeExperience Level : Mid-LevelJob Summary : We are seeking a highly skilled and motivated Embedded Systems Software Developer to joinour engineering team. The ideal candidate will have strong experience in microcontroller(MCU)-based programming and real-time operating systems (RTOS). You will be responsiblefor designing, developing, testing, and maintaining embedded firmware and software forvarious 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 / softwareintegration.
- 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.