Can the Qwiic Motor Driver run two motors independently?

I have two peristaltic pumps I want to run on the driver, but I want to make sure that if I turn one pump on, it won’t turn on the other at the same time. I want to control both, but have their actions be independent of each other. Also just to clarify the labeling on the motor driver, the nodes labeled A1 and A2 would be for a single motor and nodes B1 and B2 would be for a second motor correct? The product number for the component is ROB-15451. Everything has been set for I2C mode.

Thanks for your help.

Hi, thanks for posting your question!

Yes, you are right on how to connect the motors. The A terminals are for the first motor and the B terminals are for the second. The driver controls each motor independently so commands for one motor won’t affect the other. :slight_smile:

Thanks for the response, it was helpful. Also, do you know of any resources I could look at to make the A and B terminals have different I2C addresses? I’m using Mycodo to control my system and it needs to know the I2C address to do so.

The board itself is what has the address, not the motors. You tell the board which motor you want to operate and then tell it what to do and the board will take care of the rest. You can connect up to 10 boards on a single bus and assign each one it’s own address if you like.

Check out the [hookup guide for more information.](Hookup Guide for the Qwiic Motor Driver - SparkFun Learn)

Is there any instructions or references on how to to code the individual motors in python for a raspberry Pi? I’m not sure how to make it distinguish between the A and the B pump when the motor controller only has it own I2C address. I understand that the controller has its own I2C address but I don’t know how to then make it understand to make either A or B perform an action. Another question about setting the I2C address, is there a way to unsolder the connect in the terminal 3 underneath the board to get more of a variety of I2C address?

Jumper three is closed by that little silver trace between the two pads setting it to 1. Jumpers two,one, and zero are open setting them to 0. If you wanted to set jumper three to zero, you’d need to cut the trace between the two pads, [this tutorial will show you how to work with jumpers.

Even if you leave jumper three set to 1, you can close combinations of the remaining jumpers and still have four more addresses at your disposal.

As far as code, there’s some examples if you look in the ‘Documents’ section on the product page, click the item named “Python Module.”

](How to Work with Jumper Pads and PCB Traces - SparkFun Learn)