Link
On this page

BLDC motor drivers

This library will be compatible with most 3 phase BLDC motor drivers. Such as L6234, DRV8305, DRV8313 or even L293.

At this moment, a low-cost BLDC driver board is still reasonably hard to find, making our choice of hardware quite restricted. This is the one of the motivations to develop the SimpleFOCShield, a versatile and simple BLDC driver. Fortunately, the community is starting to gain momentum in this direction and it is probably a matter of time before BLDC motors become a standard in the hobby community as well, what is really exciting! 😃

The choice what kind of BLDC driver you will need in your project directly depends on the BLDC motor you are using. Therefore we can divide them in two groups:

⚠️ No drone ESCs!

Traditional drone ESCs are not suitable for FOC because they typically use a fixed commutation scheme (6-step usually), can only be velocity controlled and lack the necessary interfaces for connecting sensors and implementing advanced control algorithms.

It is a pitty, because they are very cheap and widely available and very powerful!

If doubting if your board is compatible or not, please ask in the community forum, we will be happy to help you out!

Low power boards ( gimbal motors )

Here are some BLDC driver boards that are designed for gimbal motors and work with the library off-the-shelf. Gimbal motors usually have more than 10 pole pairs and have an internal resistance >10Ω. They are designed for very smooth performance at low speeds. Gimbal motors are very versatile and are perfect for high-quality replacement of stepper motors and DC servo motors.

Examples Description Specifications Link Price
Arduino
SimpleFOCShield v1
- L6234 chip
- 8-24V
- up to 5 Amps
- 1 motor
- Arduino Shield
- Encoder+I2C Pullups
More info 15€
Arduino
SimpleFOCShield v2
- L6234 chip
- 8-24V
- up to 5 Amps
- 1 motor
- Arduino Shield
- Encoder+I2C Pullups
- In-line current sensing
- On-board voltage regulator
SimpleFOC store
Aliexpress
Ebay
~20€
SimpleFOCMini v1 - DRV8313 chip
- 8-30V
- up to 2.5 Amps
- 3.3V LDO onboard
- 1 motor
- 21x26mm
SimpleFOC store
Aliexpress
5-15€
Deng FOC controller
breakout board
- L6234 chip
- 8-24V
- up to 5 Amps
- 2 motor
- 39x56mm
Aliexpress
Ebay
35-50€
SimpleFOCNano - DRV8313 chip
- 8-30V
- 2.5 Amps
- 1 motor
- Nano Shield
- SPI+I2C JST connectors
- On-board voltage regulator
Tindie
Github
20€

Alternatively, you can find gimbal controller boards with integrated BLDC drivers and microcontroller chips.

Examples Description Specifications Link Price
HMBGC V2.2 - 4599 mosfet
- 2 motors
- 50x30mm
- Atmega328
Ebay 20€
BGC 3.0 - 4599 mosfet
- 2 motors
- 50x50mm
- Atmega328
Aliexpress 10€
BGC 3.1 - l6234
- 2 motors
- 50x50mm
- Atmega328
Ebay 10€
Storm32 BGC - DRV8313
- 3 motors
- 50x50mm
- Stm32f103
Ebay 25€

Finally, one of the cheapest possible solutions for running a gimbal BLDC motor is to use one of the dual DC motor motor drivers such as:

Examples Description Specifications Link Price
Stepper driver L298N - L298N chip
- 1 motor
- 5V-35V
- 2A(MAX single bridge)
Ebay 2€

L298N limitations

L298N is based on bipolar transistor technology and has relatively long transistor rise times which can produce non-smooth operation. We suggest the L298N based boards only in closed loop mode, as the position sensor can correct possible noise from the driver. It can also be a good board for beginner users, to get familiar with the FOC as a cheap solution, but with certain performance limits.

High performance boards

SimpleFOClibrary will support basically any BLDC motor driver which can be controlled using 3 PWM or 6 PWM signals. Additionally, drivers with current sensing can directly control torque, whereas all other drivers can use estimated current (more info).

Here are the boards that have been tested and are compatible with the library:

Examples Description Specifications Link Price
DRV8302 driver - DRV8302 chip
- 1 motor
- 45V/27A
- BEMF/current sensing
- fault protection
Aliexpress 30€
DRV8301 driver - DRV8301 chip
- 1 motor
- 45V/27A
- BEMF/current sensing
- fault protection
- SPI configuration
Aliexpress 45€
B-G431B-ESC1 - STM32G431CB chip
- On-board ST-LINK/V2-1
- 1 motor
- 30V/40A
- low-side current sensing
- fault protection
STM webiste
Mouser
16€
Infineon
BLDC-SHIELD_IFX007T shield
- IFX007T half-bridges
- 1 motor
- 40V/30A
- BEMF/low-side current sensing
- fault protection
Infineon 40€
@byDagor
Dagor Brushless Controller
- DRV8305 driver
- 1 motor
- 25V/40A
- Current sensing
- Integrated sensor
- Esp32 based
- fault protection
simplefoc shop
alpha batch sold out
40€
Arduino
SimpleFOCPowerShield
- BTN8982 half-bridges
- 1 motor
- 40V/30A
- fault protection
Release v1:
- In-line current sensing
- I2C/Hall/Encoder pullups
- 2x Stackable
fabricate ~20€
FOC-SimpleFOC-MotorDriveDevelopmentBoard - IR2103 drivers
- 1 motor
- 36V/20A
- low-side current sensing
Aliexpress Ebay 30€
ODRIVE V3.6 - STlink programmer needed
- 2 motors
- 12-48V
- 60A (120A peak)
- low-side current sensing
Aliexpress
ODive shop
70-100€
200€
FOCn - BLDC driver module - ESP32-S3
- DRV8323
- up to 45V
- 10A (25A peak)
- inline current sensing
Tindie
Github
20€
Arduino
SimpleFOCDrive
- Arduino shield
- BSZ0904NSI MOSFETs
- 3PWM
- 8-30V
- 20A (30A peak)
- inline current sensing
Aliexpress
Github
20€

IFX007T and BTN8982 chips limitations

IFX007T and BTN8982 are based on relatively old transistor technology and have relatively long transistor rise times which can produce non-smooth operation. We suggest the boards based on these chips to be used only in closed loop mode, as the position sensor can correct possible noise from the driver. It can also be a good board for beginner users, to get familiar with the high-current FOC as an inexpensive solution, but with certain performance limits.

🔎 Find more boards

There are many more boards compatible with the library, the above tables bring just a few examples. To find more boards, you can search for the BLDC drivers mentioned in the tables, or simply search for “simplefoc” on your favourite shopping website.

For example:

You can also check the community projects to see what other users are using in their projects, and share your own project as well!