for my flight control system I want to track my motor rpm (more or less to feed orientation estimation with thrust and moments).

I wrote a simple class based on following formula

$$ \dot \omega = \frac{T_l}{J} + k_T \frac{V}{J\,R} - \frac{k_T^2}{J\, R}\omega $$

It gives me pretty good results for steady state, but I'm a bit unsure on dynamic behavior of my ESC. It should be flashed with Blheli software.

How does it handle throttle up and down? Will it simply apply BatteryVoltage * Throttle [%] or will it apply full / 0 voltage till it reaches requested rpm and then adjust voltage to keep the speed (I know that voltage is apllied via PWM, so understand it as average).

Thanks a lot in advance


1 Answer 1


Most ESCs will provide a percentage of available power, by changing the length of time each coil is powered.

Some ESCs (primarily for helicopters) have a 'governor' mode, that vary the power as necessary to maintain a speed, where the speed is controlled by the throttle. This is used because the load on a helicopter's motor depends on the angle of attack of the blades, which changes during flight.

So you can do it either way, but the default is voltage * throttle.

  • $\begingroup$ Thanks for your answer, so it's the simple way :) Do you know, how active breaking will influence it? $\endgroup$ Sep 4, 2023 at 7:57
  • $\begingroup$ On most hobby grade ESCs, the 'brake' function shorts the motor wires together. Models generally don't weigh very much, so it works pretty well, and the energy is just lost as heat. You have to go to something like a golf cart ESC to get proper regenerative brakes that will charge the battery when rolling down a long hill. $\endgroup$ Sep 4, 2023 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.