Community's list of tested off-the-shelf drivers

List of tested off-the-shelf drivers that work with SimpleFOC. The list is going to be updated as you post your findings :smiley:

This thread will serve as a place to post and update community tested drivers before we update Drivers | Arduino-FOC (simplefoc.com). Please make sure to list your whole set-up and what you had to do to have a working set-up. Please make note that posting about drivers that didn’t work is also valuable.

BLDC motor:

  • L6234
  • DRV8301
  • DRV8302

Stepper motor:

  • MX1508
  • TB6612

Both:

  • L298
  • L293

I know I’m missing a lot, please help me with the ones I’m missing :grin:

Here’s a pic of some drivers I found in my box of, well, drivers:

All of them are dual-H-bridge motor drivers, all of them can drive 2 DC motors or 1 stepper. But only the L298N (on the right) can drive BLDCs, it seems.

The are, from left to right:

  1. DRV8833 - AliExpress - Datasheet - Can’t get it to work. The init routine sort of runs, but the motor then won’t rotate.
  2. MX1508 (?) - AliExpress - “Datasheet” seemingly does not really exist - Not working
  3. HG7881CP - AliExpress - Datasheet - Not working

In all three cases, the initialisation seems to do something, moving the motor a few steps in the usual way, but the drive does not work at all, with the motor emitting a low hum, not moving, and occasionally showing a bit of movement if you change the target velocity, move it by hand or reverse direction.

Its a shame, because these boards are super-cheap and fairly small, and promise a bit more efficiency than the L298N due to their FET-based designs.

Thinking about the reasons:

  1. The DRV8833 is too “smart” compared to the L298N - it has its own PWM scheme, does internal processing on the inputs to combine them with its current limiting, and the datasheet even says it accepts PWM input on only one input pin at a time… so I guess its a no-go for SimpleFOC.
  2. Not sure… not enough documentation on this chip to say, but I guess it is the same kind of reason as the other two.
  3. With this chip it is the active brake feature, I think, which prevents the use with SimpleFOC. If you look at the truth table, it handles inputs 1 1 or 0 0 in a special way - I guess that’s a no-go when you’re trying to drive 3 separate using a half-bridge each.

Has anyone tried the Cytron 10A 7-30V Dual Channel DC Motor Driver Shield? Seems fairly cheap for a medium-power shield. https://www.robotshop.com/media/files/content/c/cyt/pdf/cytron-10a-7-30v-dual-channel-dc-motor-driver-shield-datasheet.pdf

I have one ordered and will report if it works.

It probably works. But it is a driver for 2 brushed DC motors. SimpleFOC is about driving brushless motors.

Hey @Caleb_Rucker!
This boards seems like it would be able to work for stepper motors. Even with the standard simpefoc interface for 2PWM stepper motor.
https://docs.simplefoc.com/stepper_driver_2pwm

And if it does not, I’ll be happy to dig into he code and support it.

But due to the DIR/PWM interface the boards supports it will not work with BLDC motors. Maybe if you do some soldering and hacking :smiley: