PX4 uses a centralized parameter system to control nearly every aspect of vehicle behavior — from sensor fusion weights to arming checks to maximum velocity limits. Parameters are typed values (32-bit integer or 32-bit float) stored persistently in EEPROM or on the SD card, so they survive power cycles. You can read and write parameters through QGroundControl, the MAVLink protocol, the NuttX system console, or programmatically from any companion computer.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.
Most day-to-day parameters — such as those set during sensor calibration or airframe selection — are written automatically by QGroundControl’s setup wizards. Use the raw Parameters screen only when you need to modify values that do not have a dedicated QGC interface.
How parameter storage works
PX4 stores the authoritative copy of all parameters on the flight controller itself. On NuttX-based controllers the values are written to EEPROM or a dedicated partition on the SD card. On Linux-based controllers (Raspberry Pi, Snapdragon) they are written to a file at a configurable path. When PX4 boots, the firmware reads saved parameters and applies them. If no saved value exists for a parameter, PX4 uses the compiled-in default. The parameter system supports atomic saves — a write either completes fully or the previous value is kept — preventing corruption from unexpected power loss.- EEPROM (NuttX)
- SD card
Flight controllers such as Pixhawk 4, Cube Orange, and similar boards store parameters in internal EEPROM. The maximum storage size is 4 KB (
PARAM_FILE_MAXSIZE). Parameters persist across firmware upgrades unless you explicitly reset them.Viewing and changing parameters in QGroundControl
Open QGroundControl and navigate to Q icon > Vehicle Setup > Parameters. The screen shows all parameters grouped by functional module. You can search by name, description, or partial string.Open the Parameters screen
Connect your vehicle via USB or telemetry radio. Click the Q icon in the top-left corner, choose Vehicle Setup, then click Parameters in the left sidebar.
Find a parameter
Type a name or keyword into the Search field. For example, type
EKF2_AID to filter to all EKF2 aiding source parameters. Check Show modified only to see only parameters that differ from firmware defaults.You can also expand parameter groups on the left to browse by functional area (e.g., Multicopter Position Control, VTOL, EKF2).Change a value
Click any parameter row to open the edit dialog. The dialog shows the current value, the valid range, units, and a description. Enter the new value and click Save.The value is immediately uploaded to the vehicle. Some parameters take effect instantly; others require a reboot. QGC indicates when a reboot is required.
Changing parameters via MAVLink
You can set individual parameters from any MAVLink-capable ground station, companion computer, or script using thePARAM_SET message.
PARAM_REQUEST_READ with the parameter name. PX4 responds with a PARAM_VALUE message containing the current value, type, and total parameter count.
Parameter namespaces
PX4 parameters are organized by prefix. Understanding the namespaces helps you find the right parameter quickly.EKF2_ — Extended Kalman Filter
EKF2_ — Extended Kalman Filter
Controls the EKF2 navigation filter: which sensors it fuses, noise levels, and covariance reset triggers.
| Parameter | Type | Description |
|---|---|---|
EKF2_AID_MASK | int32 | Bitmask enabling aiding sources: GPS, optical flow, vision, barometer, etc. |
EKF2_GPS_DELAY | float | Estimated GPS measurement delay (ms) relative to IMU. |
EKF2_MAG_TYPE | int32 | Magnetometer fusion mode: automatic, 3-axis, or none. |
EKF2_HGT_REF | int32 | Primary height reference: barometer, GPS, range finder, or vision. |
MPC_ — Multicopter Position Control
MPC_ — Multicopter Position Control
Controls position and velocity setpoints, speed limits, and tilt constraints for multicopters.
| Parameter | Type | Description |
|---|---|---|
MPC_XY_VEL_MAX | float | Maximum horizontal velocity in Position mode (m/s). Default: 12 m/s. |
MPC_Z_VEL_MAX_UP | float | Maximum climb rate (m/s). Default: 3 m/s. |
MPC_Z_VEL_MAX_DN | float | Maximum descent rate (m/s). Default: 1 m/s. |
MPC_TILTMAX_AIR | float | Maximum tilt angle during flight (degrees). |
MC_ — Multicopter Attitude Control
MC_ — Multicopter Attitude Control
PID gains and rate limits for multicopter attitude and rate controllers.
| Parameter | Type | Description |
|---|---|---|
MC_ROLL_P | float | Roll angle proportional gain. |
MC_PITCH_P | float | Pitch angle proportional gain. |
MC_ROLLRATE_P | float | Roll rate proportional gain. |
MC_PITCHRATE_P | float | Pitch rate proportional gain. |
FW_ — Fixed-wing
FW_ — Fixed-wing
Attitude and position control parameters for fixed-wing aircraft, including L1 guidance and TECS.
| Parameter | Type | Description |
|---|---|---|
FW_AIRSPD_TRIM | float | Cruise airspeed setpoint (m/s). |
FW_AIRSPD_MIN | float | Minimum airspeed before stall warning (m/s). |
FW_L1_PERIOD | float | L1 lateral guidance period (s). Lower values = tighter tracking. |
FW_T_CLMB_MAX | float | Maximum climb rate commanded by TECS (m/s). |
COM_ — Commander (arming and failsafes)
COM_ — Commander (arming and failsafes)
Controls arming conditions, disarming behavior, and safety checks run by the commander module.
| Parameter | Type | Description |
|---|---|---|
COM_DISARM_LAND | float | Time (s) after landing before auto-disarm. Set to -1 to disable. |
COM_RC_LOSS_T | float | RC signal loss timeout (s) before triggering RC loss failsafe. |
COM_LOW_BAT_ACT | int32 | Action on low battery: warning, return, or land. |
COM_ARM_EKF_GPS | float | Maximum EKF2 GPS innovation threshold for arming. |
SYS_ — System
SYS_ — System
Board-level and firmware-level configuration including logging, autostart, and vehicle type.
| Parameter | Type | Description |
|---|---|---|
SYS_AUTOSTART | int32 | Airframe ID loaded on boot. Set by the Airframe selection wizard. |
SYS_HITL | int32 | Enable Hardware-in-the-Loop simulation mode. |
SDLOG_MODE | int32 | When logging starts: on arm, on boot, or externally triggered. |
Real parameter examples
The following parameters are commonly adjusted during initial setup and tuning.Saving, loading, and resetting parameters
QGroundControl provides a Tools menu (top-right of the Parameters screen) with the following options:| Action | Description |
|---|---|
| Refresh | Re-fetch all parameter values from the vehicle. |
| Reset all to firmware defaults | Restore every parameter to its compiled-in default value. |
| Reset to vehicle’s configuration defaults | Restore defaults for the currently selected airframe. |
| Save to file | Export all parameters to a .params file for backup or fleet replication. |
| Load from file | Upload a previously saved .params file to the vehicle. |
| Reboot Vehicle | Soft-reboot the flight controller (required after certain parameter changes). |