How to Fix ESC Desync in FPV Drones: Tips & Fixes

by Oscar

When one of the motors in your FPV drone stops spinning unexpectedly, causing it to tumble out of the air, it might be due to ESC Desync. This article discusses the reasons, and tips to fix ESC desyncs using BLHeli and Betaflight settings.

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 an ESC Desync?

Not every instance of a “drone falling out of the sky” is due to ESC desync. For instance, if your quad drops to the ground without any spinning, it could simply be a failsafe or loss of power. Typically, during an ESC desync, the drone will spin or roll rapidly out of control.

The best way to identify an ESC desync is by examining Blackbox logs. An ESC desync occurs when one of the motors stalls (stops spinning and thus stops producing thrust), prompting the drone to command that motor to spin harder, causing the motor signal to reach its maximum of 100%.

New to Blackbox logs? Don’t worry I have a complete tutorial here to get you started: https://oscarliang.com/blackbox/

Esc Desync Blackbox Log

Without Blackbox, examining DVR footage frame by frame can sometimes offer clues about the direction of the roll and which motor experienced the ESC desync—the one that goes down first.

Causes of ESC Desync

Common causes of ESC desync include:

  • Excessively high RPM (motors running faster than the ESC can handle).
  • Too much electrical noise.

When motor RPM is too high, the ESC can miss the motor’s “zero crossing” (commutation), while electrical noise can exacerbate the situation. If the ESC cannot accurately detect the “zero crossing,” it will not know when to fire the next pulse (to create the necessary magnetic field to push the motor), leading to the motor eventually stalling.

Solutions to ESC Desync

To fix ESC Desync, or reduce the likelihood of its occurrence, you can try changing some settings in BLHeli and Betaflight. Not all the suggestions may be necessary at the same time, but one or some of them could fix your issue.

However, firstly, it’s crucial to have a low ESR capacitor soldered to your ESC’s power input if you haven’t already done so; it can help reduce some of the electrical noise – often times it’s the root of the problem. I have a guide on the type of capacitor you should choose, and where to solder it to: https://oscarliang.com/capacitors-mini-quad/

Hobbywing Xrotor G2 4in1 Esc 45a Wire Gauge 14awg Capacitor Value

BLHeli Settings:

  • Rampup Power (or Startup Power): Use a 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, you might need to slightly increase the rampup power until you find the sweet spot where the motors start spinning smoothly upon arming the quad without causing ESC desync.
  • Demag Compensation: Set to high, as it aids the quad in recovering from desyncs instead of merely dropping to the ground, albeit at the cost of some performance.

Only adjust these settings if your quad experiences desyncs. For more detailed information on what these settings do, refer to this guide: https://oscarliang.com/best-blheli-32-settings/.

If BLHeli settings are insufficient, you can also try the following settings in Betaflight:

  • Use DShot ESC Protocol if you are not already using it.
  • Motor Idle Throttle Value: The default is 5.5, which is quite conservative for smaller quads. Try a slightly higher value like 6.5 or 7.

Conclusion

Hopefully following these tips helped resolve your ESC Desync issues, and now you should consider tuning your quad by following these 10 simple steps :) https://oscarliang.com/fpv-drone-tuning/

Happy flying!

Edit History

  • July 2021 – Article created.
  • February 2024 – Updated.

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.

9 comments

Manuel 14th March 2024 - 6:03 pm

Hey Oscar,
maybe you can help me out. What should I set in Bluejay for the minimum/maximum startup power to achieve the same result as with 0.125 Ramp-Up Power?

Reply
Greg 3rd December 2023 - 6:47 am

I just finished my waterproof quad and was getting motor desync and it would tumble out of the sky. I switch my pid look from 8k/8k to 8k/4k and dshot600 to dshot300 which seemed to fix my problem. I get really bad trilling oscillations with higher throttle when air mode it on. When it’s off I can’t hear it anymore. Also did a little tuning on it to help it go away. Would it benefit if I went to dshot150 sense lowering it to 300 made things a lot better?

Reply
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
Greg 3rd December 2023 - 6:53 am

I was having the same problem and I didn’t the same thing to fix mine. Lowered pid loop to 8k/4k and went from dshot600 to dshot300 and I havnt had a problem sense

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