Brushless DC and ESC control using Arduino


We are trying to control a Brushless DC motor using a arduino with the help of an ESC for a Quadrotor.

BLDC : 850 KVA
ESC : Wolfpack 20A
Battery : 11.1 V, 3 Cell, Lipo, 2200 mAh, 25 C

We initially tested the wiring and connections using a servo tester ( Pulse width of 1.0 to 2.0 ms for a 50 Hz signal ). The motor worked fine for all positions of throttle of the Servo tester confirming our connections and battery capacity is correct.

Then i measured the pulse width of the servo tester wave using CRO for a mid throttle and generated identical signal using my Arduino board. See the image ( Blue wave is of Arduino and yellow wave is of Servo Tester ).

But when I gave the same wave from arduino to the esc / bldc it did not work. It is not rotating at all.

I used


for the output to the ESC from arduino with proper declarations and arduino servo library inclusion.

The code compiled succesfully without errors and I am able to burn the prog on arduino board.

Please help me. I am not able to run the motors using my Arduino UNO board.

Thank You for the help.


Most ESCs have a safety system that does not allow you to turn the motor without leaving the ESC at minimum throttle for a few seconds. That is 1000us. Normally the ESC will beep (mine does) when the time has been reached.

Thank You. Will test it out.

Actually that feature is there on my ESC

Since a RC plane's propeller can and will cut flesh to the bone, all (plane and helicopter) ESCs have an arming sequence designed to prevent accidental activation at full power.