# PX4 Autopilot User Guide (main)
(opens new window) (opens new window) (opens new window)
PX4 is the Professional Autopilot. Developed by world-class developers from industry and academia, and supported by an active world wide community, it powers all kinds of vehicles from racing and cargo drones through to ground vehicles and submersibles.
This guide contains everything you need to assemble, configure, and safely fly a PX4-based vehicle. Interested in contributing? Check out the Development section.
# How Do I Get Started?
Getting Started should be read by all users! It provides an overview of PX4, including features provided by the flight stack (flight modes and safety features) and the supported hardware (flight controller, vehicles, airframes, telemetry systems, RC control systems).
Depending on what you want to achieve, the following tips will help you navigate through this guide:
I already have a drone and I just want to fly:
If you have a Ready To Fly (RTF) vehicle that supports PX4:
- Basic Configuration explains how to update your firmware to the latest version, calibrate the main sensors (compass, gyro/IMU, airspeed etc.), and setup your remote control and safety features.
- Flying teaches flight essentials, including where and how to fly safely, and how to debug arming and flight issues. It also provides detailed information about flight modes.
I want to build a drone with PX4 from scratch:
The "supported" vehicles are listed in the Airframes Reference. These are vehicles that have tested and tuned configurations that you can download using QGroundControl.
If you want to build a vehicle from scratch:
- Choose a frame - Airframe Builds lists the supported frames and provides detailed instructions for how to construct a subset of vehicles.
- Choose a flight controller - see Getting Started > Flight Controllers and Autopilot Hardware.
- Assembly explains how to wire up the important peripherals to your autopilot.
- Basic Configuration shows how to update your firmware and configure it with settings appropriate for your airframe. This section also explains how to calibrate the main sensors (compass, gyro/IMU, airspeed etc.), and setup your remote control and safety features.
Once you are ready to fly your vehicle, visit the Flying section.
I want to add payload or a camera:
The payloads section describes how to add a camera or how to configure PX4 to enable you to deliver packages.
- Payloads describes how to integrate payloads
I am modifying a supported vehicle:
Modifications of the flight controller and basic sensors are covered above. In order to use new sensors, or if you have made changes that significantly affect flight characteristics:
- Peripheral Hardware provides additional information about using external sensors.
- Basic Configuration explains how to calibrate the main sensors.
- Advanced Configuration should be used to re/fine-tune the airframe.
I want to run PX4 on new hardware and extend the platform:
- Development explains how to support new airframes and types of vehicles, modify flight algorithms, add new modes, integrate new hardware, communicate with PX4 from outside the flight controller, and contribute to PX4.
# Getting Help
The Support page explains how to get help from the core dev team and the wider community.
Among other things it covers:
# Reporting Bugs & Issues
If you have any problems using PX4 first post them on the support forums (as they may be caused by vehicle configuration).
If directed by the development team, code issues may be raised on Github here (opens new window). Where possible provide flight logs and other information requested in the issue template.
Information on how to contribute to code and documentation can be found in the Contributing section:
There are several translations of this guide. You can access these from the Languages menu (top right):
PX4 code is free to use and modify under the terms of the permissive BSD 3-clause license (opens new window). This documentation is licensed under CC BY 4.0 (opens new window). For more information see: Licences.
# Calendar & Events
The Dronecode Calendar shows important community events for platform users and developers. Select the links below to display the calendar in your timezone (and to add it to your own calendar):
- Switzerland – Zurich (opens new window)
- Pacific Time – Tijuana (opens new window)
- Australia – Melbourne/Sydney/Hobart (opens new window)
The calendar default timezone is Central European Time (CET).
The following icons used in this library are licensed separately (as shown below):
placeholder icon made by Smashicons from www.flaticon.com is licensed by CC 3.0 BY.
camera-automatic-mode icon made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.
The PX4 flight stack is hosted under the governance of the Dronecode Project (opens new window).