Mikroe Brushless 6 click - 3 Phase Sensorless Brushless Motor (BLDC) Driver

Product ID: 7597
Mikroe brushless 6 click 4261322771
$34.99 Backordered

Ships in 15 to 20 days

Brushless 6 click is designed to drive a three-phase sensorless, brushless motor, also known as the BLDC motor. The motor rotation is controlled by receiving driving commands via the incoming PWM signal. This click board fully controls the rotation of the BLDC motor by utilizing the onboard MCU ATmega8A, an 8-bit MCU from Microchip. The onboard MCU outputs are not adequate to power on the coils of the BLDC motor directly, so this MCU is used to control the power circuitry, instead. This circuit consists of 6 MOSFET transistors, used to switch the power from an external power source to the appropriate stator coils.

The advantages of the BLDC motors over the other types of DC motors are many. Thanks to their contactless design, BLDC motors last longer and because of the superior rotational speed and torque properties, BLDC motors are widely used for high-speed, lightweight applications such as the drive motors for drones, electronic cooling equipment, small house appliances, robotics and similar applications. The Brushless 6 click provides an easy and elegant solution for driving BLDC motors.

How does it work?

DC brushless motors, also known as BLDC motors, are becoming very popular recently, due to the fact that they have many advantages over some other types of DC motors. The term "brushless" actually means that the rotor of the BLDC motor doesn’t have any surfaces which make the electrical contact with the stator because the rotor uses only permanent magnetic materials. 

The main control logic component of the Brushless 6 click is the ATmega8A MCU from Microchip. It uses a 50Hz PWM signal at one of the input pins, routed to the PWM pin of the mikroBUS™ socket. The duty cycle of the incoming PWM signal is decoded by the onboard ATmega8A MCU so that a certain pulse width range is used to set speed and direction of the rotation. The information about how to properly decode the controller PWM signal can be found in the PWM signal control table, below. MikroElektronika demo application provided with the Brushless 6 click board, uses simplified functions to calibrate and set the speed and the direction of the BLDC motor, so it can be used as the reference for the future design.

Since the MCU output can't be used to drive heavier loads directly, the stator coils are driven through the MOSFET transistors network, controlled by the MCU. The electrical circuit that powers the coils is also known as the "invertor" circuit because it provides both positive and negative voltages from the connected external power supply. The motor can be connected via the onboard connector, which provides an easy and secure connection. There is also a power connector, used to connect the external power supply, up to 12V.


Type DC
Applications The Brushless 6 click can be used to drive BLDC motors for a wide range of applications, such as the BLDC motors for drones, electronic cooling equipment, small home appliances, toys...
On-board modules ATmega8A, an 8-bit MCU from Microchip.
Key Features Complete driving and control of the BLDC sensorless motors in both directions. Easy to use PWM signal control through one wire.
Interface PWM
Input Voltage 5V
Click board size M (42.9 x 25.4 mm)

Pinout diagram

This table shows how the pinout on Brushless 6 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 PWM PWM control
NC 3 CS RX 14 NC
NC 7 3.3V 5V 10 +5V Power Supply
        Ground GND 8 GND GND 9 GND Ground

Brushless 6 click electrical specifications

Description Min Typ Max Unit
External input voltage range 8 12 12 V
Output current 1 A

Onboard settings and indicators

Label Name Default Description
PWR Power LED - Power LED indicator
CON1 Connector - External power supply connector
CON2 Connector - BLDC motor connector

PWM signal control

PWM duty cycle (f = 50Hz) Command 
1ms - 1.5ms CCW speed (max speed to 0, counterclockwise)
1.5ms No rotation
1.5ms - 2ms CW speed (0 to max speed, clockwise)

Note: There is a "dead zone" area around the pulse width of 1.5mS, to compensate for the accuracy of the used controller stick or some other similar control device.

Software support

We provide a demo application for Brushless 6 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Example description

The example demonstrates how to initialize and control a brushless motor using Brushless 6 click. The demo application is composed of two sections :

  • systemInit - Initializes PWM module but also and Brushless click by executing initialization procedure. Initialized UART module is used for message logging.
  • appTask - Periodically changes the motor speed using PWM module but also log current setting to UART.
void applicationTask()
    brushless6_setMotor( _BRUSHLESS6_SPEED1 );
    UART_Write_Text( " Speed 1 ");
    UART_Write( 13 );
    UART_Write( 10 );
    Delay_ms( 1000 );

brushless6_setMotor( _BRUSHLESS6_SPEED2 ); UART_Write_Text( " Speed 2 "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 );

brushless6_setMotor( _BRUSHLESS6_SPEED3 ); UART_Write_Text( " Speed 3 "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 );

brushless6_setMotor( _BRUSHLESS6_CCW ); UART_Write_Text( " Direction Change "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 );

brushless6_setMotor( _BRUSHLESS6_INIT ); UART_Write_Text( " Stoped "); UART_Write( 13 ); UART_Write( 10 ); Delay_ms( 1000 ); }

The full application code, and ready to use projects can be found on our LibStock page.

Other MikroElektronika libraries used in the example:

  • PWM
  • UART

Additional notes and information

Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.