About This Role
This firmware engineering role involves designing, developing, and maintaining embedded firmware for low-power wireless devices. It focuses on building reliable connectivity features and secure update workflows, collaborating with various teams from concept to deployment.
Responsibilities
- Design, develop, and maintain embedded firmware for low-power wireless devices using C/C++ and FreeRTOS
- Develop and optimize device drivers and board-support code for I²C, SPI, UART, ADC, DAC, sensors, displays, external memory, and wireless radios
- Build reliable connectivity features using LoRaWAN, BLE, Wi-Fi, cellular, and NFC
- Develop Wi-Fi provisioning, roaming, station and access-point functionality, and power-aware duty cycling
- Implement secure bootloaders and over-the-air update workflows with diagnostics, logging, and fail-safe rollback
- Collaborate with hardware, cloud, and mobile teams to deliver features from concept through deployment
- Participate in code reviews and continuous-integration activities
- Support board bring-up, design verification testing, manufacturing test scripts, calibration workflows, and field reliability
- Profile battery life, performance, and RF behavior while developing telemetry for real-world product observability
Requirements
- Bachelor’s degree
- At least 4 years of professional embedded firmware development experience
- Strong programming skills in C and C++
- Experience working with Git-based development workflows
- Hands-on experience with embedded toolchains, HAL/LL libraries, SWD/GDB, and debugging tools such as J-Link or OpenOCD
- Experience with at least two of the following communication technologies: LoRaWAN, Wi-Fi, Bluetooth Low Energy, NFC, Cellular
- Ability to use oscilloscopes and logic analyzers
- Ability to read schematics and component datasheets
- Clear communication, practical problem-solving skills, and strong product instincts
Nice to have:
- Experience with ESP32 or STM32 microcontrollers
- Knowledge of FreeRTOS tasks, queues, and timers
- Experience with lwIP, mbedTLS, secure boot, or flash encryption
- Familiarity with LoRaWAN regions and MAC behavior, BLE pairing and bonding, or Wi-Fi captive-portal provisioning
- Experience developing factory-test automation or Python-based tools and fixtures
- Experience modeling and optimizing power consumption for battery-operated products
- Familiarity with e-paper or LCD user interfaces on resource-constrained microcontrollers, including LVGL
- Experience with OTA services, device telemetry, or fleet-management platforms