How to methodically configure and tune any ArduCopter

I edited the post to explain that the provided .param files in the file contain information that is not in the first Blog post text.

I hope this makes it clearer that you NEED to use the files in order to understand which parameters to change and how to change them.


Hey friends!
Today the weather finally cleared up. I double-checked all the settings and tried to take off several times. This time around, no errors CPU, the CPU load effect dropped to a maximum of 70% at its peak, down from the previous 100%. However, the hexacopter’s behavior changed. Roll control is very sluggish and takes a long time to recover, despite going through auto-tuning before. I’m attaching my logs and settings, really hoping for some help from the experts. Please assist in identifying any issues with the settings.
Configuration: hexa, 13’', motors 4215 650 kV, CubeOrange+, Here4, frame Tarot 680, power 6s.

current_param.param (22.0 KB)

1 Like

Whose ESC? Flash Hobby D4215 650KV motor motor performance chart?
CubeOrange+ better than CubeOrange hit 100% CPU load previously, interesting.

Hi Jai.GAY!
ESC: FLYCOLOR RAPTOR5 BLHeli-32 ESC 3-6S 45A. Last firmware. Motor: Бесколлекторный мотор Flymod Gravity 4215 650KV купить - Интернет магазин по квадрокоптерам в Украине.


In the file 05_remote_controller.param there is a setting RC9_OPTION,300 for a script for that in the notes says “jump to the next waypoint.” Can you share that script or point me in it’s direction? Thanks!

1 Like

This is for the advance-wp.lua script by Yuri from this post: Scripted MagFit flightpath generation


Awesome! Thanks. I didn’t make that connection.

1 Like

Hey amilcarlucas!

I’ve managed to replicate the scenario during flight where the CPU load hit 100%, and two errors were recorded in the process. Here’s the link to my log file: 00000091.BIN - Google Drive Could you please help me figure out this issue? I’m at my wits’ end here, struggling to pinpoint the errors I’m making on my own. Here’s my configuration: frame Tarot 690, props 13’', motors 4215 650 kV, CubeOrange+, Here4, power 6s, esc FLYCOLOR RAPTOR5 45A BLHeli-32 3-6S
There is my all params:
current_param.param (22.0 KB)

In advance, thank you to you and everyone who can help me tackle this issue!

Why is your ATC_RAT_XXX_FLTT not using 17 by the initial parameters, instead of 57.5? also for the INS_GYRO_FILTER, MOT_THST_EXPO.

MOT_THST_HOVER 0.635, looks like under propulsion combination, ideal is 0.35 and below. In my opinion, I may be wrong.

SERVO1_FUNCTION,33, Digital ESC, why are the motor ports connected to Analog Main ports and not Aux ports? I expect SERVO9_FUNCTION,33, SERVO10_FUNCTION,34, and onwards. MOT_PWM_TYPE, DShot300, I cannot find any claim saying the ESC supports DShot300, you may have to double confirm it. Also for SERVO_DSHOT_ESC, BLHeli32/Kiss+EDT.

looks like you have script file running, SCR_ENABLE,1, cause the CPU 100%? Do you want to try disabling it first?


@aleks_od seams to me like you did not look at any of the provided .param files, you did not edit them to meet you needs, and you did not upload them. So I will not look at your logs, sorry.


Hi Jai.GAY!
I’m really grateful for your response.

In beta firmware 4.5.0, support for DShot on analog outputs has been implemented, so I tried to use them. Upon system startup, these outputs are recognized as RCOut: DS300:1-8 PWM:9-14. However, I’ll follow your recommendation and switch the motors to AUX1-6.

Regarding the script execution, you’re absolutely right as well: I frequently access the flight controller (every 50 ms), which likely overloads the processor. I’ve already rewritten the code to fetch this data every 500 ms, which I believe will improve the situation. As for ATC_RAT_XXX_FLTT and MOT_THST_HOVER, I simply overlooked them and set these values incorrectly. I’ll go through all the settings again step by step, taking your remarks into account. Thank you so much for your assistance!

Hello amilcarlucas!
I welcome your response.
I’m not sure why you assumed I hadn’t made any changes, but it’s your call whether to help or not. I’m simply finding it challenging to grasp all the settings, and I’m exerting all efforts to understand the aspects that may be obvious and clear to you. Perhaps I don’t always succeed in doing so, but I’ll continue to delve into these settings. In any case, I want to express my immense gratitude for the effort and time you’ve dedicated to creating this guide.

Shouldn’t be necessary and I would love more people to test the dshot on iomcu behaviour

Hi @ , I saw that in your parameter list esc , these 2 parameters are set with the same value . Is there any reason in particular ? Thanks

Those are the default values and we did not need to change them, it’s an output not an input, output trimming an a copter is meaningless.

Are you saying from 4.5.0 and above, users going forward can have digital ESC Octocopter using the Analog main out port?

The Wiki is also saying
Dshot ESC’s

Thanks and noted.
Should I wait until everyone is saying?

If BRD_IO_DSHOT parameter is not present, then the autopilot does not have DShot capability on its IOMCU outoputs.

Correct. Not sure who you are waiting for if I am saying and the wiki is saying…

I will soon release a new version of the file containing updated python scripts.

It will optionally annotate default parameters as comments in the intermediate .param files if a 00_default.parm file exists.

To use it do:

./ bin-file.bin > 00_default.param
./ .

It needs to use a .bin log file from your FC because each FC type and FW version has different default values.

I will ship the default values for my FC in my intermediate .param files but the two commands above will allow you to get your defaults in your intermediate .param files.

To make it more interesting I will post this once someone posts their edited intermediate .param files in a .zip file in this thread. :stuck_out_tongue:

Who will be the first?