PX4 is an open-source autopilot flight stack that runs on dedicated flight controller hardware to stabilize, navigate, and automate unmanned vehicles. Whether you are building a racing quadcopter, a long-range fixed-wing survey platform, or an autonomous ground rover, PX4 provides the software foundation — and understanding a few key concepts up front will make every subsequent step much clearer.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/PX4/PX4-Autopilot/llms.txt
Use this file to discover all available pages before exploring further.
What is a Drone?
A drone, formally called an Unmanned Vehicle (UV), is an unmanned robotic vehicle that you can control manually or let operate autonomously. Drones travel in the air, on the ground, and on or under the water, and they serve a wide range of applications: aerial photography, cargo delivery, racing, search and rescue, infrastructure inspection, and environmental surveying. The formal terminology breaks down by environment:- UAV — Unmanned Aerial Vehicle (aircraft)
- UGV — Unmanned Ground Vehicle
- USV — Unmanned Surface Vehicle (water surface)
- UUV — Unmanned Underwater Vehicle
The term Unmanned Aerial System (UAS) refers to the complete system: the UAV itself plus the ground control station, radio controller, and any other supporting hardware or software used to operate the drone and process its data.
Vehicle Types Supported by PX4
PX4 supports a wide range of vehicle frames. Each type has different strengths depending on your mission requirements.Multicopter
Multi-rotor vehicles (quadcopters, hexacopters, octocopters) offer precision hovering and vertical takeoff and landing (VTOL from rest). They are the most popular vehicle type because they are relatively easy to assemble, and PX4 provides flight modes that make them accessible even to beginners. The trade-off is shorter flight times compared to fixed-wing aircraft.
Fixed-Wing (Plane)
Fixed-wing vehicles fly faster and farther than multicopters on the same battery, making them ideal for covering large areas in ground surveys, mapping missions, or long-range delivery. They are more complex to launch and land, and cannot hover in place.
VTOL
Vertical Takeoff and Landing (VTOL) vehicles are hybrids: they take off and land like a multicopter, then transition to forward flight like a fixed-wing aircraft. They combine the hovering capability of a multicopter with the range and efficiency of a plane. VTOL frames include tiltrotors, tailsitters, and quadplanes, and tend to be more expensive and harder to tune than either pure type.
Rover
Ground rovers are car-like vehicles controlled through PX4’s rover flight stack. They are simpler to operate than aircraft, can carry heavier payloads, and draw little power when stationary — useful for inspection or patrolling tasks where flight is unnecessary.
Helicopter
Helicopters share the hovering benefits of multicopters but are mechanically more complex and more aerodynamically efficient at scale. PX4 supports traditional single-rotor helicopters with a tail rotor.
Airship / Balloon
Lighter-than-air vehicles offer high-altitude, long-duration flight. Control over speed and direction is limited, but they excel at persistent surveillance or atmospheric sensing missions.
What is an Autopilot?
The autopilot is the “brain” of the drone. At a minimum it consists of:- Flight controller (FC) hardware — a dedicated embedded board containing a real-time processor and onboard sensors.
- Flight stack software — the firmware running on a real-time OS (RTOS) that reads sensor data, runs control algorithms, and drives actuator outputs.
The PX4 Flight Stack
PX4 is a powerful open-source autopilot flight stack that runs on the NuttX real-time operating system. It is the reference software platform for Pixhawk hardware and is actively maintained by the Dronecode Project. Key capabilities of PX4 include:- Support for multicopters, fixed-wing aircraft, VTOLs, ground vehicles, and underwater vehicles
- A rich set of flight modes ranging from fully manual to fully autonomous
- Robust safety and failsafe systems (low battery, RC loss, geofence breach, and more)
- Deep integration with companion computers and robotics APIs such as ROS 2 and MAVSDK
- A large ecosystem of compatible sensors, ESCs, telemetry radios, and payloads
QGroundControl
QGroundControl (QGC) is the free, open-source ground control station (GCS) developed by the Dronecode project. It runs on Windows, macOS, Linux, and Android, and it is the primary tool you use to interact with a PX4-powered vehicle. With QGroundControl you can:- Flash PX4 firmware and configure the autopilot for your airframe
- Monitor real-time telemetry: position, altitude, battery, GPS lock, and more
- Plan, upload, and monitor autonomous waypoint missions
- Set geofences and define failsafe behavior
- Tune PX4 parameters while the vehicle is on the bench or in the air
MAVLink
MAVLink is a lightweight binary communication protocol designed for unmanned vehicles. It serializes telemetry and command messages between the flight controller and external systems such as QGroundControl, companion computers, and MAVSDK-based applications. MAVLink is the common language that ties the PX4 ecosystem together: the GCS speaks it, the onboard companion computer speaks it, and third-party integrations depend on it.Drone Components at a Glance
A complete PX4 drone system involves several hardware layers working together:| Component | Role |
|---|---|
| Flight controller | Runs PX4 firmware; reads sensors; drives actuators |
| Sensors (gyro, accelerometer, barometer, GPS, compass) | Provide state estimation for stabilization and navigation |
| ESCs and motors | Convert FC output signals into motor speed |
| RC transmitter / receiver | Allow a pilot to send manual control inputs |
| Telemetry radio | Bidirectional MAVLink link to QGroundControl |
| Battery and power module | Power the entire system; report voltage and current to PX4 |
| SD card | Log flight data; required for missions and some peripherals |
| Payload (camera, sensor, cargo) | The mission-specific equipment the drone carries |
A companion computer (also called a mission computer or offboard computer) is a separate onboard Linux computer that runs alongside PX4 to provide higher-level capabilities: computer vision, advanced networking, ROS 2 integration, and custom autonomy logic. The companion computer communicates with PX4 over MAVLink or the PX4 ROS 2 Control Interface. Some boards integrate the companion computer and flight controller on a single baseboard; others connect them via serial cable or Ethernet.
Arming and Disarming
PX4 uses the concept of arming to control when motors are powered:- Disarmed — all motors and actuators are unpowered. This is the default state on the ground.
- Prearmed — servo actuators are powered but motors are not (primarily used for testing).
- Armed — all motors and actuators are powered and ready to spin.
Safety and Failsafes
PX4 includes a configurable failsafe system that automatically takes protective action when something goes wrong. Failsafe triggers include:- Low battery
- RC signal loss
- GPS / position estimate loss
- Loss of connection to a companion computer (Offboard loss)
- Loss of telemetry link to the GCS
- Geofence breach