Introduction: How to Control Drone Quadcopter Brushless DC Motor (3 Wires Type) by Using HW30A Motor Speed Controller and Arduino UNO

The HW30A Motor Speed Controller can be used with 4-10 NiMH/NiCd or 2-3 cell LiPo batteries. The BEC is functional with up to 3 LiPo cells. It can be used to control speed of Brushless DC motor (3 wires) with maximum up to 12Vdc.


  • Max Continuos Current : 30A on 3 Cells
  • Max Input Voltage: 12V
  • BEC : 2A
  • Input Voltage : 2-3 Lithium Polymer or 4-10 NiCd/NiMH
  • Resistance: 0.0050 ohm
  • FETs: 12 Lithium
  • Cut OFF Voltage: 3.0V / cell
  • Size: 45 x 24 x 9 mm
  • Protection: 110 CPWM: 8KHzMax Rotation Speed 20,000 RPM for 14 pole motor

Step 1: List of Components

    In this tutorial, (please refer the image above) the components needed are as follow:

    1. Battery 2-3 cell LiPo
    2. Arduino UNO
    3. Brushless DC Motor
    4. Male to Male Jumper cable
    5. BreadBoard
    6. HW30A Brushless Motor Speed Controller
    7. USB 2.0 cable type A/B
    8. Variable Resistor 10k ohm
    9. Crocodile Clip

    Step 2: Hardware Installation

    Refer the diagram above for your reference.

    • Connect the battery 2-3 LiPo to HW30A Motor Speed Controller (ESC).
    • Refer the diagram, connect together the HW30A Motor Speed Controller (ESC) with Arduino UNO
    • Last HW30A pin output connect to Brushless DC motor

    Step 3: Source Code

    Download this sample source code and open it in your Arduino IDE

    Step 4: Uploading

    After open the code in Arduino IDE, go to the [Tools] --> [Boards Manager] --> select [Arduino/Genuino UNO] as we using Arduino UNO in this tutorial.

    Then connecting the Arduino UNO to PC, after that select the correct port (go to [Tools] --> [Port] --> Select correct port for Arduino UNO).

    Next, compile and upload the code into your Arduino UNO.

    Step 5: Result