Link

STM32 boards support

Driver support

MCU 2 PWM mode 4PWM mode 3 PWM mode 6 PWM mode pwm frequency config
stm32 ✔️ ✔️ ✔️ ✔️ ✔️

Current sensing support

MCU In-line Low-side High-side
stm32 (in general) ✔️
stm32f1 family ✔️ ✔️ (one motor)
stm32f4 family ✔️ ✔️ (one motor)
stm32g4 family ✔️ ✔️ (one motor)
stm32l4 family ✔️ ✔️ (one motor)
stm32f7 family ✔️ ✔️ (initial)
stm32 B_G431B_ESC1 ✔️ (one motor)

Stm32 devices have full compatibility using the SimpleFOClibrary and will work with all driver types.

Arduino SimpleFOClibrary will support most of the stm32 boards out there. Stm32 boards are very powerful and they are the most common choice for implementing motion control applications. Here are two most commonly used families of boards with this library.

Board Name Specifications Link Price
Nucleo-64 boards (ex. Nucleo F446RE)
- 3.3V logic
- 20 PWMs
- all pins interrupts
- 180Mhz
Mouser 15€
Bluepill (ex. STM32F103C8)
- 3.3V logic
- 15 PWMs
- all pins interrupts
- 72Mhz
Ebay 5€

There is a lot of stm32 based fully integrated boards for bldc motion control out there and SimpleFOClibrary will in most cases be able to support them.

Board Name Specifications Link Price
B-G431B-ESC1 - STM32G431CB chip
- On-board ST-LINK/V2-1
- 1 motor
- 30V/40A
- current sensing
- fault protection
STM webiste
Mouser
16€
Storm32 BGC - DRV8313
- 3 motors
- 50x50mm
- Stm32f103
Ebay 25€

Arduino IDE support package

The STM32 boards are supported using the STM32Duino package, it is completely open-source and can be installed directly through the Arduino Board Manager. Please check the STM32Duino wiki to see a detailed guide how to install the package and all its functionalities.

VESC boards support

Here is a very cool video about the initial support for the VESC4.1 using the SimpleFOClibrary made by @owennewo: