You can fly PX4 in simulation without any hardware in two ways: pull a pre-built Docker image for the fastest possible start, or build PX4 from source for full control over the flight stack. Either path ends the same way — QGroundControl connects automatically and you fly a simulated vehicle using the same interface you would use with real hardware.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.
Choose your path
- Docker (fastest)
- Build from source
The Docker path requires no build environment setup. Install Docker, run one command, and open QGroundControl.Other vehicle typesPass the
Install Docker
Install Docker Desktop for your platform (Linux, macOS, or Windows). On Linux, also add your user to the
docker group so you can run containers without sudo:Run the PX4 SITL container
Pull and start the pre-built PX4 SITL image. This launches a quadrotor simulation using the SIH simulator (no external rendering dependencies):The container publishes MAVLink heartbeats on UDP port 14550. Leave this terminal open.
Open QGroundControl
Download and launch QGroundControl. It listens on UDP port 14550 by default and connects to the simulated vehicle automatically within a few seconds.
PX4_SIM_MODEL environment variable to try different airframes:The Docker image uses the SIH (Simulation-In-Hardware) simulator, which runs entirely inside PX4 with no external dependencies. For Gazebo with 3D rendering, follow the build-from-source path.
Verify the connection
Once PX4 SITL is running, confirm that QGroundControl has connected:- The vehicle icon appears on the map at the default home position.
- The top toolbar shows “Ready to Fly” or a disarmed status message.
- The telemetry panel displays battery percentage, GPS fix, and flight mode.
Available make targets
The general syntax formake targets is:
| Command | Simulator | Vehicle |
|---|---|---|
make px4_sitl | SIH (headless) | Quadrotor |
make px4_sitl gz_x500 | Gazebo | x500 quadrotor |
make px4_sitl gz_rc_cessna | Gazebo | Fixed-wing plane |
make px4_sitl gz_standard_vtol | Gazebo | Standard VTOL |
make px4_sitl gz_rover_ackermann | Gazebo | Ackermann rover |
make px4_sitl jmavsim | jMAVSim | Quadrotor |
Next steps
Gazebo simulation
Full vehicle list, world configuration, multi-vehicle setup, and ROS 2 integration with Gazebo.
Simulation overview
SITL vs HITL, simulator comparison, MAVLink port architecture, and remote server setup.