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:

2 thoughts on “Motor Timing

  1. gerry

    Just starting to look into RC cars and reading through some articles.

    On ESC speed limitations, for most high-current switches, their transition time is the primary speed limitation, as that is where most of the power dissapation occurs, which increses with higher speeds. I’ve never seen gate drivers as a limitation. Assuming that MCU is a microcontroller (every ten years the abbrev. may change), it’s possible but I haven’t seen any indication they’re limiting the speed, unless they are using very low power devices.

    I looked at that video, where he shows the ESC to have a half sine wave or triangular wave, generated by rapid switching of transistors. Try putting a scope on the output of any ESC & you’ll see a PWM pulse. Change that to a triangular wave and you’ve just melted the ESC. In trying to explain motor timing, he confused the back-emf with the ESC switching. Actually, his diagram does also show the ESC pulses, but I think (would hope!) the transients shown are only due to his poor measurement technique. With my scope I see very sharp rise and fall times, with no transients.

    BTW, how does higher timing prevent motor desyncs? I assume that “higher” means “advanced” timing, which is standard terminology that’s even used in auto ignitions. And I’m really lost on a “motor desync”. The only thing I can think of is a non-sensored motor using back-enf, which has to run open circuit at very low speeds, and can have choppy performance as the ESC pulses may become out of sync with the pole rotations.


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).