R&D, Firmware · Pune
Firmware Developer
Write the code that brings our robots and kits to life.
The Firmware Developer will be responsible for developing, testing, and maintaining embedded firmware for Robokidz DIY kits built on ESP32 and STM32 platforms. You will work closely with the hardware engineer during bring-up and with the product team to ensure firmware is reliable, well-documented, and easy for the software team to integrate with.
KEY RESPONSIBILITIES
Write clean, efficient firmware in C/C++ for ESP32 (ESP-IDF / Arduino framework) and STM32 (HAL / LL / CubeMX).
Develop peripheral drivers - UART, SPI, I2C, PWM, ADC, GPIO, and timers.
Implement wireless communication features - Wi-Fi and BLE on ESP32; UART/SPI bridges between ESP32 and STM32.
Develop and maintain bootloader logic and OTA (Over-the-Air) firmware update mechanisms.
Support hardware bring-up alongside the hardware engineer - validate PCBs, debug signal issues, and confirm peripheral behaviour.
Implement and manage FreeRTOS tasks, queues, semaphores, and interrupt handling.
Optimise firmware for power consumption, especially for battery-operated DIY kits.
Write test firmware and use debugging tools - JTAG, SWD, logic analysers, and serial monitors.
Collaborate with the software/product team on host-side communication protocols (USB CDC, BLE, serial).
Maintain version-controlled, well-documented codebases using Git.
REQUIREMENTS
Minimum 2-3 years of embedded firmware development experience.
Strong C/C++ programming skills for bare-metal and RTOS environments.
Hands-on experience with ESP32 using ESP-IDF (Arduino framework knowledge is a plus).
Hands-on experience with STM32 using STM32CubeMX and HAL/LL libraries.
Good understanding of communication protocols - UART, SPI, I2C, BLE, and Wi-Fi.
Proficiency with debugging tools - JTAG/SWD debuggers, logic analysers, and oscilloscopes.
Solid experience with FreeRTOS - task management, synchronisation, and interrupt handling.
Familiarity with Git and version-controlled firmware development workflows.
Show us something you have built.
A project, a GitHub repository or a live link can help us understand how you think. You can include a link with your application.
A question about the role?
careers@robokidz.co.inCome build with us.
Bring your curiosity. Tell us what you would build.

