PX4 supports a wide range of unmanned vehicle types — from small racing quadcopters to large fixed-wing survey aircraft, hybrid VTOL platforms, and ground rovers. Every vehicle class shares the same core firmware and configuration pipeline: you select an airframe, calibrate sensors, assign actuators, and tune the controller. Understanding how the airframe system fits together helps you get your vehicle flying faster and with fewer surprises.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.
Supported vehicle classes
PX4 organizes vehicles into four primary classes. Each class has dedicated flight modes, controller logic, and configuration workflows.Multicopter
Quadcopters, hexarotors, octocopters, and other rotor-only frames. Best for hover tasks, close-range operations, and short missions requiring vertical takeoff and landing.
Fixed-Wing
Standard planes, flying wings, and V-tail aircraft. More efficient for long-range, high-speed, or high-endurance missions where a runway or hand-launch is acceptable.
VTOL
Vehicles that take off and land vertically but cruise like a fixed-wing aircraft. Three sub-types: standard VTOL (quadplane), tiltrotor, and tailsitter.
Rover
Ground vehicles with Ackermann, differential, or mecanum drive. Experimental in PX4 v1.16, requiring a custom firmware build separate from the standard image.
How the ROMFS airframe system works
Every airframe in PX4 is defined by a shell script stored in the ROMFS (Read-Only Memory File System) on the flight controller, underROMFS/px4fmu_common/init.d/airframes/. Each script carries a numeric ID and a human-readable name and calls param set-default to load values appropriate for that vehicle geometry — motor count, rotor positions, control surface assignments, PID gain defaults, and output mappings.
When you select an airframe in QGroundControl, PX4 runs the corresponding ROMFS script and applies those parameter defaults. You can then override individual parameters to fine-tune your specific hardware without modifying firmware.
Selecting a new airframe resets vehicle-specific parameters to their defaults. Save your current parameters first if you have existing custom tuning you want to preserve.
| ID | Name | Vehicle class |
|---|---|---|
4001 | Generic Quadrotor X | Multicopter |
6001 | Generic Hexarotor X | Multicopter |
2100 | Generic Standard Plane | Fixed-wing |
3000 | Generic Flying Wing | Fixed-wing |
13000 | Generic Standard VTOL | VTOL |
13100 | Generic VTOL Tiltrotor | VTOL |
50000 | Generic Rover Differential | Rover |
51000 | Generic Rover Ackermann | Rover |
52000 | Generic Rover Mecanum | Rover |
Pre-built vs. generic airframes
Use a named airframe for your specific model
Use a named airframe for your specific model
If your vehicle matches a specific entry in the airframe reference (for example, Holybro S500, NXP HoverGames, or Axial Trail Honcho), select it. Named airframes include pre-tuned PID gains and verified actuator mappings, so you often need only minor adjustments before flying.
Use a generic airframe for a custom build
Use a generic airframe for a custom build
When no specific entry exists, pick the Generic frame for your vehicle class and geometry (e.g., Generic Quadrotor X, Generic Standard Plane). You will need to configure actuator geometry manually and perform a full tune, but the generic defaults give you a safe starting point.
Add a new ROMFS airframe for repeating builds
Add a new ROMFS airframe for repeating builds
For recurring builds or open-source contributions, add a new shell script under
ROMFS/px4fmu_common/init.d/airframes/ in the PX4-Autopilot repository. The script sets all relevant parameters and is picked up automatically by the build system. Follow the PX4 developer documentation for the complete procedure.Basic setup workflow
Follow these steps to go from a new flight controller to a configured vehicle ready for its first flight.Install PX4 firmware
Open QGroundControl and navigate to Vehicle Setup > Firmware. Connect your flight controller via USB and allow QGroundControl to flash the latest stable PX4 release. For rover vehicles, note that rover support requires a custom firmware build — see the Rover page for details.
Select an airframe
Navigate to Vehicle Setup > Airframe. Browse by vehicle class, select the entry that best matches your frame geometry, then click Apply and Restart. PX4 loads the matching ROMFS parameter set and reboots.
Configure actuators
Go to Vehicle Setup > Actuators. Verify that motor positions, spin directions, and servo assignments match your physical wiring. Use the slider controls to test each actuator with propellers removed.
Calibrate sensors
Go to Vehicle Setup > Sensors and complete calibration for the accelerometer, gyroscope, and compass. For fixed-wing and VTOL aircraft, also calibrate the airspeed sensor. Follow the on-screen prompts for each step.
Configure radio and flight modes
Under Vehicle Setup > Radio, bind your RC transmitter and map channels to roll, pitch, yaw, and throttle. Then go to Vehicle Setup > Flight Modes to assign flight modes to switch positions. Include at minimum a manual or stabilized mode and one autonomous mode.
Calibrate ESCs (multicopter and VTOL)
If you are using PWM or OneShot ESCs, run the ESC calibration procedure under Vehicle Setup > Power before arming. DShot ESCs communicate digitally and skip this step.
Tune the controller
Use the Tuning section of QGroundControl or the vehicle-specific tuning guide for your frame type. For multicopters, start with Autotune. For fixed-wing, adjust TECS airspeed and climb rate parameters. For VTOLs, verify transition parameters before attempting mode switches.