BLHeli OneShot - What is it, and how can I use it?

esc
multirotor

#1

BLHeli is currently the most popular ESC (electronic speed controller) firmware currently used on quadcopters and other multirotors as it works realy well. However not as many people know about the OneShot mode which significantly improves the performance of your mini FPV quadcopter.

What Is BLHeli Oneshot?

Oneshot (OneShot125) is a special mode for ESC’s running the BLheli firmware that allow your supported flight controller to communicate very quickly with your ESC, enabling your motors to react much faster than standard PWM communication protocols used on most ESC’s.

What flight controllers can I use?

You can use any Flip32, or Naze boards running cleanflight with oneshot, some users have also reported this working with CC3D boards running cleanflight, however it has not been fully tested yet, so use with caution.

Baseflight firmware has also recently added support for oneshot if you prefer to use that firmware base.

What ESC’s can use OneShot?

If your ESC has a recent firmware version of BLHeli (rev 13.0 or above) then you can use oneshot mode with them. An example of compatible ESC’s are our BLHeli ESC range

How to enable oneshot125 in cleanflight?

To enable oneshot simply connect your cleanflight flight controller to your PC via USB, and one then the cleanflight GUI. On the configuration screen you can enable the oneshot125 feature.

Also enable active braking on your BLHeli ESC

Active breaking is not a specific oneshot feature, but rather a general BLHeli feature which will slow down your motors to help control your quadcopter, which does improve response of your drone.

This is done via the BLHeli suite, by chaning the PWM Frequency/Damped value to Damped Light as shown beow.

Technical explanation of OneShot

As you are flying, the flight controller reads the sensor data, and calculates the desired control action, this is known as the flight control loop. This process runs very quickly, but does take take (talking about over 500 times a second). When using regular PWM ESC’s, When using a regular PWM ESC with your flight controller, the ESC itself as a loop time whcih will read the value it receives from the flight controller, and send a corresponding signal to the motors. However the timing of the loops might not always coincide exactly, resulting in your ESC waiting for a new command. While the ESC is waiting it will continue to send the last output the the motor. Because we are talking about such minute times (we are talking about 0.001 seconds or so), this is hardly noticeable for most quadcotpers. However in hte case of miniquads pilots who need the best response and performance the oneshot mode was introduced.

Oneshot firmware links the ESC directly to your flight controller. This means that as soon as your flight controller has completed the control loop, it will read the motor command immediately. OneShot mode also increases the motor output to 8kHz (about 125 microseconds) apposed to typical 1kHz motor outputs (1 miliseconds) with regular ESC’s


image from ronco

As i mentioned before, most people will hardly notice the difference because at this speed, your ESC is sending new output commands to the motor before it can even complete a revolution. While technically this is better, in real life I could not notice any difference. Ultimately I feel that oneshot is just a feature gimmick for manufacturers to try sell more ESC’s. Thais said, if you are running BLheli firmware on your ESC that would be perfect for everything especially if you enable active breaking.

Here is a great video showing the differences between enabling and disabling oneshot:


How to setup your FPV quadcopter with BLheli and OneShot
What to consider when buying a ESC for your multirotor
Emax Nighthawk X-series X5 Build Guide (Part 2) - Configuration of SP F3 Evo Flight Controller
#2

Correction please: change your “8Mhz” and “1Mhz” statements to be “8kHz” and “1kHz”. Thanks. ~Gabriel


#3

Hi
Just a reminder to remove props before selecting ONESHOT,
When I saved and rebooted in Cleanflight the motors revved at maximum, and I mean maximum ! giving me finger damage that took over six months to mend :sob:
You have been warned :grin:
Cheers
Steve :slight_smile:


#4

Thanks for pointing that out! :blush:


#5

First visit to this site. I do appreciate the explanation of 125, which was relatively thorough. The text quoted above really killed the flow for me though. I can’t seem to get away from these errors that seem like a once-over would have caught. I don’t know if it is my OCD or what, but I tend to read syntax errors over and over.

Feel free to edit this comment as you’d like as I am not trying to be a grammar Nazi. Wired and Engadget were once favorites of mine, all of their writers have just completely given up. I feel like writers who clearly care about the subject at hand should help each other become better.


#6

Thanks for your constructive feedback. I am currently on my phone so can’t make the changes bit will as soon as I get a chance.

Due to limited time and working late into the night to get some guides finished to help customers sometimes means that I have not more energy and motivation to proof read articles for grammar. But now that we have grown a little my colleague @Sam is always moaning about not checking over my articles :smile: so we now proof reach each others work before publishing. So if you read blog.dronetrest.com where we publish our main articles you will see the writing quality is generally better. :slight_smile:

Also if you ever want to contribute just let me know