Supported driver boards

Arduino SimpleFOClibrary has a goal to support as many BLDC and stepper motor drivers as possible. Till this moment there are two kinds of motor drivers supported by this library:

  • BLDC motor driver
    • 3 PWM signals ( 3 phase )
    • 6 PWM signals ( 3 phase )
    • gimbal motor drivers or high-performance boards
  • Stepper drivers
    • 4 PWM signals ( 2 phase )
    • Stepper drivers or double DC motor drivers

📢 Make sure to read this before settling for a driver!

Before running any BLDC motor with the SimpleFOClibrary please make sure your hardware can handle the currents your motor requires.

The simplest way to do it is by checking the motor phase resistance R. Either check the datasheet of your motor and search for the resistance value or measure it yourself using a multimeter. Then check the value of your power supply voltage V_dc and once when you have the values you can find the maximum current I_max value by calculating:

I_max = V_dc/R

Finally check the value of the maximum current I_max with the datasheet of your driver board. If the I_max is too high you can lower the power supply voltage V_dc in order prevent too high peaks of the current. If you are not able to change your power supply voltage you can limit the voltage set to motor in software.


The equation above calculates the worst case maximum current I_max and in most cases calculated I_max is higher than the actual value. Maximum current depends both on the motor hardware such as winding configuration and the control algorithm.