ESC desync is one of the most puzzling and frustrating issue in FPV. 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.
Table of Contents
What’s an ESC Desync?
In simple terms, a desync occurs when the ESC loses synchronization with the motor. When the ESC and motor go out of sync, the ESC’s commutation timing—essentially, the precise timing it uses to keep the motor spinning—gets disrupted. As a result, the motor stalls and causing your drone to crash. The drone experiencing ESC desync also makes stuttering noise or a specific motor acting erratically before the fall.
However, 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 (all motors stop 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 because all the motors are still spinning except one.
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/
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
Desync occurs when the ESC’s timing of the commutation sequence fails to keep up with the motor’s movement. This misalignment results in a loss of synchronization, and the motor essentially stops. Here are some common causes:
Excessively High RPM
Motors with ultra-high KV ratings or those spinning at RPM that is too high for the ESC to handle, are more prone to desync issues. As the motor spins faster, the ESC has to process the commutation timing more rapidly to keep up. In extreme cases, the ESC can struggle to maintain synchronization, resulting in desync.
When the motor is spinning too fast, 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.
Sudden Speed Changes
If the motor changes speed too quickly, the ESC may not be able to adjust its commutation timing fast enough, causing it to lose sync with the motor. This is especially common in situations requiring rapid throttle changes, like aggressive maneuvers or hard braking during freestyle flying.
Damaged ESC or Motor
Physical damage to either the ESC or motor can lead to desync. For example, damaged motor windings or a faulty ESC can disrupt the precise control required for commutation, leading to synchronization issues. In my experience, older motors or ESCs that have sustained wear and tear are more prone to desyncs.
Electrical Noise
Excessive electrical noise can interfere with the signals between the ESC and the motor, leading to desync. This can be caused by wiring issues, poor connections, or other components creating electrical interference.
Not Everything Is Desync
One of the most common misconceptions is that any incident causing the quad to drop is a desync. However, not all issues that look like desyncs are actual desyncs. Here are some examples of issues that can mimic desyncs:
- Burned Motors: If a motor draws too much current and burns out, the quad might spin out of control and crash. While it might look exactly like a ESC desync in video, it’s not caused by ESC desync.
- Overheating or Faulty ESCs: If an ESC malfunctions or overheats (e.g. temperature protection), it may cut out, causing the motor to stop. Again, this isn’t a classic desync but rather an ESC issue.
- Battery Voltage Drops: A sharp drop in battery voltage can cause the ESC to lose power momentarily, leading to motor cutoff. This can look like a desync but is actually a power issue.
Solutions to ESC Desync
Select the Right ESC and Motor Combo
To prevent ESC desync in the first place, choose an ESC and motor combination that works well together. Motors with very high KV values should be paired with modern ESCs capable of handling fast commutation speeds.
Use Additional Filtering Capacitor
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/
BLHeli and Betaflight Settings
To fix ESC Desync, or reduce the likelihood of its occurrence, you can try different settings in BLHeli and Betaflight. Not all the suggestions may be necessary, but one or some of them could be the answer to your problem.
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.
Avoid Sudden Throttle Changes
Flying aggressively with rapid throttle changes can increase the chances of desync, especially if your ESC isn’t keeping up with the speed changes. If you’re experiencing desyncs during aggressive flying, try easing off the throttle changes or adjusting your flight style to reduce stress on the ESC.
Can ESCs Recover from Desync?
In some cases, ESCs are capable of recovering from a desync mid-flight. When a desync occurs, the ESC may enter what’s known as “blind commutation”. Normally, the ESC senses the motor’s position and adjusts its timing accordingly. In blind commutation, however, the ESC attempts to estimate the motor’s position without precise feedback, hoping to regain synchronization.
If the ESC succeeds, you might experience a momentary stutter, but the drone will continue flying. However, if the ESC fails to resync, you’ll experience a “death roll” where the motor completely stops, causing the drone to tumble and crash.
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.
10 comments
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?
Hey, did you found the solution yet? I’m looking fr the bluejay too
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?
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
LOL thanks :D
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
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.
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
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
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.