Job Description
Location: Koramangala, Bangalore
Experience: 2+ years
Employment Type: Full-time
About the Role
We are seeking a skilled Embedded Software Engineer to join our dynamic team working across multiple innovative healthcare and IoT products. The ideal candidate will have strong experience in embedded C/C++ programming for STM32 and ESP32 microcontrollers, and a passion for developing reliable, scalable, and field-ready firmware for medical and remote patient monitoring devices.
Key Responsibilities
- Develop, test, and maintain embedded software in C/C++ for STM32 microcontrollers and ESP32 platforms, both bare-metal and RTOS-based environments.
- Design and implement motor control algorithms (BLDC motors) and solenoid valve operation for medical device applications.
- Integrate and manage wireless communication modules including BLE, Wi-Fi, Bluetooth, and implement IoT protocols such as MQTT and AWS IoT Core.
- Interface and integrate sensors, especially pressure sensors.
- Develop secure BLE communication including pairing, OTA firmware updates, and IoT cloud connectivity.
- Design robust communication protocols: UART, SPI, I2C, CAN for device subsystem integration.
- Develop user interfaces for embedded devices using LCD, TFT, and Nextion displays.
- Implement bootloaders, watchdog timers, fault handling mechanisms, and power optimization strategies.
- Work with external memory components such as EEPROM for data storage and retrieval.
- Perform hardware debugging and diagnostics using oscilloscopes, logic analyzers, and other tools.
- Collaborate with cross-functional teams including R&D, QA, regulatory, and manufacturing to ensure high-quality product delivery.
- Participate in risk management, technical documentation, and compliance activities adhering to medical regulatory standards.
- Contribute to end-to-end product lifecycle: from concept, prototyping, testing, to production deployment and post-market firmware updates.
Desired Skills and Qualifications
- Bachelor's or Master's degree in Electronics, Computer Engineering, Embedded Systems, or a related field.
- Proven expertise in Embedded C/C++ programming for STM32 microcontrollers and ESP32 platforms.
- Experience in motor control (BLDC) and solenoid valve firmware development.
- Strong knowledge of wireless communication protocols (BLE, Wi-Fi, Bluetooth) and IoT cloud protocols (MQTT, AWS IoT Core).
- Proficient with communication interfaces: UART, SPI, I2C, CAN.
- Hands-on experience in sensor integration, signal processing, and calibration, particularly with pressure sensors.
- Familiarity with watchdogs, fault tolerance, and power optimization techniques.
- Skilled in hardware debugging using oscilloscopes, logic analyzers, and other diagnostic tools.
- Experience with user interface development for embedded displays (LCD, TFT, Nextion).
- Knowledge of external flash memory (EEPROM) usage for persistent data storage.
- Understanding of medical device regulatory requirements and experience supporting risk management and traceability.
- Good working knowledge of Python or MATLAB for matrix analysis or sensor data processing (preferred).
- Strong problem-solving skills and a solid foundation in Data Structures and Algorithms (DSA).
- Excellent communication skills and ability to work collaboratively in a multi-disciplinary team environment.
Preferred
- Prior experience with production-level firmware including design for manufacturing (DFM), design for testability (DFT), test modes, and factory flashing.
- Experience in developing deployment-ready firmware for medical or safety-critical applications.
- Familiarity with ADC integration, sampling theory, analog signal acquisition, and digital signal processing (DSP).
- Hands-on experience in cloud-connected IoT systems and OTA update mechanisms.