4 channel DC motor for Pi

I have seen multiple drivers that are 4 channel, but they state that they are for Arduino or systems other than Pi. Are these compatible with Pi, are drivers available? I’m happy writing in Python that addresses drivers, but I’ve never written my own drivers and wouldn’t really like to start now.

Hello @nefarious and welcome to the RobotShop forum,

It depends, could you share the product code or link to the drivers you’re interested in?

Here’s one that could work for you (depending on the specs of your motors)

That one can efficiently run on motors ranging from 4.5VDC to 13.5VDC and has a current capability of 1.2A per channel and 3A peak. You can find lots of tutorials here, as well as the Python library documentation here:
https://circuitpython.readthedocs.io/projects/motorkit/en/latest/

Well, I actually already bought a 4 channel controller based on the L298N chipset, but it came with zero instructions and I’ve not found anything online for running it from a Pi. Would you be able to point me in the direction of anything?

http://www.chinalctech.com/cpzx/Programmer/Motor_Module/183.html

The board I’ve bought was manufactured by those cheeky chappies, though is their V3 rather than V2

Hi!

Most of the tutorials you’ll find are for one or two motors but the wiring and logic behind it are the same so you can follow one of those tutorials, for example:

The board you have has this pinout:

VCC,GND: power supply; * The input voltage has to be greater than 7V
OUT1-OUT8: motor outputs * You connect these to the motors
OUT1, OUT2: DC motor 1 interface
OUT3, OUT4: DC motor 2 interface
OUT5, OUT6: DC motor 3 interface
OUT7, OUT8: DC motor 4 interface
IN1-IN8: motor logic control terminal * These control the direction of each motor (you connect them to the Pi)
IN1 / IN2 : control motor 1
IN3 / IN4 : control motor 2
IN5 / IN6: control motor 3
IN7 / IN8 : control motor 4.
EN1-EN4: Enable * These enable/disable the motors and also allow you to change the speed (I noticed your board has jumpers to 5V so all motors are enabled by default)
EN1: Enable side of motor 1
EN2: Enable side of motor 2
EN3: Enable side of motor 3
EN4: Enable side of motor 4.
S1: power switch
5V: 5V voltage output

I hope that helps!

Okay, I’ve ironed out most of my initial issues, the only one left is speed. I am assuming that I need to remove the 5V to EN jumpers and send them to GPIO25?

Does that mean you can’t select speed specific to each motor, just crosslink them (unless I assign them all different GPIO pins)

Hello!

Yes, you’re correct. If you want to control each motor’s speed independently you need to connect each enable to a different GPIO pin.