Zone 5 Technologies is redefining what's possible in unmanned aircraft systems by developing cutting-edge autonomous solutions. They are seeking an Embedded Software Engineer to develop and maintain custom PX4 autopilot firmware for autonomous aerial platforms, including modifying flight control algorithms and integrating sensors.
Responsibilities:
- Develop, modify, and maintain custom PX4 firmware modules for mission-specific requirements
- Implement custom flight modes, navigation algorithms, and control strategies
- Integrate sensors, actuators, and payloads through PX4 driver and uORB message framework
- Debug firmware issues using GDB, serial consoles, and flight log analysis
- Patch and backport fixes across PX4 versions while maintaining stability
- Maintain build infrastructure using CMake, Make, and embedded toolchains
- Configure cross-compilation environments for ARM Cortex-M target architectures
- Manage firmware dependencies, submodules, and third-party libraries
- Create reproducible build configurations and automate firmware generation pipelines
- Develop and maintain SITL (Software-in-the-Loop) and HITL (Hardware-in-the-Loop) test environments
- Integrate PX4 with physics-based simulation platforms for validation and regression testing
- Create automated test scenarios to validate firmware changes before flight testing
- Configure MAVLink communication interfaces for ground control and companion computer integration
- Integrate PX4 with companion computers running ROS2-based autonomy stacks
- Develop MAVLink and UART communication protocols between flight controller and edge compute modules
- Support flight test operations including pre-flight checks, log collection, and post-flight analysis
- Collaborate with hardware, autonomy, and systems engineers to diagnose and resolve integration issues
Requirements:
- Bachelor's in Computer Science, Computer Engineering, Electrical Engineering, Aerospace Engineering, or related field – equivalent industry experience also welcome
- 4-6+ years of experience in embedded software development with focus on real-time systems
- Strong proficiency in C and C++ for embedded systems programming
- Hands-on experience with PX4 autopilot firmware architecture and development
- Deep understanding of build systems including CMake, Make, and embedded toolchains
- Experience with ARM Cortex-M microcontrollers and embedded debugging tools
- Solid grasp of control theory, state estimation, and sensor fusion fundamentals
- Understanding of MAVLink protocol and communication with ground control stations
- Experience developing and maintaining simulation environments for embedded systems testing
- Experience with multi-rotor or fixed-wing UAV flight dynamics and control
- Familiarity with ROS2 and companion computer integration architectures
- Knowledge of Kalman filtering (EKF/UKF) and inertial navigation systems
- Understanding of safety-critical software development practices
- Experience with UART, SPI, I2C, and CAN bus protocols
- Background in flight testing and airworthiness procedures
- Knowledge of RTOS concepts and real-time scheduling
- Experience with version control workflows for firmware development
- Familiarity with Python for scripting, automation, and data analysis
- Understanding of power systems, motor control, and electronic speed controllers
- Experience with continuous integration systems for embedded firmware