Basically, I want to use PWM wave or something alike from Arduino to directly control the speed of a brushless motor through an ESC.

I saw an example on the Arduino Brushless Motor Control Tutorial | ESC | BLDC by Dejan . However, I saw some other people mention about flash ESC such as Flash ESCs with ANY Arduino!

But I was confused about why they needed to flash the ESC? Can I just control the speed of the motor by sending PWM wave to ESC directly from arduino? I wanted to use BLHeli ESC.


1 Answer 1


ESCs are designed to work with radio control receivers that have servo outputs, so they expect to see a servo pulse signal (typically a 1~2ms pulse repeated 50 times per second). This signal can be produced with an Arduino using the Servo library.

The standard firmware in most ESCs is optimized for running a model aircraft motor, and usually has a fairly slow throttle response to help the motor run smoother. 'Flashing' an ESC refers to replacing the firmware with one optimized for drones, which need the fastest possible throttle response for best stability. You can now buy ESCs which already have this firmware in them, which saves having to do it yourself.

  • \$\begingroup\$ so as long as one only focused on getting motor running constantly at maximum performance, one could just ignore flashing the ESC, right? \$\endgroup\$ Dec 28, 2019 at 10:26
  • \$\begingroup\$ That is unanswerable as there's no way for us to know if the factory firmware in your ESC is any good. Hopefully it at least spins rather than makes smoke \$\endgroup\$ Dec 28, 2019 at 13:10
  • \$\begingroup\$ If you buy an ESC not designed for drones then the throttle response may be sluggish - so don't do that if you want to use it in a drone. BLHeli ESCs are good to go out of the box, no need to 'flash' the firmware. Any ESC with SimonK firmware should also be fine. If the ESC is not going into a drone (or other platform that requires very fast throttle response) then any generic ESC should be OK. \$\endgroup\$ Dec 28, 2019 at 17:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.