Introduction: How to Control BLDC Motor With Arduino and Joystick

About: I am an electronics hobbyist and I love to share my works with others

Hello friends in this tutorial I am showing you how to control Brushless dc motor aka BLDC motor

with Arduino and joystick


A brushless DC motor (also known as a BLDC motor ) is an electronically commuted DC motor which does not have brushes. The controller provides pulses of current to the motor windings which control the speed

These types of motors are highly efficient

Brushless DC motor has two basic parts: the rotor and the stator. The rotor is the rotating part and has rotor magnets whereas stator is the stationary part and contains stator windings.


An electronic speed control follows a speed reference signal (derived from a throttle lever, joystick, or other manual input) and varies the switching rate of a network of field-effect transistors (FETs) By adjusting the duty cycle or switching frequency of the transistors, the speed of the motor is changed. The rapid switching of the transistors is what causes the motor itself to emit its characteristic high-pitched whine, especially noticeable at lower speeds.

Different types of speed controls are required for brushed DC motors and brushless DC motors. A brushed motor can have its speed controlled by varying the voltage on its armature. (Industrially, motors with electromagnet field windings instead of permanent magnets can also have their speed controlled by adjusting the strength of the motor field current.) A brushless motor requires a different operating principle. The speed of the motor is varied by adjusting the timing of pulses of current delivered to the several windings of the motor.

Step 3: Components Needed for This

  • BLDC motor
  • ESC
  • 7.4V battery
  • Arduino
  • joystick

Step 4: Circuit Diagram

Step 5: Code

Step 6: Happy Making

any doubt ask below

Arduino Contest 2020

Participated in the
Arduino Contest 2020