STM32 boards support

Driver support

MCU2 PWM mode4PWM mode3 PWM mode6 PWM modepwm frequency config

Current sensing support

stm32 (in general)✔️
stm32f1 family✔️✔️ (one motor)
stm32f4 family✔️✔️ (one motor)
stm32g4 family✔️✔️ (one motor)
stm32l4 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.

Nucleo-64 boards(ex. Nucleo F446RE)
- 3.3V logic
- 20 PWMs
- all pins interrupts
- 180Mhz
Bluepill(ex. STM32F103C8)
- 3.3V logic
- 15 PWMs
- all pins interrupts
- 72Mhz

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.

B-G431B-ESC1- STM32G431CB chip
- On-board ST-LINK/V2-1
- 1 motor
- 30V/40A
- current sensing
- fault protection
STM webiste
Storm32 BGC- DRV8313
- 3 motors
- 50x50mm
- Stm32f103

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: