We are looking for an Embedded Firmware Engineer to develop and integrate firmware for our UAV
platforms. The role involves working across embedded systems, hardware interfaces and autopilot
firmware, developing custom firmware features, extending ArduPilot/PX4 capabilities, and integrating
sensors, actuators and mission payloads.
Key Responsibilities
- Design, develop, debug and optimize real-time embedded firmware using C/C++ on RTOS-based and resource-constrained platforms.
- Develop device drivers, support board bring-up and hardware-firmware integration, and interface sensors, actuators, avionics hardware and mission payloads over SPI, I2C, UART and CAN.
- Modify and extend the ArduPilot and PX4 codebase by developing custom modules, flight modes, mission logic and product-specific features, while maintaining compatibility with upstream releases.
- Configure, integrate and tune ArduPilot and PX4 subsystems, including flight control, navigation, state estimation, failsafes, communication and payload control, for specific airframes and mission requirements.
- Develop MAVLink-based telemetry and command interfaces and integrate flight controllers and companion computers with ground control stations.
- Conduct unit, integration, SITL and HITL testing; support flight-test operations, perform pre-flight, in-flight and post-flight diagnostics, analyze flight logs and troubleshoot system-level issues.
- Maintain firmware build systems, development toolchains and automated build pipelines while ensuring code quality through version control, reviews and documentation.
- Collaborate with hardware, mechanical, autonomy and systems teams on UAV integration and system-level validation, while engaging with the ArduPilot and PX4 communities to explore emerging technologies and development opportunities.
Required Skills
- Strong proficiency in C/C++ and embedded firmware development, with a good understanding of ARM Cortex-M architecture, peripherals, interrupt handling, DMA and memory management.
- Experience developing low-level device drivers and integrating hardware peripherals over interfaces such as SPI, I2C, UART and CAN.
- Hands-on experience developing RTOS-based firmware (FreeRTOS, NuttX, ChibiOS or similar).
- Working knowledge of ArduPilot or PX4, including their architecture, firmware modules, flight-control systems, sensor integration, configuration and tuning.
- Familiarity with MAVLink, ground control stations, mission-planning tools and UAV
- Hands-on experience with UAV integration, bench testing, SITL/HITL testing or flight testing.
- Hands-on experience with firmware debugging tools and hardware instruments, including GDB, JTAG/SWD, oscilloscopes and logic analyzers.
- Ability to read and interpret hardware datasheets, reference manuals and schematics.
Good to Have
- Hands-on experience building, configuring, flying and maintaining at least one type of UAV platform: multirotor, fixed-wing or VTOL (quadplane/tiltrotor).
- Experience with UAV platform tuning and calibration, including PID tuning, sensor calibration, EKF tuning and flight-controller troubleshooting.
- Exposure to UAV autonomous navigation capabilities such as GPS-denied flight, vision-based navigation and autonomous flight modes.
- Experience developing or maintaining simulation environments and automated SITL/HITL testing infrastructure.
- Contributions to ArduPilot, PX4 or other open-source robotics projects.
Education & Experience
- Bachelor's or Master's degree in Electronics, Electrical, Computer Science, Mechatronics or a
- 1+ years of hands-on experience in embedded firmware development using C/C++, preferably involving ARM-based microcontrollers and RTOS, with exposure to ArduPilot, PX4 or other