30% more flight time by ESC FW mod!

Upd 01/08/20. Finally complete understanding is here. Actually both 0603 and 0802 are affected by damping, but 0802 has more inductance and damping is less important, 0802 shows damping current (but sometimes not), it depends on throttle and some features of BHeli_S FW algorithm.

Upd 02/23/19: This mod is good only for 0603 motors (both 17kV and 19kV). 0802 (19kV) motors do not have this problem and the hovering time is independent on MSH_mod and is equal to 0603 motors with MSH_mod. So, the excess braking seems some kind of bug in BHeli_S related to 0603 motors (upd 01/08/20 actually not true, damping affects all small motors).

In my previous post I’ve described what I found from the experiments on micro BLDC motors. The analysis shows that loses are involved in the ESC algorithm. So I decided to modify ESC firmware to check what happens if braking of the motor at the each PWM cycle is off (people believe this braking is regenerative braking, but actually this is not true).

Two tiny whoop builds were tested:

  1. Build#1. 65 mm frame, Crazybee F3 1S FC (from UR65, red color), original BHeli_S fw is O_L_5, motors are 19kV 0603 betafpv, 31mm 4 blade props.
  2. Build #2. Similar tiny whoop, but FC is a Crazybee 1-2s F3 pro (from Mobula 7, black color), 17 kV 0603 motors, the original fw is S_H_50

We will discuss not the absolute values of the hovering time or the difference between the builds, but the difference caused by ESC firmware modification a) the original BHeli_S firmware and b) my modification of the BHeli_S (called later MSH mod).


In the following video there are 4 tests:

Test 1 and test 2 are for the build #1. Test 1 is side-by-side hovering time and test2 is some side-by-side acro flying.
Test 3 and test 4 are similar, but for the build #2



We can see lower current and almost 30% hovering time enhancement in full agreement with my finding published in the previous post! The nature of low efficiency of BLDC motors that bothered me all the last  year is partially found and confirmed by the experiment!

There is a small difference in flight feeling. I’m not a very good pilot and cannot describe this precisely. It seems to me that the “MSH mod” is a little bit more aggressive  (at least I over-rotated the flips at the beginning), also there are some small shakes sometimes. Original BLHeli_S feels smoother but not critically. With Mobula 7 FC the other effect is slow stopping the rotation after disarming. It takes 5-10 sec to completely stop the motors, the stopping motors rotate at very low power and is absolutely safe. It stops completely when something interrupt the rotation, or itself in 5-10 s. To stop motors immediately on disarm set “brake on stop” “on” (BHeliSuite settings).

Sure, the “MSH mod” is just proof-of-concept. It does not do anything, but bypass “synchronous rectifying”, or “complementary PWM”, or  “light dumping”, or “regenerative braking” or whatever word is used to describe shunt of the body diode with opened MOSFET. The technique used to increase performance of DC-DC buck converters unavoidably leads to energy loses if used in the BLDC ESC as it was shown in my previous post.

To me 30% of more time worse the efforts. I believe we need improved ESC algorithms at least for the tiny whoops.

You can get the MSH mod here:

Change BLHeliSuie  select ESC, push “pick up file”, OK, confirm “unsupported or damaged firmware warning”. The original firmware can be re-flashed easily at any moment by the same steps.

If motors are still rotating after stop and turtle mode does not work, select “brake on stop” – “on” from BHeliSuite settings.


1. O_MSH_L_05.hex      (!!! only for red FC Crazybee F3 1S (UR65)) , this also should work for any FC with O_L_x firmware

2. S_MSH_H_50.hex (!!! only for black CrazyBeee F3 pro 1s-2s (Mobula7)) , this also should work for any FC with S_H_x firmware