
Search by job, company or skills
Role summary
We are hiring a Firmware Engineer to develop and maintain production firmware for ESP32-based IoT automation devices. You will build connected, reliable firmware using ESP-IDF (and support Arduino/MicroPython firmware used in production where required), integrate sensors and peripherals, and troubleshoot end-to-end issues across firmware, electronics, and real-world installations. This role suits someone who can take ownership of features from requirements through release and field support.
Key Responsibilities
Develop, test, and maintain firmware for ESP32-based IoT devices using ESP-IDF; support Arduino/MicroPython firmware in production where required.
Analyse residential, commercial, and industrial IoT requirements and translate them into robust firmware designs.
Implement and maintain device communications over Wi-Fi using UDP and MQTT; implement BLE features where required.
Integrate sensors and peripherals using UART, SPI, I2C, and ADC; implement reliable GPIO, timer, and interrupt handling.
Implement secure communication patterns, including TLS, certificate-based authentication, secure storage, and provisioning concepts aligned to product needs.
Perform hands-on debugging and root-cause analysis using serial logging and logic analyzers; fix defects and prevent regressions.
Troubleshoot integration issues across firmware, hardware, sensors, and installation conditions; coordinate effectively with cross-functional teams.
Maintain clear engineering documentation including integration notes, firmware behaviour, release notes, and internal troubleshooting guides.
Support compliance-minded firmware practices including local standards considerations, audit trails, and update policy enforcement.
Skills and Experience
Experience: 3-5 years in firmware/embedded engineering roles (IoT products preferred).
Strong Embedded C/C++ skills; practical experience with ESP32 and ESP-IDF.
Hands-on experience with Wi-Fi and BLE in embedded products; solid understanding of UDP and MQTT communications.
Strong grasp of embedded interfaces and peripherals: UART, SPI, I2C, ADC.
Comfortable with interrupts, timers, and GPIO at production reliability level.
Strong debugging mindset (field failures, intermittent faults, performance issues, and long-term stability).
Ability to work independently and collaboratively, handling projects end-to-end.
Solid foundation in electronics fundamentals for bring-up and fault isolation.
Working understanding of AI concepts; able to use LLM tools effectively, with basic awareness of agentic tooling.
Core Technologies
ESP32, ESP-IDF
Embedded C/C++
Arduino and MicroPython (production support)
Wi-Fi (2.4 GHz), UDP, MQTT
BLE
UART, SPI, I2C, ADC
Timers, interrupts, GPIO
TLS, certificates, provisioning, secure storage
Serial logging, logic analyzer
Qualifications
Relevant degree/diploma in Engineering, Computer Science, Embedded Systems, Electronics, or equivalent practical experience.
Demonstrated experience shipping and supporting firmware in production environments.
Hiring Process
1.Technical interview
2.Small technical task (shared after passing the technical interview)
3.Offer and joining letter (expected start within 15 days, subject to candidate availability)
Job ID: 143243997