Embedded Software Engineer
Examroomai India · Bengaluru · onsite · Posted today
About a minute. You'll make an account on the way through.
About this role
Position Title: Embedded Software Engineer
Department: Electronics
Experience: 2+ years
Location: Bengaluru (on-site)
Employment Type: Full-time
Reports To: Manager
About the Role
We are looking for an Embedded Software Engineer to design, develop and validate firmware for our electromechanical and energy products. You will work on real-time control software, including motor control algorithms, battery management systems (BMS) and sensor-driven applications, and take features from concept through bench testing and production release. You will work closely with hardware, systems and testing teams to deliver reliable, safe and efficient embedded solutions.
Key Responsibilities
- Design, develop, test and debug embedded firmware in Embedded C and C++ for microcontroller-based platforms.
- Develop and tune motor control algorithms such as FOC (Field-Oriented Control), sensorless control, speed/torque/position loops and PWM generation.
- Implement BMS firmware functions including cell voltage/temperature monitoring, SoC/SoH estimation, cell balancing, fault detection and protection logic.
- Integrate and calibrate sensors such as IMUs (accelerometer, gyroscope), current, voltage, temperature and position sensors, including filtering and sensor fusion were required.
- Develop real-time applications on an RTOS (e.g., FreeRTOS, Zephyr or similar): task design, scheduling, inter-task communication, synchronization and resource management.
- Write and maintain low-level drivers and peripheral interfaces (ADC, timers, PWM, GPIO, DMA, SPI, I2C, UART, CAN).
- Implement and debug communication protocols such as CAN/CAN-FD, UART, SPI and I2C.
- Perform hardware bring-up and debugging using oscilloscopes, logic analyzers, JTAG/SWD debuggers and other lab tools.
- Contribute to software requirements, design documents, code reviews and test plans.
- Support integration, validation and field issue analysis in collaboration with hardware and systems teams.
- Follow coding standards and software quality practices (e.g., MISRA C, version control, unit and integration testing).
Required Qualifications
- Bachelor's or Master's degree in Electronics, Electrical, Embedded Systems or a related field.
- 2+ years of hands-on experience in embedded software development.
- Strong proficiency in Embedded C, with working knowledge of C++ in embedded environments.
- Practical experience with RTOS (FreeRTOS, Zephyr, ThreadX or similar).
- Hands-on experience with motor control algorithms (BLDC/PMSM, FOC, PID control).
- Experience working with BMS, IMU and other sensors, including data acquisition, calibration and filtering.
- Good understanding of microcontroller architectures (ARM Cortex-M, STM32, NXP, TI C2000, PIC32, Renesas or similar).
- Experience with communication protocols: CAN, UART, SPI, I2C.
- Ability to read schematics and datasheets and debug at the hardware software boundary.
- Proficiency with Git and embedded toolchains/IDEs (e.g., Keil, S32 Design Studio, Docklight, STM32Programmer, STM32CubeIDE, Code Composer Studio).
- Knowledge of Kalman filters, complementary filters or other estimation techniques.
- Familiarity with functional safety concepts (ISO 26262, IEC 61508) and automotive or industrial standards.
- Experience with bootloaders, firmware over-the-air (FOTA) updates and diagnostics (UDS).
Key Skills and Competencies
- Strong problem-solving and debugging skills.
- Solid understanding of real-time systems and control theory fundamentals.
- Clear written and verbal communication.
- Ability to work in a cross-functional team and take ownership of deliverables.
- Attention to detail, with a focus on quality and reliability.
Sourced from naukri