MCPcopy Index your code
hub / github.com/ArduPilot/MethodicConfigurator

github.com/ArduPilot/MethodicConfigurator @v4.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.3.0 ↗ · + Follow
7,317 symbols 26,684 edges 247 files 5,970 documented · 82%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Correctly configure ArduPilot for your vehicles on your first attempt

Lint Quality Test Security Deploy Maintain
Pylint Codacy Badge pytest status Known Vulnerabilities pages-build-deployment Average time to resolve an issue
test Python cleanliness OpenSSF Best Practices Pytest tests CodeQL Upload MethodicConfigurator Package Percentage of issues still open
mypy REUSE status Coverage Status gitavscan pypi python versions
Pyright md-link-check Coverity Scan Build Status OpenSSF Scorecard PyPI - Downloads Code Climate
markdown-lint pre-commit Discord Windows Build Update Flight Controller IDs

ArduPilot Methodic Configurator is a software, developed by ArduPilot developers, that semi-automates a clear, proven and safe configuration sequence for ArduCopter drones. We are working on extending it to ArduPlane, Heli and Rover vehicles. But for those it is still very incomplete.

  • clear: the semi-automated sequence is linear, executed one step at the time with no hidden complex dependencies
  • proven: the software has been used by hundreds of ArduPilot developers and users. From beginners to advanced. On big and small vehicles.
  • safe: the sequence reduces trial-and-error by following established best practices and reduces the amount of flights required to configure the vehicle
  • Parameter management: Upload, download, and edit parameters with full documentation
  • Vehicle templates: Start from empty templates or from pre-configured settings for common vehicle types
  • Traceability: Documents every parameter change with reasons

Here are some YouTube video tutorials from the AMC YouTube Channel:

YouTube tutorial - intro YouTube tutorial - usecase

YouTube tutorial - beginners

And here is a presentation explaining it:

ArduPilot methodic configurator power point presentation

Comparison with Ground Control Station (GCS) software, traditionally used to configure ArduPilot before AMC existed:

Feature Mission Planner, QGroundControl, ... etc ArduPilot Methodic Configurator
full automatic configuration No No
configuration type manual [^1] semi-automated [^2]
explains what to do No Yes
explains when to do something No Yes, explains the path
explains why do something No Yes
configuration method a different menu for each task, some tasks have no menu, so you need to dig into the 1200 parameters each task only presents you a relevant subset of parameters
parameter documentation Yes, only on the full-parameter tree view Yes
displays relevant documentation No Yes
makes sure you do not forget a step No Yes
checks that parameters get correctly uploaded No (MP), unsure (QGCS), yes (MAVProxy) Yes
reuse params in other vehicles No, unless you hand edit files Yes, out-of-the-box
documents why you changed each parameter No Yes
tutorials and learning resources No, scattered and not integrated Yes, context-aware help integrated
auto. install lua scripts on the FC No Yes
auto. backup of parameters before changing them No Yes

[^1]: you need to know what/when/why you are doing [^2]: it explains what you should do, when you should do it and why

It's simple graphical user interface (GUI) manages and visualizes ArduPilot parameters, parameter files and documentation.

Application Screenshot

No visible menus, no hidden menus, no complicated options, what you see is what gets changed.

Star History

Star History Chart

Table of Contents

Quick Start

What You'll Accomplish

By the end of this process, your flight controller will be fully configured with:

  • ✅ All parameters optimized for your specific vehicle
  • ✅ Complete documentation of every change made
  • ✅ Backup files for easy restoration
  • ✅ Ready-to-fly configuration

Important Tips for Success

💡 Pro Tips:

  • Take your time: Read parameter descriptions - they contain valuable insights
  • Test incrementally: The step-by-step approach allows testing between changes
  • Keep backups: The software creates them automatically in the vehicle project directory
  • Document changes: Always fill in the "Change Reason" field - future you will thank you

⚠️ Common Mistakes to Avoid:

  • Rushing through steps: Each parameter has a purpose - understand before changing
  • Skipping component validation: Incorrect component settings can cause crashes
  • Ignoring warnings: Red backgrounds and error messages are there for your safety
  • Forgetting calibrations: Some parameters require physical calibration procedures:
  • IMU temperature, analog voltage and current measurement, gyro, accelerometers

1. Quick overview of the entire process

To methodically build, configure and tune ArduPilot vehicles follow this sequence of steps:

1.1 Select the vehicle components

Core symbols most depended-on inside this repo

get_component_value
called by 270
ardupilot_methodic_configurator/data_model_vehicle_components_base.py
set_component_value
called by 244
ardupilot_methodic_configurator/data_model_vehicle_components_base.py
items
called by 241
ardupilot_methodic_configurator/backend_mavftp.py
append
called by 224
ardupilot_methodic_configurator/data_model_par_dict.py
pack
called by 206
ardupilot_methodic_configurator/backend_mavftp.py
info
called by 180
ardupilot_methodic_configurator/backend_flightcontroller.py
write
called by 168
ardupilot_methodic_configurator/backend_flightcontroller_connection.py
show_tooltip
called by 81
ardupilot_methodic_configurator/frontend_tkinter_show.py

Shape

Method 5,298
Function 892
Class 851
Route 276

Languages

Python100%

Modules by API surface

tests/test_data_model_motor_test.py212 symbols
tests/test_data_model_parameter_editor.py205 symbols
tests/unit_backend_internet.py144 symbols
tests/test_backend_flightcontroller_connection.py142 symbols
tests/test_frontend_tkinter_parameter_editor.py132 symbols
tests/test_data_model_vehicle_components_import.py122 symbols
tests/test_backend_filesystem_configuration_steps.py117 symbols
tests/test_frontend_tkinter_component_editor_base.py114 symbols
tests/test_backend_filesystem_vehicle_components.py110 symbols
tests/test_data_model_vehicle_components_validation.py107 symbols
tests/test_frontend_tkinter_parameter_editor_table.py104 symbols
tests/test_frontend_tkinter_base_window.py99 symbols

For agents

$ claude mcp add MethodicConfigurator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact