Motor Timing

I came across some discussion on motor timing and thought I should document it after some researching.

What is motor timing?

Motor timing is a settings on the ESC, it’s very important to motor efficiency, reliably, torque and RPM for multirotors.

There are coils and magnets in a brushless motor. In order to make the motor spin, we run electrical current through the coil which will create magnetic force and attract the magnet.

Every time we charge and discharge the coil, induction happens. It means when we give the coil current, it will take time to build up the magnetic field and reach ideal level, when we stop providing current, it will also take time for the magnetic field to diminish and eventually disappear completely.

The goal of motor timing is to start switching the motor coil early, so we have the magnetic field ready at the right time.

As RCBenchMark suggests in his video, there are different effects when you start charging the coil at different time. If you fire the coil earlier when it’s still further away from the magnet, it’s going to increase the motor’s RPM (KV) but reduce the torque. However when you fire the coil late when it’s really close to the magnet, then you will increase the motor’s torque, but reduce RPM (KV).

Motor timing depends on induction a lot, and induction also depends on many factors such as the loads (current), coil resistance, coil number of turns and so on. Different motor will have different induction time, and therefore require different timing.

In some ESC’s there are “auto-timing” (or adaptive timing) which detects and decides for you what motor timing to use (such as KISS ESC). While in BLHeli, the user has to choose a motor timing (default is medium). Currently, There is no conclusive data that shows whether auto-timing or fixed-timing is better.

What makes ESC run faster

  • Gate drivers
  • Faster MCU
  • Better FET’s

Guide on how to Choose Mini Quad ESC.

What are the benefits/disadvantage of high motor timing?

+ Higher motor timing prevents motor desyncs
+ Slightly higher thrust

Less efficient, more loss in heat as coils are switching faster (coil has resistance), therefore your motor will also heat up more

Why “High KV motors generally works better with medium-high timing in BLHeli” in the past?

First of all, I have seen guides online that suggest motor timing is just related to how many poles or magnets there are in the motor. This is not true.

As suggested by QuadMcFly, majority of the latest generation motors should be fine with “Medium” motor timing (or should be a good starting point), because

  • Stronger N52 Magnets, which makes back EMF detection earlier and easier
  • Super low resistance motor wildings

What timing am I going to use?

Since there is no “one for all” answer, I think the only way is to try different timing yourself, and see which one works best for you. Even better, if you own a thrust stand, run some tests through all throttle level and see what motor timing gives you the best performance.


Credits to, QuadMcFly and Felix from Flyduino.

  1. RCBenchmark’s video:

One thought on “Motor Timing

Leave a Reply

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

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum You might get a faster response from me there (multirotor related only).