Skip to content →

Speed controller

The purpose of the electronic speed controller (esc) is to provide the current for the motors and regulate the motors RPM.

The basic components of a speed controller are the microcontroller (uc), FETs, BEC. The uc runs the firmware that controls the motors, and the FETs switch the current in/out for the motors.

rctimer opto esc

Basic parameters:

  • max. continuous/burst current
  • battery cell number
  • number of steps for motor control
  • input signal frequency
  • output PWM frequency
  • firmware type
  • BEC/opto


There are still not so many escs that were directly developed for multirotor application. Therefore, many users buy the cheap ones and then update the firmware with another one, optimized for multicopter use. That is what we call “flashing”.

In the past it often happened that the escs were not compatible with some flight controllers (FC) and they needed to be powered on before the FC. This is not valid enymore, and when checking the compatibility issues, it is enough to check the escs against the motors used.

One of the main aspects when buying a new esc is the existence of BEC (battery eliminating circuit). Generally, if there is no BEC inside, the manufacturers mark this with the “opto” label, what is quite misleading because in 95% of the cases there is no real galvanic separation, so the “opto” label only means that there is no BEC, nothing more.

Esc wired to motorIf there is a BEC inside, it can provide stable 5V/6V for the servos, receiver and any other devices, limited to a specified current. Usually, the BEC’s current handling is very bad, causing the BEC to get hot and in some cases, burn out. Note also that some FCs do not like many BECs to get connected parallel, so it is a good idea to use only one for power, and disconnect the positive on all the other escs.

The BECs can be switching ones or linear ones. The switching ones are more effective but generates also more EMI (electromagnetic impulse) radiation, that is why the manufacturers put little ferrite rings on them to filter that out.

The brushless escs has 3 motor wires, and if we need to change the motor rotating direction, it is enough to exchange any 2 cables between them, to achieve that.

Electronic speed control


SimonK and BLHeli


The escs are continuously developing and there is a constant need for having the faster and allowing more and more new features. This need brought a new generation of escs, where the hardware was slightly changed but new firmwares were developed with many new features. Most of these very capable escs are sold with stock settings, that allows using these features, without the need of reflashing firmware on them.

The two main branches of firmware, that allow the new functions are the SimonK and Blheli. Some swear the first is better, some prefer the latter. As both of them provide the same functions it up to everybody which one to choose. There are some slight differences in handling different motor types, motor heating and such but generally, we can use any of them.

My personal opinion is that BLHeli is better.Blheli settings


Some useful (main) features, that can be set to ease up our lives (Blheli):

  • demag
  • timing
  • oneshot
  • damped light (active breaking)
  • disable pwm
  • beacon


The demag and timing setting can tune the escs so they can drive the motors smooth, without any synchronization losses. When using different motors with the same escs, this allows us get the motors in sync.

Oneshot is a new protocol that enables faster communication between the FC (flight controller) and the escs. This way the escs are able to send signals to the motors more often, allowing more precise control of the bird. To allow using oneshot (OS), the FC must be able to work with the protocol as well.

Damped light (active breaking) is a function that allows the escs to actively brake the motors when lowering throttle. Generally, when lowering the throttle, the motors will slow down by the air resistance only, so this function allows again more precise control.

The new generation is able to send signal to the motors much faster and by disabling the PWM input we command the escs to use the OS protocol exclusively. This feature is closely related to the ‘loop time’ attribute in Baseflight/Cleanflight (FC firmware form Naze32 compatible boards). When using very low looptimes (below 1100), the FC sends the signal to the escs that fast that they can misinterpret it as a PWM input, so it has to be disabled for correct functionality.

Beacon is a feature that allows beeping the esc when the FC is armed but the throttle is zero. In some cases it can help to find the quad in case it crashed.


Leave a Reply

Your email address will not be published. Required fields are marked *