For those using Cleanflight, here are a few CLI commands that might help you improve your multicopter’s performance! Many people are running these now and having good feedback.
I shared this in the MI group originally (Multicopter International – my facebook group), but some people complained searching for it is impossible, so i am putting them here on my blog too.
Please read what these commands do before applying on your Naze32 flight controller.
set deadband=6 set yaw_deadband=6 set emf_avoidance = 1 set acc_hardware=1
Both “deadband” settings can reduce TX yaw, pitch and roll jitters (either caused by user error or problematic hardware), making your quad fly smoother when there is no user input. Depends on how bad your sticks fluctuates, value 4 or 6 should be enough.
“emf_avoidance” was originally designed to avoid electro-magmatic interference that are harmonic frequency to the Flight controller processor speed. When this parameter is set to 1, it changes your processor speed (increases it, to be exact). Be aware that this setting will disable the USB port on a CC3D, so all settings can only be done via mainport with an USB-serial adapter. I don’t have a CC3D to test this.
“acc_hardware”, when set to 1, it disables your ACC (Accelerometer sensor), therefore your horizon/angle modes WILL STOP WORKING! But it frees up more processing power for calculations! Do not use this command if you have to rely on self-level mode for flying.
As an interesting experiment, I set “looptime” to 0 in CLI. It doesn’t mean looptime will be 0, but the Naze32 will run at the lowest possible looptime, which normally is around 1200. with “acc_hardware” set to 1, the lowest looptime dropped all the way to around 320! I then set “emf_avoidance” to 1 as well, looptime dropped further to 290.
However, it doesn’t mean you can run your looptime this low. With lower looptime you will have more noise problems, not to mention gyro sensor can only get a new sample value every 1000us, when your looptime is lower than 1000 you will be likely to reuse the previous old gyro value, so there is no obviouls benefit of using lower looptime than 1000 at the moment. I recommend running looptime higher than 1200 on the current stable cleanflight release (1.9), for more reliable performance.
So what’s the point of increase the processing speed of the Naze32 if you cannot go very low in looptime? The answer is stable looptime. You will notice at any looptime greater than 1000, it’s become very stable, and doesn’t fluctuate up and down like crazy before.
Having said that, some newer FC like the Dodo or SPRacing F3 claim to have much better processing power than the Naze32, but how useful is that going to be if looptime is limited by the gyro sampling rate? Correct me if I am wrong, maybe it allows you to run more hardware and do more stuff at the same time. But if I am just going to fly acro without any other gadgets, then I don’t see I need to move away from Naze32 just yet.