Driver configuration



Arduino SimpleFOClibrary supports BLDC and stepper motor drivers:
- BLDC driver (BLDC or Hybrid stepper motors)
- 3 PWM signals ( 3 phase ) -
BLDCDriver3PWM - 6 PWM signals ( 3 phase ) -
BLDCDriver6PWM
- 3 PWM signals ( 3 phase ) -
- Stepper drivers (Stepper motors)
- 4 PWM signals ( 2 phase ) -
StepperDriver4PWM - 2 PWM signals ( 2 phase ) -
StepperDriver2PWM
- 4 PWM signals ( 2 phase ) -
Configure BLDC drivers Configure Stepper drivers
The driver code is written in a way to support as many different drivers out there as possible and in a way to be fully interchangeable. These classes can be used as stand-alone classes and they can be used to set certain PWM value to the driver outputs, see example codes in utils > driver_standalone_test.
Driver support per MCU architecture
| MCU | 2 PWM mode | 4 PWM mode | 3 PWM mode | 6 PWM mode | pwm frequency config |
|---|---|---|---|---|---|
| Arduino AVR (8-bit) | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ (either 4kHz or 32kHz) |
| Arduino DUE | βοΈ | βοΈ | βοΈ | β | βοΈ |
| stm32 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
esp32 MCPWM | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
esp32 LEDC | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| esp8266 | βοΈ | βοΈ | βοΈ | β | βοΈ |
| samd21/51 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| teensy3 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| teensy4 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| Raspberry Pi Pico | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| Portenta H7 | βοΈ | βοΈ | βοΈ | β | βοΈ |
| Renesas (UNO R4 Minima) | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| nRF52 | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
| Arduino Nano Matter (π’NEW) | βοΈ | βοΈ | βοΈ | βοΈ | βοΈ |
π’ Here is a quick guide to choosing appropriate PWM pins for different MCU architectures see in docs.