How to Reverse Motors via ESC - ArduPilot Firmware
1. Principle
The motor rotation direction depends on the three-phase current sequence controlled by the ESC. The traditional method is to manually swap the motor wires, whereas BLHeliSuite provides a software method to modify the ESC logic. This is equivalent to "virtually swapping the wires", achieving reverse rotation by changing the drive logic without physically altering the motor wires.
2. Equipment Preparation
Hardware
1) Flight Controller (FC): Any of the SpeedyBee F405 WING APP / SpeedyBee F405 WING MINI / CoreWing F405 WING V2 flight controllers is applicable to this tutorial.
2) RC Transmitter: Radiomaster TX16S / Radiomaster Boxer RC transmitter as examples.
3) Receiver: SpeedyBee ELRS Nano 2.4G as an example.
5) ESC: Most ESCs on the market are applicable to this tutorial. (ESCs supporting Dshot protocol)
4) Computer: Used for configuring parameters via the computer ground control station (GCS).
Software
BLHeliSuite software
3. Procedure
3.1 Download Software
Check the sticker on the ESC, which usually indicates the supported protocol and the maximum supported transmission rate. For example:
- FLYCOLOR 45A ESC is labeled with BL-32 (BLHeli32), supporting up to Dshot1200.
- LANRC 45A ESC is labeled with BLHeli_S, supporting up to Dshot600


Important
If the ESC is labeled with BLHeli_S or BLHeli, download: BLHeliSuite16714901 win version (applicable to BLHeli, BLHeli-s ESCs).zip
Important
If the ESC is labeled with BLHeli_32, download: BLHeliSuite32_32.10.0.0.zip
3.2 Software Operation
Important
The following operation uses BLHeli_32 as an example.
(1) Enable Dshot Protocol on the ESC
If using AP firmware, please refer to: https://docs.corewing.com/plane/ardupilot/settings/esc/esc-dshot.html
(2) Connect the ESC wires to the flight controller output header pins
Important
Confirm whether the mixer output settings in the ground control station (GCS) are consistent with the motor and flight controller connections.
For example, as shown in the figure below, on the MP ground control station (GCS) mixer page, the ESC wires are connected to the flight controller output header pins S5 and S6.
(3) Open the BLHeliSuite software
Important
Disconnect the flight controller port from other programs, such as the ground control station (GCS). Otherwise, the port will be occupied, resulting in a connection failure.
Important
Then power on the flight controller.
- Connect the computer to the flight controller using a USB data cable.
- Click Select BLHeli_32 Interface.
- Select Betaflight/Cleanflight.

- Select the corresponding port.
- Set the baud rate to
115200. - Click Connect to connect to the flight controller.
- After a successful connection, click Check.

- Displaying this page indicates the ESC has been successfully recognized.

- Select the motor number that needs to be reversed, and deselect the motor numbers that do not need to be reversed. (It is recommended to set the reverse direction one motor at a time.)
- If it currently displays Reversed, click the left arrow, and changing to Normal means it is reversed; if it currently displays Normal, click the right arrow, and changing to Reversedl means it is reversed. (The selection here is relative, not absolute.)
- Click Write Setup, and the setup is successful.

Important
Disconnect all power to the flight controller, connect the receiver to the flight controller, bind it with the RC transmitter, reconnect the power to the flight controller, and attempt to arm to verify whether the motor rotation direction has been changed.
4. Q&A
Technical Support QR Code
