Jason:18664379879
Email:jiangsheng@hakrc.com
ESC Application Protocol

Pulse Width Modulation (PWM) was the first ESC protocol in history that is still in use today. PWM converts the input signal of the throttle controller into timed power pulses to control the speed of the motor. The throttle controller sends a signal to the ESC's microcontroller telling it how much voltage to draw from the battery and ultimately to the motor's rotor.


The signal is delivered in pulses, the width of which determines the duration of the voltage, with voltage pulses ("on") separated by "off" periods where no voltage is supplied. The greater the ratio of "on" time to "off" time, the more power is delivered and the faster the rotor turns. The ratio of the "on" to "off" times is also known as the duty cycle.


In a PWM system, the length of the pulses varies from ~1000 μs to ~2000 μs. Initially, the signal sent pulses every 50 milliseconds, but as time went on, the signal was sent more and more frequently, to every 2.04 milliseconds (490 Hz). And if the frequency is 500Hz, the signal will be 100% "on", and this state will be judged as a fault.


The gate driver takes the voltage value from the microcontroller and transmits it to the MOSFETs and drives them to switch between the three phases. The higher the voltage value reaching the MOSFETs, the faster they switch phases and the higher the rotor speed.


If you plot time on the x-axis and voltage on the y-axis, you can see how the "pulse width" is controlled or modulated in this system.

You can estimate your RPM by taking the average voltage over time (the "on" and "off" signals) and multiplying it by the Kv rating of the motor.


【Application Protocol of ESC】

The ESC protocol is essentially the language that flight controllers use to communicate with ESCs, they use a unique signal pattern to convey throttle information, and at the same time change the speed of the motor by changing the speed of the signal.


(1) Commonly used ESC protocols

Before 2015, PWM was the only commercial ESC protocol for small drones. Several new protocols have since been created, and hardware developed after 2017 typically supports all or most of the existing protocols.


The most commonly used protocols include Oneshot125, Oneshot42, Multishot and Dshot300, Dshot600 and Dshot1200. Oneshot and Multishot protocols use analog signals such as PWM, while Dshot (Digital shot) uses digital signals.

The analog protocol requires calibration to ensure that the oscillators (clocks) in the flight control and ESC remain synchronized, while the digital protocol does not require this step. Without this clock calibration, your drone may not respond correctly as expected because the ESC will incorrectly interpret the length of the signal.


(2) DShot

Dshot1200 is currently the fastest application protocol, capable of transmitting 1,200,000 bits of data per second. The fixed signal length of the Dshot1200 is only 13μs, almost twice that of Multishot, the second fastest protocol with a signal length of 25μs. While the Dshot1200 is surprisingly fast, some say the difference between the Dshot600 and the Dshot1200 is actually negligible in practice.

Low latency means faster response of the aircraft, but for quadcopters and propellers with larger fuselage, the above phenomenon becomes less obvious due to their own inertia. At the same time, the high-frequency flight control will also consume more power, so if the vehicle does not need it, it is not recommended to do so.


(3) Development prospects

Proshot is a very unique protocol that contains both digital and analog signal elements. The protocol encodes the DShot signal into PWM pulses - each pulse contains 4 bits of data. This encoding means you can fit 16 bits of data into a pulse of just 4 PWMs. Similar to DShot, no ESC calibration is required when using Proshot.


The Proshot1000 delivers 1,000,000 bits of data per second, slightly less than the fastest DShot protocol. There is debate as to which protocol has higher CPU usage in practice, and there is no clear answer yet.


Since 2018, ESCs that can pass BLHeli_32 firmware and support Proshot have appeared on the market.