How to methodically configure and tune any ArduCopter

TLDR; this post moved to ardupilot.github.com

As of Mai 2024 this is the most liked post on this ArduPilot user forum, thanks for the likes :ok_hand:
But it is cumbersome to edit, limited to 64000 characters and the HTML link anchors change every time I add a new HTML anchor (heading or section).

To facilitate collaboration, and support other vehicles than ArduCopter I decided to move the contents to ardupilot.github.com. There I can receive github pull requests from collaborators to improve the guide and keep the software synced with it’s HTML anchors.
ArduPilot methodic configurator version 0.9.6 and up already uses the new guide.

The only regressions are:

  1. the new guide no longer tracks the amount of times an HTML link was followed, and
  2. the new guide no longer supports “likes”

But you can still like it here :stuck_out_tongue:

This thread will continue here as a way to discuss the method with forum users that do not have a github account and/or do not know what a pull-request is

Edit: Since Apr 26th 2025 there is also a Why? What? How? youtube video.

Edit2: Since May 15th 2025 there is also a
Use the ArduPilot Methodic Configurator software for the first time
youtube video.

100 Likes
Ardupilot Autotune Algorithm
Hexacopter initial tune and notch setup
Gps glitch and compass error in flight
Resonance issue with big UAV 70kg
RC CRSF Matek H743-SLIM V3
PreArm: RC not found. PreArm: Rangefinder 1: No Data
Pid oscillations
Looking for guidance triggering on/off scripts from the Controller
Choosing an autopilot for drone swarm
How To Tune Large Drone
IMU temperature calibration
Yaw tuning in 3inch quadcopter
How can I make the altitude more stable in autonomous flight?
Althold mode is good But in loiter mode Crushing
How to enable esc telemetry?
Motors won't spin up
Copter suddenly became very unstable
Quadcopter wobbling
During the flight yaw, pitch, roll, start to drift and leans
Ardupilot Logs data error
Heavy lifting drone 24s 600ah battery
Stability and fine tuning
Assistance for Persistent Oscillations in Drone Flight
My hexacopter can't maintain itself when braking
Please help to thi̇s begi̇nner drone maker!
No menus in APM or QGC on Macintosh
AltHold mode, drone climbs too fast
I Need Guidance on Fine-Tuning PID Parameters for Quadcopter Stability
HolyBro x500 V2 Setup Troubles
Methodical tuning Temp calibration
Drone feels underpowered in loiter mode
x8-Crash after adding new props
EKF Alarms and Toilet Bowl Yaw on Takeoff
Algorithm for setting up the first flight
Manual PID tuning vs Autotune, Which is better?
Loiter mode failure
Copter-4.4.0-beta1 available for beta testing
After Take off : Drone Drifting and Unresponsive RC Controls
How to build a 1 hour 250g Ardupilot quadcopter
Motor not spinning issue
Heavy copter (25kg) becomes unstable after encountering wind
Advices to build a hexacopter
Strange landing behavior, 4+1, hard landing wiht ranger finder
Arming without GPS
Heavy copter (25kg) becomes unstable after encountering wind
Autotune - crash!
Crash while Autotuning - Help to Diagnosis tuning issues w/ Telemetry logs
Motor Test Says Success But Motor Not Spinning
Drone Crashed while doing loiter speed about 7m/s or in normal winds
ArduCopter 20" tuning issue
PreArm: Gyros inconsistent 4.0.7
Wrong orientation help ...the copter directions is wrong
Using GPS here3 but Mission planner give a warning of "bad vision position"
Emergency Stop Motor Auxiliary function
It wobbles at some time only
DRONE YAWING When take off
TMotor Datalink v2 telemetry support?
Crash with ArduCopter v4.4.4 [battery caused, not caused by autotune]
Crash with ArduCopter v4.4.4 [battery caused, not caused by autotune]
PIxhawk V6X Octacopter
Yaw is faster in one direction
Drone tremors occur
Arducopter Drifting to a direction in AltHold mode
New Cube orange + Color difference
Pixhawk 2.4.8 Hexacopter flips at Take Off
Can't take-off - Potential thrust loss
DRONE YAWING When take off
Analytical Multicopter Flight Controller PID Optimization
FPV Racer - alt hold problems (including logs)
Please help to thi̇s begi̇nner drone maker!
4-1 ESC to Pixhawk 6C
Copter-4.5.0-beta1 available for beta testing!
MY 15kg quad not perfectly tunned even after enabling notch filter and tunning again
Underdamp roll and aggresive pitch in 30inch propeller quadcopter
Issues with compass calibration and high offsets
How to manualy tune the ATC_RAT_*_FF parameters in multicopters
Quad crashed after 3.5 minutes flight. Can't figure out why
Motor PWM variance in Quadcopter
AltHold mode, drone climbs too fast
DRONE YAWING When take off
Motor test challange
Throttle Response Issue on Arming with Matek H743-WLite and EMAX 20A ESC Setup
Problem getting ESCs to move motors and Potential Radio Problems?
IMU Temperature Calibration on an unheated board
Drone doesn't response to RC when ı use loiter mode
Tmotor Datalink support and autotune
Drone shutdown when transition from Stabilize to Position hold mode
Heavy Lift Quad Oscilates
Unstable vehicle in Loiter mode, CTUN.alt and .Balt graph doesn't match
Drone Crashes on Takeoff
Undesired yaw rotation
Help with harmonic notch filter
Configurar quadrocopter com a placa MatekH743
Parameter naming standards/guidelines
Esc calibration tab
Erratic Pitch input
Lag between attitude commands and response - Overpowered Drone
GPS: No Fix and Motor test not working
Large drone for agricultural processing, pid and all
Drone start reducing height in auto mode in 4.3.7 version
Radio Calibration & ESC calibration in Pixhawk2.4.8
Ask for help - final log review
Underpowered hexarotor is unstable and paning to left and crash after takeoff
My Quadcopter giving different response at different times
Drone wobble during landing and rtl
Wild ride after successful Auto-tune
How to choose a battery for a copter
Log Review: AUTO mission stopped in flight
Cube orange not maintaining altitude during mission
Pixhawk 6C Bdshot and Telemetry Questions
Drone oscillates at higher speed
The drone is not stable
Bad behaviour in navigation mode
Quad crash in althold
Practical experience using tuning guide of @amilcarlucas
The drone is not stable
Dramatic braking in PosHold and loiter modes and behavior in windy conditions
EKF lane changing
Bad behaviour in navigation mode
Need pid tuning ideas for 90kv t motor and 30 inch propeller
Loiter holds position nicely but navigation is weird
Can bheli 30a emax esc calibrate once?
Autotune in windy conditions?
New ArduPilot methodic configurator GUI
X11 plus weird sound from motor
Drone oscillation after take off
How to reduce Guided mode location tracking lag
Weird blip during flight
Cannot get my drone in air (dead battery, no tune)
Yaw control !!The yaw angle cannot be locked
Unstable at braking in Loiter mode
Large drone for agricultural processing, pid and all
Rate my vibration
What is the difference between Pixhawk 4 and Pixhawk 6C?
Drone oscillation after take off
Potential thrust loss motor 2
Quadcopter oscilates and loses control
PreArm Error, GPS No Fix Error etc
Why does not my PID changes in my drone affect my drone flight?
Windows 11 won't connect after flashing
Q-Autotune for ArduCopter 4.3.4
Vehicle heading not working in yawed direction
Drone flipped 180deg and Crashed
EKF Error While Trying to Autotune
IMU Temperature Calibration on an unheated board
Can't arm. PreArm: Battery 1 low voltage failsafe
Cannot get my drone in air (dead battery, no tune)
My Quadcopter giving different response at different times
My under 2kg quad starts vibrating after autotunning
ESC Telemetry MAMBA v Aikon
Vertical Oscillations in Loiter mode
Drone wobbles during flight
ESC RPM check not allowing takeoff
Unstable flight path
Throttle-Tracking Notch when flying with Mavlinks MANUAL_CONTROL
Copter build (second overall drone build) first with autopilot
Unstable in loiter mode when take off!
ESC RPM check not allowing takeoff
Observed wobbly behavior after MagFit calibration
Not disarming after landing
Help validating Notch Filters
Problems Getting Motors Running in Ardupilot
Heavy lift drone tune parameters
How to configure PID on PC6?
Cannot get my drone in air (dead battery, no tune)
Compass calibration process stuck in a loop
Drone vibration and accelerometer frequency spike
Quad begins to move up when switching from loiter to Stabilize
Octaquad - loiter oscillation, alt hold problems and reboot spins the motor
Performance review of Quadcopter
Quad go up and down after bad Autotune
Matek H743-slim FC and an ELRS receiver - no signal in MP
Testing motors with no props on a table, is FC reacting weird? [solved: no it is not]
Using OptiTrack with MAVProxy is giving these errors
Servos only respond to throttle only in RC3IN, not Motor(1-4)
Custom flight controller roll, pitch, yaw anomalies
ESC 'beeping' sound after replacing with Cube Orange plus
Matek H743 wing With 4 in 1 esc
"Prearm: Fence requires position"
IMU temperature calibration
IMU temperature calibration
Help 5 inch racing FPV drone Tunning using Ardupilot
Quad H frame very high Vibration Z & Y axis
Motor are not working properly
Using 2 GPS for Yaw: Yaw not available
Calibrating motors
Matek h743 edu450 and mk15
Contast switches of Primary EKF
Not tuning perfectly in one axis
EKF lane changing
How to find correct code for Autopilot board to Motor Input (for parameter MOT_PWM_TYPE)
Using 2 GPS for Yaw: Yaw not available
Quad falls out of the sky when switching from RTL to ALTHOLD or LOITER or other Modes
Simple Compass Calibration
Rapid Unscheduled Disassembly of my Octocopter, Lessons Learned and Questions
Motors maxing out when flight
Quadcopter Motors
Are these issues due to exesive vibrations? Any advice please
Unstable wobble on auto mode
Sudden altitude bump on our quad copter
Underpowered hexarotor is unstable and paning to left and crash after takeoff
Unintentional flip after auto-takeoff at 80 m height - nothing damaged!
Need Help with Stable Flights
Hexsoon EDU650 with ROS 2 - A beginners guide
Issue with making motors spin
My Motors are not spinning at the same rate
Reducing Motor Output for 6S Battery
Drone wobble during flight
Has anyone looked at adding support for the BetaFPV V3 1s 12A AIO?
PID Tune button doesn't appear at QGroundControl
Height increament of 6.38 m in 30kg agricultural drone
Pixhawk 6c High IMU Vibration level
Automated Camera Exposure with a Custom I2C Sensor
Test motors does not work
Copter repeated gets potential thrust loss during loiter and auto missions
Uncontrolled altitude in alt_hold and loiter
What does H stand for in the Plan section in Mission Planner?
Autotune gives poor tuning values on roll axis and causing vibration on arms
Uncontrolled altitude in alt_hold and loiter
Copter jumps up and down after 15 min of flight
ESC calibration and motor speed unbalance
The drone rotates around its axis
Beginner's first quad
Loiter flightmode not stable
Unxepected rotation by yaw.
Autotune, Yaw vs Yaw-D?
Unxepected rotation by yaw.
Suggestion - list all parameters checked by Initial Parameter Setup utility
Compass dev id getting reset
Multi-rotor crashed suddenly while in air
Multi-rotor crashed suddenly while in air
Cannot Read Tattu Smart Battery Data
Very unexpected behaviour during flight
Copter Crashed in Loiter Mode with Video
Why I Dislike Using the Ardupilot Methodic Configurator
Uncontrolled altitude in alt_hold and loiter
My Drone won't fly - keeps crashing
Unstable Flight While Attempting PID Tweak Ending In Catastrophic Crash
Hobbywing X9 Plus Motor strange behavior
Bad prop wash handling and unstable in wind
Arducopter autotune fails
Speedybee F405 V3 with Ardupilot
Quadcopter is not stable - losing stability in flight
Maximum acceptable vibration limit
Thrust stand for Agriculture drone motors
Basic Tuning pixhawk PID hexacopter 4,4 kg
TX16S Failsafe mode and TX16S copter feedback
Unstable Flight While Attempting PID Tweak Ending In Catastrophic Crash
How increase speed in movement commands in GUIDED mode?
Copter takoff, tilts and crashed, please help me to analyze the log and find the cause
Queries on Adjusting Stabilize Mode for a 3.5-Inch Cinewhoop
Arkflow and Z drop
Motors spinning
Copter takoff, tilts and crashed, please help me to analyze the log and find the cause
Setting up flight mode without mission planner for the first time
Vibrations XYZ axes
Started wobbling after 18.5m/s flight
Twitching in Loiter mode
Arkflow and Z drop
Head wind vibration on flexible hexacopter frame
RPM not uniform, output oscilates
No gps fix matek H743-SLIM and m8n gps
T-Motor mn6007 and flame escs drone acts normal when hover but when yaws acts aggressive
Althold and loiter mode not working
Use NoopLoop for beacon fly in loiter mode!
Arris M1200. Skydtoid H12 GCS
Bad Battery error at landing
Bad Battery error at landing
ESC calibration not working pixhowk 2.4.8

Like explained above, this post moved to ardupilot.github.io

9 Likes

Credit where credit is due, this is a good guide @amilcarlucas.

If I may offer a suggestion for your step 8, on a performance evaluation flight. If you want to use the PID review tool, it is better to do a flight in Alt hold, with ATC_RAT_FF_ENABLE = 0 (disabled). You do not want to do smooth manoeuvres you actually want to fly the aircraft aggressively moving the RC stick back and forth the box continuously, one axis at a time (roll, pitch, yaw) spending about 30s on each axis. This is the best that we can do to manually inject step responses into the rate controller and will make for a better evaluation of the rate controller.

4 Likes

Thanks for the feedback @IAMMATT, I have changed Step 8 from LOITER to ALTHOLD and added info on disabling the FF, and re-enabling it later.

1 Like

great walkthrough. We probably should link this to the wiki as that is quite complete and easy to follow

4 Likes

This is a great attempt. The complete adjustment path and modular parameter adjustment are groundbreaking and great.

2 Likes

@amilcarlucas Thanks for this post.

3 Likes

I am going to try this on a small quad after Xmas…and add to the wiki upon successful completion…thanks!.. @andypiper any inputs on this from your considerable experience tuning small,fast quads?

3 Likes

Maybe it would be worth including tuning instructions using the example of a larger drone?

The couple of places that you need to take care are already highlighted like the large vehicle mag cal or the large vehicle Accel calibration.

Or do you want example intermediate param files for large vehicles?

1 Like

When it comes to large vehicle mag cal, I have not found an example of using this function anywhere. What would be most helpful for me would be sample parameters of a well-tuned drone the size of a DJI Matrice 600.

Ok, in two weeks I can post a well tuned S900 parameters. Remind me on that in two weeks

3 Likes

This is a great guide and I am trying to follow along. But I’m stuck on step 2.2. Could you provide additional guidance for when the FC doesn’t recognize the Rx?

1 Like

Make sure the wiring is correct and that the pairing is correct. Those are usually the problems

1 Like

Thank you from the bottom of my heart Amilcarlucas,what a piece of work,so well written and easy to follow and the use of Pete’s tools as well brilliant,ive been away from ardupilot for a while due to health reasons but what a welcome read to come back to.

1 Like

Welcome back @MartyMcFly , thank you for your kind words. Nice to have you back.

If you have any questions just ask, I’m glad to help.

1 Like

I believe the pairing is correct. I have two flight controllers, (a 2.4.8 and a kakute h7), and 3 Rx’s, (two happymodel duals and one anyleaf dual). All three of the Rxs work with the 2.4.8 and none of them work with the kakute.

Because the receivers work with the 2.4.8 I know the binding phrases are matched. I can see the green bars on the radio calibration screen moving according to stick inputs on the 2.4.8 with all three Rx’s. I swapped the Tx and Rx connections on the 2.4.8 to see what would happen. The green bars on the radio calibration screen still appeared, but did not move with the radio. The “PreArm: RC not found” error did not appear like it does with the kakute.

I tried switching the Tx and Rx pads on the kakute but it did not make any difference - exact same message, “PreArm: RC not found.”

Thank you for paying attention to this. You have posted a very well-written guide and your skill and knowledge in this area is obvious. I look forward to building the best quad I ever have thanks to your guidance - after getting over this obstacle. Thank you again.

1 Like

With the kakute h7, if you have the BDSHOT firmware loaded (and you probably should) then RCin and serial ports and functions can be shifted around.

Yes, in the HWDEF for BDSHOT:

# Must use USART6 for RCIN rather than RCINT as timer needed for bi-dir dshot
PC7 USART6_RX USART6 NODMA

define DEFAULT_SERIAL6_PROTOCOL SerialProtocol_RCIN
define DEFAULT_SERIAL6_BAUD 115
define DEFAULT_SERIAL7_PROTOCOL SerialProtocol_ESCTelemetry
define DEFAULT_SERIAL7_BAUD 115

PB0  TIM3_CH3 TIM3 PWM(1) GPIO(50) BIDIR
PB1  TIM3_CH4 TIM3 PWM(2) GPIO(51)
PB3  TIM2_CH2 TIM2 PWM(3) GPIO(52) BIDIR
PB10 TIM2_CH3 TIM2 PWM(4) GPIO(53) BIDIR

All HWDEF files:

1 Like

Good catch @xfacta he is probably using BRD_ALT_CONFIG = 1 for the BDSHoot functionality and that shifts the UART pins around.

The solution is to look at the alt config in the hwdef file.

1 Like

Yes. I definitely am using BRD_ALT_CONFIG = 1. That is an incredibly good catch! Thank you so much!

Just to confirm, I ought to upload the firmware “KakuteH7-bdshot” instead of “KakuteH7?”
firmware

Which means I should look at hwdef.dat file from this location instead of the hwdef.dat file from [this location].(https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7)

I really, really, really appreciate the help. I honestly do. But I’m not going to be able to post results for a while. I need to watch this video first. I had no idea a hwdef file existed before and I haven’t any idea how to edit one.

Thank you again!

1 Like