Responsibilities
- Design, develop, and debug real-time embedded firmware for IoT systems, including gateways, lighting control, and environmental monitoring and control solutions.
- Maintain, optimize, and improve firmware for existing RTOS-based devices.
- Collaborate cross-functionally with BSP, HW, ID, Backend, Mobile, FE, PM, and PA teams to deliver high-quality products.
- Contribute to system-level architecture decisions for multi-module communication.
- Document software architecture, tuning methods, and test results.
- Perform code reviews, ensuring best practices in coding standards.
- Participate in troubleshooting and root-cause analysis for firmware issues.
- Collaborate with QA and manufacturing teams for production firmware validation, factory firmware, and calibration procedures.
Requirements
- Strong knowledge of networking fundamentals and protocols like TCP/IP (IPv4 and IPv6), socket programming, and higher-level protocols such as HTTP, WebSockets, or MQTT used in IoT systems.
- Experience developing firmware in a Real-Time Operating System (RTOS) environment (such as FreeRTOS or Zephyr).
- Proficient in C/C++ programming in embedded environments with RTOS.
- Understanding of memory management, interrupt handling, and power management in constrained systems.
- Familiarity with Git version control.
- A team player, who is self-motivated, loves difficult challenges, and is goal-driven.
Nice to Have
- Experience with Ethernet, Wi-Fi, BLE, or Thread communication protocols.
- Experience with UART, SPI, I2C, GPIO control, ADC/DAC, PWM, RS485 and other peripheral interfaces.
- Skilled at defining and implementing custom communication protocols for heterogeneous systems.
- Experience with CoAP in constrained embedded environments.
- Experience in low-power firmware design and sensor integration.
- Experience with OTA update systems, bootloaders, and secure provisioning.
- Understanding of manufacturing test firmware, hardware calibration, and diagnostic mode implementations.
- Experience working with ESP-IDF, Silicon Labs Gecko SDK, or Linux-based MCU co-processors.