Driver configuration

Arduino SimpleFOClibrary supports BLDC and stepper motor drivers:

  • BLDC driver
    • 3 PWM signals ( 3 phase ) - BLDCDriver3PWM
    • 6 PWM signals ( 3 phase ) - BLDCDriver6PWM
  • Stepper drivers
    • 4 PWM signals ( 2 phase ) - StepperDriver4PWM
    • 2 PWM signals ( 2 phase ) - StepperDriver2PWM

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

MCU2 PWM mode4 PWM mode3 PWM mode6 PWM modepwm frequency config
Arduino AVR (8-bit)✔️✔️✔️✔️✔️ (either 4kHz or 32kHz)
Arduino DUE✔️✔️✔️✔️
esp32 MCPWM✔️✔️✔️✔️✔️
esp32 LEDC✔️✔️✔️✔️
Raspberry Pi Pico✔️✔️✔️✔️✔️
Portenta H7✔️✔️✔️✔️
Renesas (UNO R4 Minima)✔️✔️✔️✔️✔️
📢 Here is a quick guide to choosing appropriate PWM pins for different MCU architectures see in docs.