How to Fix ESC Desync?

by Oscar

When one of the motors in your quad stops spinning unexpectedly and the quad tumbled out of the air, it might be caused by ESC Desync. Here are some BLHeli and Betaflight settings that might fix ESC Desync.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

What’s ESC Desync?

Not all “drone falls out of sky” are ESC desync. For example, if your quad just drops to the ground horizontally then it could just be a failsafe or loss of power. An ESC desync during flight results in the quad spins rapidly before falling to the ground.

If you look at blackbox, an ESC desync happens when one of the motors stalls even though the motor signal goes to maximum. This results in the quad rolling out of control. By studying the DVR footage you can sometimes work out which motor has ESC desync – the one that went down first.

Common causes are excessively high RPM (motors are running faster than the ESC can handle) or/and there is too much electrical noise.

When motor RPM is too high, the ESC can miss the “zero crossing” of the motor (commutation), while electrical noise in the signal can worsen the situation.

If the ESC can’t detect the approaching  “zero crossing” accurately, then it will not know when to fire the next pulse (to create the needed magnetic field to push motor) and the motor is stalled eventually.

Solutions to ESC Desync

To fix ESC Desync (or reduce the chances of it from happening), there are some settings in BLHeli and Betaflight you can try changing. One or some of these suggestions could fix your issue, and not necessary all of them are needed at the same time.

Install a low ESR capacitor to the power of your ESC if you haven’t already this will clean up some of the noise.

BLHeli Settings:

  • Rampup Power (or Startup Power) – use lower value such as 0.125 in BLHeli_S or 12% in BLHeli_32; If the props hesitate to spin when you arm the quad, then you might have to increase rampup power slightly until you find the sweet spot where the motors starts spinning smoothly when you arm the quad and it gives you no ESC desync
  • Demag Compensation – set to high as it helps the quad from recovering from Desync instead of just drops to the ground at the cost of performance

Only use these settings when your quad has desyncs. I go into more detail on what these settings do in this post. You can also try the following settings in Betaflight if BLHeli settings are not enough:

Betaflight Settings:

  • Use DShot if you are not already
  • Motor Idle Throttle Value – default is 5.5 which is pretty conservative for smaller quads. Try a slightly higher value like 6.5 or 7

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

6 comments

Osleg 30th July 2023 - 6:46 pm

Hi Oscar,
You have a rather funny typo in the text
“If the props hesitate to spin when you are the quad, …” — well duh, you don’t have your battery connected :d

Reply
Oscar 31st July 2023 - 3:06 pm

LOL thanks :D

Reply
Steven Starke 4th October 2022 - 2:41 pm

Hello Oscar,

I’ve been following your FPV instructions for years – thanks for all the great explanations and tips.
Usually your site and various Youtube videos help me with problems.
In an actual case, however, I can’t get any further.

It’s about a 2.5 inch toothpick with the Darwin AIO FC F411 15A.
When the copter was finished, I updated to BF 4.3.0 and bluejay.
Everything looks normal in the BFC.
4khz/4khz, Dshot 300, bidirectional Dshot and RPM filtering is active.
I set it up according to your instructions.
If I arm the copter, it rotates 180 degrees around the yaw axis and then disarms again. Board alignment, motor direction, props… I checked the common issues multiple times.
In the BFC I saw in the motor tab that motor 3 turns about 700 to 800 rpm slower than the other motors. Since Dshot you don’t have to calibrate the ESCs anymore, right?

A few weeks later I built a completely new frame (Darwin Baby Ape 3″) with the FC. New motors, new cables.. everything new.
After arming, he spins around the yaw axis again (no flip) and disarm.
Unfortunately, the FC does not have a black box, so unfortunately I cannot provide any data.

Ok, the esc of motor 3 is probably broken.

After that I ordered the HGLRC Zeus 10A AIO FC.
Reassembled everything – same error.
A new board and he’s spinning around the yaw axis and disarms again? According to the BFC Motor Tab, it is now motor 4 that shows slower RPMs. This time only about 300 – 400 rpm.

Also interesting, in turtle mode i can control each motor individually with the remote control. Since no PID controller is activated in Turtle mode, I suspect the gyro or the PID controller.
If you hold the copter in the air with your hand, you can arm and the copter always tries to correct to the right.
He makes small punches to the right.

I’m at the end of my knowledge here and haven’t found anything comparable on the net.

Do you have an idea here?
I could send a video if it helps.

Thanks!
All the best
Steven

Reply
Roman 8th February 2022 - 1:46 pm

Hi Oscar,
Thanks for all the priceless resources on your website!
I would like to add about Motor/ESC Desync that I was facing a raging one with my f722 CPU and blheli_32 ESC. I applied all what was on that page without success and after many crashes, until yesterday I tried to get CPU loads with « tasks » command in Betaflight (4.2) CLI. With DShot600, bidirectional and PID loop of 8kHz, I was over 100% on max loads and over 70% on average loads. Going to Dshot300 and 4kHz solved definitely my desync issue with 50% max loads and about 40% avgloads. Also before I made the changes, I saw rpm errors reports (a few percent) under the motor tab, which totally disappear now. Maybe you could add a line (lowering PID loop frequency and Dshot) or a warning on the ESC protocol page or/and on this page about desync as I’ve read so many people fighting and trying everything on Betaflight/ESC configuration without success ? It might be worth mentioning CPU overloads as a potential, indirect source (some tasks in Betaflight cannot complete due to CPU overloads) of desync.

Reply
Mike M 25th July 2021 - 8:55 pm

Thanks Oscar and wondering if you have any thoughts on the FPVCycle 5″ motor and Kebob’s recommendation to INCREASE rampup to prevent desync? I have/like those motors and am using Kebobs settings without problem, but it does seem counterintuitive. Maybe because they are larger than normal 5″ motors? fpvcycle.com/collections/motors/products/fpvcycle-5-motor-choose-options?variant=32281593741423

Reply
Oscar 26th July 2021 - 12:01 am

I don’t know under what conditions that one would recommend increasing rampup power to prevent desync as it increases voltage spikes/noise to the ESC signal. It could be a typo, maybe you wanna check with him. Here’s a bit of background on what ramp up power do: https://oscarliang.com/best-blheli-32-settings/#rampup-power
I have not tried that motor so can’t comment.

Reply