ArduPilot Methodic Configurator is a PC software designed by ArduPilot developers to simplify the configuration of ArduPilot vehicles. Its graphical user interface (GUI) manages, edits and visualizes parameter files, as well as uploads parameters to the vehicle. It automates the tasks described in the How to methodically tune any ArduCopter tuning guide.
This user manual gives a general overview of the software functionality. There are also quick start instructions, specific use case instructions, and frequently asked questions.
⚠️ IMPORTANT: If you will connect a flight controller, connect it to the PC and wait at least 7 seconds before
starting the software. You can also work offline or create a project from a .bin log without connecting one.
💡 TIP: Have your vehicle’s component documentation ready (motor specifications, ESC type, etc.)
Don’t worry! It looks more complicated than it actually is. And you do not need to understand the diagram to use the software.
flowchart TD
A[Start AMC] --> B{.bin log on command line?}
B -->|Yes| M
B -->|No| C
subgraph "Step 1: Connect to Vehicle (optional)"
C{Connect to Flight Controller?} -->|Yes| D{Auto-Detect?}
D -->|Yes| E[Download FC Info and Parameters]
D -->|No| F[Manual Connection]
F --> E
C -->|No, work offline| G[Continue without FC]
end
subgraph "Step 2: Select or Create Project"
E --> H{Existing Project?}
G --> H
H -->|Yes| I[Open Vehicle Directory]
H -->|No| J{Create from?}
J -->|Configured FC, if connected| K[Create from Configured FC]
J -->|Template| L[Select Template]
L --> N[Create New Project]
J -->|.bin log| M[Create from .bin Log]
end
subgraph "Step 3: Edit FC Components"
O[Component Editor] --> P[Validate Components]
P --> Q{Valid?}
Q -->|No| O
end
subgraph "Step 4: Edit FC Parameters"
R[Parameter Editor] --> S[Configure Parameters]
S --> T{Advance how?}
T -->|Upload to FC| U[Upload Selected Parameters]
T -->|Skip or work offline| V[Skip Parameter File]
U --> W{Experiment Required?}
W -->|Yes| X[Close AMC]
X --> Y[Perform Experiment/Flight]
Y --> Z[Start AMC]
Z --> AA[Read Results from FC]
AA --> AB[Write Results to File]
AB --> AC{More Files?}
W -->|No| AC
V --> AC
AC -->|Yes| R
AC -->|No| AD[Generate Summary]
AD --> AE[Configuration Complete]
end
I --> R
K --> O
M --> O
N --> O
Q -->|Yes| R
R -->|Edit vehicle components| O
If the diagram above does not display correctly look here
This section guides you through the complete configuration process. Follow these steps in order:
If the software successfully auto-detects your flight controller, it skips the connection selection window and downloads the flight controller information and parameters. You then select or create a project if needed (Step 2). If a project was supplied or found in the working directory, it proceeds directly to the parameter editor (Step 4).
The connection selection interface is only presented if auto-connection fails or if no flight controller is detected.
You can also continue without a flight controller and edit a project offline. With --bin-log, AMC skips the connection
and project selection windows, creates a project from the log, and opens the component editor (Step 3).
This interface allows users to select or add a connection to a flight controller if one was not yet auto-detected.

It provides three main options for connecting to a flight controller:
Choose your connection method:
This option automatically detects and connects to your flight controller.
Manually specify your connection details.
COM3 (Windows) or /dev/ttyUSB0 (Linux)tcp:192.168.1.100:5760Use this setup to keep Mission Planner connected to the vehicle while AMC reads and changes parameters through Mission Planner. Mission Planner sends UDP traffic outbound; AMC listens for that traffic.
Press Ctrl-F to open Mission Planner’s auxiliary tools window (titled temp).

In the forwarding window, configure an outbound UDP connection:

| Setting | Value when both applications run on the same PC |
|---|---|
| Type / Protocol | UDP |
| Direction | Outbound |
| Port | 14600 |
| Extra / Destination IP | 127.0.0.1 |
| Write | Enabled / True |
If your Mission Planner version uses a connection dropdown instead of a table, select UDP Client, enable Write, and enter the same destination IP and port when prompted.
In AMC’s Manual connection section, open the Port dropdown and select Add another.

Enter udpin:0.0.0.0:14600 in the Flight Controller Connection dialog, then click OK.
AMC will connect and retrieve the flight controller information and parameters.

For advanced users, AMC can also be started from a terminal with an explicit listening connection,
if its command is available on PATH:
ardupilot_methodic_configurator --device="udpin:0.0.0.0:14600"
Save this connection in a desktop shortcut: On Windows, right-click the AMC desktop shortcut,
select Properties, and open the Shortcut tab. In Target, keep the existing executable
path (including its quotes), then append a space followed by --device="udpin:0.0.0.0:14600".
Click Apply, then OK. AMC will use this connection every time you launch that shortcut;
Mission Planner must still be connected and forwarding.
You can also copy the shortcut and name it AMC - Mission Planner, leaving the original unchanged for other connections. Each shortcut can have different connection, project and startup settings. See Pro Tip: Desktop Shortcuts for more examples.
Important:
127.0.0.1 is Mission Planner’s destination when both applications run on the same PC.
0.0.0.0 tells AMC to listen on all local IPv4 interfaces; it is not a destination address.
For same-PC-only listening, use udpin:127.0.0.1:14600 instead.14600 for this forwarding connection to avoid conflicts with port 14550,
which may already be used by Mission Planner or another MAVLink application.
If port 14600 is already in use, select another free port in both applications.
The baudrate setting does not affect UDP connections.--device selects the supplied endpoint directly without requiring auto-discovery.
If connection fails, that endpoint remains available in AMC’s connection selector for retrying.Work with parameter files without connecting to hardware.
If a flight controller is connected the software will now get information from it. The information is presented in the corresponding window and at the same time all flight controller parameters are downloaded to the PC.

This interface allows users to select a vehicle directory that contains intermediate parameter files for ArduPilot
if one was not specified with the --vehicle-dir command line parameter and if no configuration files were found in the current working directory.

It provides three main options for selecting a vehicle directory:
Create a new vehicle configuration directory from a template, an already configured flight controller, or a .bin log file.
When a correctly configured flight controller is connected, you can create a project directly from it:
00_default.param.xx_imported_flight_controller_parameters.param file for review.
Open an existing vehicle configuration directory that already contains intermediate parameter files. It’s useful for editing an existing vehicle configuration.
... button to select the existing vehicle directory containing the intermediate parameter files.Re-open the last used vehicle configuration directory.

Create a new vehicle configuration directory by copying files from an existing template directory. It’s useful for setting up a new vehicle configuration quickly.
... button to select the existing vehicle template directory containing the intermediate parameter files to be copied.
Use the overview window to select the template that better matches the components of your vehicle.

Use parameter values from connected FC, not from template files
will use the parameter values from the flight controller instead.... button to select the existing directory where the new vehicle directory will be created.This workflow is intended for a vehicle whose flight controller is already configured. It creates a new project using the live flight controller values and hardware information, while selecting the matching empty firmware template automatically.

00_default.param. Values that differ from the template
baseline are written to xx_imported_flight_controller_parameters.param.If you have an ArduPilot .bin log file recorded by a correctly running vehicle, the software can
build a complete project from it — no physical flight controller connection required.
.bin log file.VER (or MSG) record.ArduCopter/empty_4.6.x)..bin extension).00_default.param.xx_imported_bin_log_parameters.param for any current values that differ from the
template’s parameter files, giving you a clear delta to review.vehicle_components.json.Here you specify the components of your vehicle, their properties and how they are connected to the flight controller.

On the left with simple GUI complexity for beginners, on the right with normal GUI complexity.
Change every field to match your vehicle’s.
When finished press the Save data and start configuration button.
The software will validate your input.
If issues are found the problematic fields’ background will be marked in red color.
Correct those entries and press the Save data and start configuration button again.
Here you sequentially configure the parameters of your flight controller to meet your needs while having all the available documentation at your fingertips.
For exporting the current flight-controller values, see the Flight-Controller Parameter Export guide.


The GUI complexity (simple or normal) is selected in the vehicle component editor window when creating a project. The normal layout is explained below, the simple layout is similar but has less elements.
When you open an existing project, AMC goes directly to the parameter editor. Use the Edit vehicle components button there to review or change the project’s component information.
Do this in a loop until the software tells you the process is finished and automatically closes:
.paramCurrent intermediate parameter file: combobox to select an intermediate parameter file.00_default.param will be selected by defaultFor more details on intermediate parameter files, see Intermediate Parameter Files.
When you click the ArduPilot logo the following window will appear:

This segmented bar shows the progress in the vehicle configuration sequence.
The progress bar is updated automatically when you upload an intermediate parameter file to the flight controller or
select a different intermediate parameter file in the Current intermediate parameter file: combobox above it.
The steps are grouped into phases and optional phases are greyed-out.
There are mouse-over hints for each phase.


Del button that deletes the parameter in this row from the current intermediate parameter file.Current Value column.
N/A on an orange background🟧vehicle_template directory are just examples.
New Value and Change Reason entries for each parameter.Change Reason so that other users understand why you changed the parameter to that particular New valueUpload checkbox to select parameters to be uploaded to the flight controllerAdd button adds a parameter to the current intermediate parameter file.Annotate parameter metadata information into the parameter files in the form of comments preceding the respective parameter. It will create bigger and harder-to-compare parameter files but is more suitable for text editor editing.
Upload selected params to FC, and advance to next param file
button to upload the (Upload checkbox) selected parameters to the flight controller.New Value and Change Reason will be written to the current intermediate parameter file, irrespective of the Upload checkboxesSkip parameter file button.Once all the intermediate parameter files have been processed, the ArduPilot Methodic Configurator will display a summary message box.
In other words when the last available intermediate parameter file is selected (see
2. Select an Intermediate Parameter File) and either
Upload selected params to FC, and advance to next param file or Skip parameter file button is pressed.
This message box provides a comprehensive overview of the configuration process, including the number of parameters that were kept at their default values,
the number of non-default read-only parameters that were ignored, and the number of non-default writable parameters that were updated.

The summary message box will also categorize the writable parameters into four groups:
pie title Summary files example
"Unchanged parameters" : 728
"Non-default read-only parameters - non-default_read-only.param" : 8
"Non-default writable sensor calibrations - non-default_writable_calibrations.param" : 71
"Non-default writable IDs - non-default_writable_ids.param" : 3
"Non-default writable non-sensor-calibrations, non-IDs - non-default_writable_non-calibrations_non-ids.param" : 217
"Reusable parameters, including defaults - reusable.param" : 945
If the diagram above does not display correctly look here
Unchanged parameters: These parameters are left unchanged and are displayed on a light blue background 🟦.
Non-default read-only parameters: These parameters are read-only and cannot be changed. They are typically related to system configurations that can not be modified and are displayed on a red background 🟥.
Non-default writable sensor calibrations: These parameters are vehicle-instance dependent and cannot be reused between similar vehicles. They are typically related to sensor calibration and should be adjusted for each vehicle and are displayed on a yellow background 🟨.
Non-default writable IDs: These parameters are vehicle-instance dependent and cannot be reused between similar vehicles.
Non-default writable non-sensor calibrations, non-IDs parameters: These parameters can be reused between similar vehicles. They are not related to sensor calibration and are generally applicable to a range of vehicles with the same configuration.
After the summary message box is displayed, the application will write the summary information into separate files for easy reference and documentation. These files include:
complete.param: Contains all parameters contained in the flight controller.non-default_read-only.param: Contains all non-default read-only 🟥 parameters. You can ignore these.non-default_writable_calibrations.param: Contains all non-default writable sensor calibration 🟨 parameters. These are non-reusable.non-default_writable_ids.param: Contains all non-default writable IDs. These are non-reusable.non-default_writable_non-calibrations_non-ids.param: Contains all non-default writable non-sensor-calibration, non-IDs parameters. These are reusable across similar vehicles.reusable.param: the same as above, but includes (non-read only, non-calibration, non-IDs) default valuesThe summary files provide a clear overview of the changes made.
The files are also automatically zipped into a file with the same name as the vehicle directory, inside the vehicle directory.

Once the summary files are written, the application will close the connection to the flight controller and terminate.
*.param, *.json, *.jpg files to each directoryWhen manufacturing multiple vehicles of the same model, you can reuse most configuration files across instances. If you maintain high-quality standards that result in the production of multiple, nearly identical vehicles, only three parameter files are vehicle-specific:
03_imu_temperature_calibration_results.param14_mp_setup_mandatory_hardware.param32_inflight_magnetometer_fit_results.paramThe ArduPilot Methodic Configurator can be started from the command line. The command line interface provides several options to customize the behavior of the tool.
To use the command line interface, execute ardupilot_methodic_configurator on the command line.
Here is a list of command line options:
--skip-check-for-updates: Skip check for software updates before starting the software. Default is False.--baudrate BAUDRATE: MAVLink serial connection baudrate to the flight controller. Default is 115200--device: The MAVLink connection string to the flight controller. It defaults to autoconnection to the first available flight controller.--vehicle-dir: The directory containing intermediate parameter files. Defaults to the current working directory.
When explicitly supplied with --bin-log, it is the complete destination directory for the new project.--bin-log PATH: Create a new vehicle project from an ArduPilot .bin log file without
connecting to a flight controller. By default, the new project is created in the default vehicles directory.
An explicitly supplied --vehicle-dir instead selects the complete destination directory.--template-dir PATH: Optional template directory to use with --bin-log. If omitted,
AMC uses the empty template matching the vehicle type and major/minor firmware version extracted
from the log.
Bundled empty templates currently include:
ArduCopter/empty_4.5.xArduCopter/empty_4.6.xArduCopter/empty_4.7.xArduPlane/empty_4.7.xThese are the currently supported automatic defaults; for other vehicle and firmware
combinations, use --template-dir to provide a compatible template explicitly.
--n: Start directly on the nth intermediate parameter file (skip previous files). The default is 0.--loglevel: The logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL). The default is INFO.-t or --vehicle-type: The type of the vehicle.
Choices are ‘AP_Periph’, ‘AntennaTracker’, ‘ArduCopter’, ‘ArduPlane’, ‘ArduSub’, ‘Blimp’, ‘Heli’, ‘Rover’, ‘SITL’.
Without --bin-log, the default is ‘ArduCopter’. With --bin-log, the type is derived from the log unless -t is given.
With --bin-log, this value validates both the vehicle type reported by the log and the selected template, and records
the explicitly selected type in the new project (for example, Heli uses the compatible ArduCopter template).
SITL and AP_Periph are pseudo-types and cannot be used with --bin-log.-r or --reboot-time: Flight controller reboot time. The default is 7.-v or --version: Display version information and exit.# Simplest form - auto-detect flight controller and use current directory
ardupilot_methodic_configurator
# Windows - specify COM port and project directory
ardupilot_methodic_configurator --device="COM3" --vehicle-dir="C:\MyQuadcopter"
# Linux - specify USB device and project directory
ardupilot_methodic_configurator --device="/dev/ttyUSB0" --vehicle-dir="/home/user/MyQuadcopter"
# Network connection (SITL or network-connected FC)
ardupilot_methodic_configurator --device="tcp:127.0.0.1:5760" --vehicle-dir="/path/to/params"
.bin Log# Use the empty template inferred from the vehicle type and firmware in the log
ardupilot_methodic_configurator --bin-log="C:\logs\flight.bin"
# Use a specific template directory instead of the inferred empty template
ardupilot_methodic_configurator --bin-log="C:\logs\flight.bin" --template-dir="C:\templates\Holybro_X500"
After the project is created from the log, AMC continues through the normal GUI workflow: the Vehicle Component Editor opens first, followed by the parameter editor and uploader.
# Existing projects open directly in the parameter editor
ardupilot_methodic_configurator --vehicle-dir="C:\MyDrone"
# Start from specific parameter file (skip earlier steps)
ardupilot_methodic_configurator --n=5 --vehicle-dir="C:\MyDrone"
# Combine options when opening an existing project
ardupilot_methodic_configurator --device="COM3" --vehicle-dir="C:\MyDrone" --n=3
# Fixed-wing aircraft
ardupilot_methodic_configurator -t ArduPlane --vehicle-dir="C:\MyPlane"
# Rover/boat
ardupilot_methodic_configurator -t Rover --vehicle-dir="C:\MyRover"
# Helicopter
ardupilot_methodic_configurator -t Heli --vehicle-dir="C:\MyHeli"
# Enable debug logging for troubleshooting
ardupilot_methodic_configurator --loglevel=DEBUG --vehicle-dir="C:\MyDrone"
# Skip update check (for offline use)
ardupilot_methodic_configurator --skip-check-for-updates --device="COM3"
# Combine debugging options
ardupilot_methodic_configurator --loglevel=DEBUG --skip-check-for-updates --device="COM3"
Create multiple desktop shortcuts for different projects or connection settings.
On Windows, copy an existing AMC shortcut, rename it, then right-click it and select
Properties → Shortcut. Append the desired options to Target, after the existing
executable path and a separating space. Keep any quotes around the executable path.
Click Apply, then OK to save the options for every launch of that shortcut.
If an option such as --device is already present, replace its value rather than adding it twice.
For example, a shortcut named AMC - Mission Planner can append
--device="udpin:0.0.0.0:14600" to use the
Mission Planner forwarding connection.
Keep a separate shortcut without this option for automatic connection detection.
Shortcut 1 (MyQuadcopter):
Target: ardupilot_methodic_configurator.exe --device="COM3" --vehicle-dir="C:\MyQuadcopter"
Shortcut 2 (MyPlane):
Target: ardupilot_methodic_configurator.exe --device="COM4" --vehicle-dir="C:\MyPlane" -t ArduPlane
For more detailed information on command line options, run:
ardupilot_methodic_configurator --help
This will show a list of all available command line options along with a brief description of each.
For command line completion setup, see the Installation Guide.
To speed up the startup of the ArduPilot methodic configurator, consider the following tips, presented from most to least effective:
All of these can be either added in the command line as a parameter, or in the “properties > link > target” of the desktop icon. Use an empty space to separate each option.
--device <devicename> this explicitly connects to <devicename> skipping the auto-detection process.--vehicle-dir <vehicle-directory> this explicitly looks for project files in <vehicle-directory> saving you the trouble to
manually select it in the GUI.--n <number> this will skip directly to step number <number> so that you do not need to skip the previous steps--skip-check-for-updates this saves very little time on startup, but you can skip it using this.Pro tip: create multiple desktop icons, each one with a different project and or configuration.
Issue: “No flight controller detected” or auto-connect fails
Solutions:
Issue: “Connection lost during operation”
Solutions:
Issue: “Parameter file not found” or “Invalid parameter file”
Solutions:
extract_param_defaults if 00_default.param is missingIssue: “Parameter upload failed” or “Parameter validation error”
Solutions:
Issue: “Component validation failed”
Solutions:
Issue: Software crashes or freezes
Solutions:
--loglevel DEBUG for more informationIssue: GUI elements not displaying correctly
Solutions:
For detailed support information, troubleshooting guidance, and how to report issues, see the Support Guide.
For detailed installation instructions and installer security verification, see the Installation Guide.
For comprehensive answers to common questions about the ArduPilot Methodic Configurator, please see our dedicated FAQ document.
The FAQ covers:
💡 Quick Access: View Complete FAQ →
ArduPilot: Open-source autopilot software suite for unmanned vehicles, providing autonomous flight capabilities
Bitmask Parameter: A parameter where each bit represents a different option that can be enabled/disabled independently
Component Editor: Interface for specifying vehicle hardware components and their connections to the flight controller
ESC: Electronic Speed Controller - controls motor speed based on flight controller commands
FC: Flight Controller - the main computer hardware that runs ArduPilot firmware and controls the vehicle
Firmware: The ArduPilot software program running on the flight controller hardware
Flight Mode: Different operational modes of the vehicle (Manual, Stabilize, Auto, etc.)
IMU: Inertial Measurement Unit - sensors that measure acceleration and rotation (accelerometer + gyroscope)
Intermediate Parameter File: A .param text file containing a subset of parameters for a specific configuration step
MAVLink: The communication protocol used between ground control software and flight controllers
Parameter: A configuration value that controls flight controller behavior (over 1200 available)
Parameter Documentation: Detailed descriptions of what each parameter controls, including valid ranges and units
Parameter Template: A pre-configured set of parameter files for a specific vehicle type or configuration
PID Controller: Proportional-Integral-Derivative controller used for flight stabilization and navigation
SITL: Software In The Loop - ArduPilot simulation environment for testing without hardware
Template Directory: Folder containing pre-configured parameter files that can be copied for new vehicle setups
Vehicle Instance: A specific physical vehicle with unique calibration parameters (vs. reusable template parameters)
Vehicle Type: The category of vehicle (ArduCopter, ArduPlane, etc.) that determines available parameters and features