Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

Brushless DC (BLDC) Motors

Are you looking for a high-reliability, high-efficiency and high power-to-size ratio motor? The obvious solution is a Brushless DC (BLDC) motor. It shares many of the same torque and speed characteristics with the Brushed DC (BDC) motor but does not include the brushes. Technically, it is a Permanent Magnet Synchronous Motor (PMSM), but it's named Brushless DC as it operates from a DC power supply using an inverter with a simple commutation method and that there are no brushes involved. In some cases, the stator windings are constructed to match the non-sinusoidal commutation.

The BLDC motor’s simpler commutation method allows a wide range of our products to be used to control it, from 8-bit PIC® and AVR® microcontrollers (MCUs), to the MTD650x family of dedicated BLDC driver chips, to advanced dsPIC ® Digtal Signal Controllers (DSCs) and PIC32MK and SAM Arm® Cortex®-M0 based MCUs for sophisticated applications. Selecting the device that is best suited for your application depends on the performance, cost and efficiency you are trying to achieve in your design. Our comprehensive development ecosystem for BLDC motor control enables you to get started with your application quickly.

Typical Applications

  • Anti-lock braking systems
  • Disk drive servos
  • Throttle controls
  • Fuel pumps
  • Oil pumps
BLDC Control
with Position
Microcontrollers (MCUs).
Digital Signal
Controllers (DSCs)
and Field-Programmable
Gate Arrays (FPGAs)
8-bit PIC® and AVR® MCUs 
dsPIC33 DSCs
32-bit PIC32MK and SAM MCUs
SmartFusion® SoC FPGAs
Single-Chip Motor DriversMTD650x
3-Phase Gate DriversMCP8024
Brushless Motor Control Block Diagram

Some Basics About Brushless DC (BLDC) Motors

How a Brushless DC Motor Works

A Brushless DC (BLDC) motor is a Permanent Magnet Synchronous Motor with a unique back EMF waveform that allows it to behave similar to a Brushed DC (BDC) motor. Some confusion can arise from the name, as a Brushless DC motor does not directly operate off a DC voltage source. However, since a BLCD is essentially a DC motor turned inside out, the basic principle of operation is like that of a DC motor.

A BLDC motor has a rotor with permanent magnets and a stator with windings. The brushes and commutator have been eliminated and the windings are connected to the control electronics. The control electronics replace the function of the commutator and energize the windings in a pattern that rotates around the stator. The energized stator winding leads the rotor magnet and switches just as the rotor aligns with the stator.

BLDC Motor Characteristics

  • There are no sparks
  • Potentially cleaner, faster, more efficient, less noisy and more reliable
  • Heat is generated in the stator which is easier to remove and maintain
  • Rotor has permanent magnets vs. coils making it lighter and easier to start/stop
  • Linear torque/current relationship offers smooth acceleration or constant torque
  • Low cost to manufacture

Implementing BLDC Motor Control

How It Works

A BLDC motor does not operate directly off a DC voltage source. It has a rotor with permanent magnets, a stator with windings and commutation that is performed electronically. Typically, three Hall sensors are used to detect the rotor position and commutation is performed based on Hall sensor inputs. The motor is driven by rectangular or trapezoidal voltage strokes coupled with the given rotor position. The voltage strokes must be properly applied between the phases, so that the angle between the stator flux and the rotor flux is kept close to 90° to generate maximum torque. The position sensor required for the commutation can be very simple since only six pulses per revolution (in a three-phase machine) are required. Typically, the position feedback is implemented by using three Hall effect sensors aligned with the back EMF of the motor. In sensorless control, back EMF zero-crossing detection is used for commutation.

Microcontroller Features for BLDC Motor Control

Basic I/ODigital communication/pulse inputs and feedback input from switches and Hall sensors
Capture/Compare/Pulse-Width Modulation (CCP) or Motor Control Pulse-Width Modulation (PWM)Generation of six-step, three-phase PWMs and speed sensing using input capture
ComparatorsSpeed sensing in sensorless control and overcurrent detection and protection
Analog-to-Digital Converter (ADC)Measurement of current for torque control, measurement of back EMF in sensorless control and measurement of analog input signals 
Quadrature Encoding Interface (QEI)Optical encoder interfacing for position sensing
Communication Peripherals (I2C, SPI, CAN)Torque, speed, position and/or direction information exchange

Sensorless BLDC Motor

The ADC in PIC and AVR MCUs, or dsPIC DSCs samples the motor phase voltages. From these voltages, the CPU determines the rotor position and drives the motor control PWM module to generate trapezoidal output signals for the three-phase inverter circuit.

FPGAs for Multi-Axis Motor Control

Build safe and reliable multi-axis deterministic motor control on a single System-on-Chip (SoC) FPGA. FPGAs provide many advantages for motor control applications, including:

  • Compact solution to save board space and reduce product size
  • Motor speeds exceeding 100,000 RPM for sensorless Field-Oriented Control (FOC).
  • Low latency of 1 μs for FOC loop from ADC measurement to PWM generation allows switching frequencies up to 500 kHz
  • Design flexibility with modular IP suite
  • Advanced safety features such as rotor slip and overload detection and overcurrent protection
  • SoC integration of system functions reduces Total Cost of Ownership (TCO)

Motor Control Hardware and Software Solutions

Featured Software Tools


Motor Control Application Algorithm and Application Software

To support the development of motor applications, we provide motor control libraries and examples for Field-Oriented Control (FOC), windmilling, DC-link compensation, field weakening and many other control algorithms.


MPLAB® X Integrated Development Environment (IDE)

MPLAB X Integrated Development Environment (IDE) is an expandable, highly configurable software program that incorporates powerful tools to help you discover, configure, develop, debug and qualify embedded designs for Microchip’s microcontrollers and digital signal controllers.


MPLAB Code Configurator (MCC)

MPLAB Code Configurator (MCC) is a free, graphical programming environment that generates seamless, easy-to-understand C code to be inserted into your project.

Featured Hardware Tools

dsPIC33CK Low-Voltage Motor Control (LVMC) Development Board

dsPIC33CK Low-Voltage Motor Control (LVMC) Development Board (DM330031)

dsPICDEM™ MCLV-2 Low-Voltage Motor Control Development Board

dsPICDEM™ MCLV-2 Low-Voltage Motor Control Development Board

dsPICDEM MCHV-3 High-Voltage Motor Control Development Board

dsPICDEM MCHV-3 High-Voltage Motor Control Development Board

SAM D21 BLDC 24V Motor Control Kit

SAM D21 BLDC 24V Motor Control Kit

SmartFusion®2 Dual-Axis Motor Control Starter Kit

SmartFusion2 Motor Control Kit - Dual Axis