New ArduPilot methodic configurator GUI

We created a python GUI application to edit the intermediate parameter files and upload them to the flight controller.

  • All GUI elements have meaningful mouse-over tool-tips.
  • All windows are resizable
  • The firmware dependent parameter documentation is automatically downloaded and embedded.
  • Validates min and max ranges, but allows users to override them.
  • It displays calibration parameters (FC instance dependent) in yellow.
  • Automatically detects parameter default values from the FC itself
    • Changes parameter background to blue if the current value matches the default value
  • If a reset is required because of a parameter change it automatically does it.
  • It reads back the parameters after writing and automatically validates if the write was successful.
  • Uses MAVFTP for fast parameter download
  • Has multiple templates for ArduCopter and ArduRover. ArduPlane will follow
  • Does as much automated operations as possible, only asks the user if it needs information

How can we improve it?

Windows and Linux Installation instructions are on the project main page

ArduPilot Methodic Configurator User Manual and quickstart guide

17 Likes

Hi @amilcarlucas , seems a great tool , thanks!
How can we test it to give you feedback? :slight_smile:

wow, looks great.

its to compare between 2 params files?

to setup firts time flight controller?

No, it directly compares the parameters on the flight controller with parameters on file(s)

It is to semi-automate the Methodic tuning Blog post, it replaces mission planner and a text editor.

1 Like

Does it save new files, or just edit the existing ones?

Is there a way to try it?

It edit the existing ones

Start out by making a copy of all files into a new directory as explained in the blog post

Them use the gui , after that you can still compare the two directories if you want

1 Like

Amilcar are you referring to this post?

I can’t find the location to download the configurator GUI from. Could you provide a link?

In any case, the core question I’d like to ask (since I can’t find the source code) is which GUI Python framework you used?

Thanks!

It is under development and the code is not available yet. The backend is separated from the frontend.
The existing frontend is tkinter but it can easily be replaced with something else

If you want some feature implemented, now is the best time to ask.

Really happy to see this taking shape. I firmly believe the way forward should be web apps. With proper permissions from the user, the browser can do a lot with connected peripheral hardware, and you can offload nearly all tasks to the client browser to keep the server backend pretty light.

2 Likes

Yes @Yuri_Rage that is the plan. First a python application, then a client side web application with serial/USB permissions and local filesystem access. The application is currently a filesystem backend, a serial communication backend and a tkinter frontend. All currently in python, using SCM concepts, the application is configured using :

  • an apm.pdef.xml file
  • a 00_default.param file extracted from a .bin log file
  • a .JSON file with documentation URL links
  • the intermediate parameter files contained in the Blog post
4 Likes

Hi @amilcarlucas , very interesting , as soon as it is ready let me know , and I will be very interested to give you feedback on its operation

1 Like

The new software for configuration automation is available:

feedback is welcome

2 Likes

@amilcarlucas
I was going to install the configurator you made but have ran into this error on windows 11
“C:\Users\XXX\Documents\MethodicConfigurator>pip install ardupilot_methodic_configurator
ERROR: Could not find a version that satisfies the requirement ardupilot_methodic_configurator (from versions: none)
ERROR: No matching distribution found for ardupilot_methodic_configurator”
I am not entirely sure how to proceed, do you have any clues?

Yes, that is expected.

Use git clone instead

I did use git clone to clone it (C:\Users\xxxx\Documents>git clone GitHub - ArduPilot/MethodicConfigurator: A clear ArduPilot configuration sequence)

Then just run it, you do not need the pip install

Please re-read the README.md carefully

Thank you for this Amilcarlucas will download later or first thing in morning my half a brain cell will be overloaded and blow the main fuse or maybe I should dilute said half a cell with some of the magic Scotch Whisky only jesting

did you possibly change the readme Some users can not read, so remove this. It should be re-added later · ArduPilot/MethodicConfigurator@e712aa8 · GitHub
as I was following what you posted yet got those results, looks like they are more clear now!

@amilcarlucas

following the new instructions I get the following error on windows 11:
C:\Users\xx\Documents\MethodicConfigurator>python3 ardupilot_methodic_configurator.py
Traceback (most recent call last):
File “C:\Users\xx\Documents\MethodicConfigurator\ardupilot_methodic_configurator.py”, line 24, in
from backend_flightcontroller import FlightController
File “C:\Users\xx\Documents\MethodicConfigurator\backend_flightcontroller.py”, line 82, in
class FlightController:
File “C:\Users\xx\Documents\MethodicConfigurator\backend_flightcontroller.py”, line 165, in FlightController
def create_connection_with_retry(self, progress_callback, retries: int = 3, timeout: int = 5) → mavutil.mavlink_connection:
NameError: name ‘mavutil’ is not defined

please install pymavlink:

python -m pip install  pymavlink argparse pyserial typing