Reverse BLDC direction with Arduino

I am trying to simply reverse the direction of a BLDC motor with software alone via arduino. Looked everywhere but there is very little info on this at the time of writing this post. I found this quote on amazon:

"must write.microseconds of 1480 to initialize the esc on startup (neutral). This will then allow you to go reverse with values under 1480, and go forward with values above 1480."

This seems pretty straight forward, but I don't know how to initialize the ESC on startup as neutral!!
I have tried max and min, but that's 2 values.

So far everything I tried will spin the motor forward, but not reverse it. Does anybody know how to reverse a BLDC motor within the Arduino IDE?

Use writeMicroseconds() to write the neutral value to the ESC before you call the attach() function, then use write.Microseconds() to control the ESC subsequently

It will depend on what ESC and BLDC you're trying to use. Aircraft ESCs do not have a reverse mode. Some car and boat ESCs do, some don't. Details matter!


I am sure that the ECS that I bought has reverse capability. This is the model I got from Amazon:

Here is the code and I still only spins in 1 direction:

#include <Servo.h>

Servo myservo;
void setup() {

void loop() {



Where exactly did you see this in relation to the ESC that you linked to ?

I found it under review comments for a different ESC which I also ordered just to be sure since it said it's "Bidirectional". The comment is titled [Arduino initialization] and the link is:

So which ESC are you actually testing ?
Most ESCs cannot run a brushless motor in forward and reverse without physically changing the connections to the motor

This one:

That ESC is not reversible in any real time fashion. It can be programmed on startup to rotate in either direction which is basically the same as swapping any 2 motor leads. But that's all.

The other ESC looks like it can be reversed with somewhere around 1480 being stop and lower values being one direction, higher values the other.


After reading more into it, looks like the one I am using now is NOT reversible. I will post the code here once I get the other one working. It is still in transit. Thank you.

Steve, just out of curiosity, how does one flip direction on startup with this ESC?

@vela0050, your topic has been moved to a more suitable location on the forum.

Read the programming instructions in the manual and send the same commands that the transmitter would have sent.


This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.