Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; AntiBotCaptcha has a deprecated constructor in /homepages/8/d680172117/htdocs/QA/qa-plugin/q2a-captcha-antibot-master/AntiBotCaptcha.php on line 22
Different behaviour of the ESCs-motors - Electronoobs Q&A

17 Online
0 Member And 17 Guest
Today Visits : 2521
Yesterday Visits : 1907
All Visits : 109828

Welcome to Electronoobs Q&A, where you can ask questions and receive answers from other members of the community.


+1 vote

Hi all!

I'll try to do my best explaining my doubts.

Im computer engineer (so i dont have much knowledge in pure electronics). Im trying to build a quadcopter using a raspberry.

By now I've managed to extract the angles data using a MPU6050.
Also calibrate and sent PWM pulses to brushless motors using this library (

The problem with the 4 motors/ESCs im trying to control. Motors are "A2212/13T 1000KV" and the 30A ESCs.

Each of them start moving at different PWM range. By default this library uses a range from 0 to 255. One of the motors starts rotating at 160. Another at 220... etc... So the first one is much more fast at full speed than the others... How can this be possible? Am i doing something wrong?

And the calibration. To calibrate (i have done for all of them), set the pulse to full is easy (255), but the low one is not 0. Its 140 more or less. Dont understand this.

Thanks all! Hope I have explained it more or less correctly!

asked by (250 points)

1 Answer

0 votes
Best answer
Usually, ESCs work with signals from 1000us to 2000us so the 255 (8bit) signal is not good. I don't use raspberry pi, but in Arduino we use writeMicroseconds(1000) to create the 1000us pulse signal.

To calibrate the ESCs you have to send maximum signal, 2000 in this case, before you connect the battery. THat will start the ESC in config mode. Then you send your lowest value, 1000 in this case, and the ESC is now calibrated to a range from 1000 to 2000. See more here:
answered by (32.1k points)