We are looking for an experienced Embedded Developer to contribute to the development, customization, and integration of the ArduPilot/PX4 stack for our autonomous UAV platforms. The candidate will work closely with the firmware, electronics, and mission software teams to develop cutting-edge flight control features and mission behaviors.
Design and implement embedded firmware for custom hardware boards.
Write drivers for peripherals: UART, SPI, I2C, PWM, CAN, ADC, etc.
Handle board bring-up and unit testing on new prototypes.
Implement communication protocols (CAN, MAVLink, SBUS, etc.).
Write bootloaders, fail-safes, and system diagnostics features.
Profile and optimize for memory, speed, and power consumption.
Develop and customize features in the ArduPilot flight stack (Plane/Copter/Rover).
Integrate new sensors, ESCs, GPS, and payloads into ArduPilot firmware.
Debug and tune flight control parameters for stability and performance.
Contribute to real-world testing, flight logs analysis, and flight safety.
Maintain Git-based version control and follow CI/CD best practices.
Create developer documentation and support internal teams for integration
Strong proficiency in C++ (especially low-level systems programming).
Solid understanding of MAVLink protocol and GCS tools like Mission Planner or QGC.
Experience with PX4 or ArduPilot firmware internals.
Hands-on experience with STM32 or similar flight control hardware.
Debugging tools: GDB, Logic Analyzer, Serial Debugging, etc.
Knowledge of real-time systems and interrupt-driven code.
Expertise in C/C++ and embedded development workflows.
Proficient in STM32 HAL/LL or bare-metal programming.
Experience with RTOS (ChibiOS, FreeRTOS) or bare-metal scheduling.
Use of debugging tools like JTAG/SWD, oscilloscopes, and logic analyzers.
Experience with version control (Git) and CI workflows.
Experience interfacing with GNSS, IMUs, barometers, etc.
Python scripting for testing and automation.
Background in power electronics or motor drivers.
Python or Lua scripting for onboard automation.
Familiarity with Gazebo or SITL simulations.
Understanding of drone swarming, autonomy, or computer vision.
Experience working with RTOS or bare-metal firmware.
Familiarity with electromagnetic interference, EMI/EMC issues.