QWIIC-est way to control fan speed?

Hi - my very first project here I just want to variably control the speed of a 12v fan using QWIIC.

I thought I could just use the SparkFun Qwiic Motor Driver since the regular SCMD indicated in its Hookup Guide that “CPU fans – can be varied” and I have used a forward diode to prevent reverse voltage application.

However, I can only get the fan to turn on, and only at full speed, if I connect it to both Motor Ports A & B and use use consecutively:

myMotorDriver.setDrive( 0, 0, 255);

myMotorDriver.setDrive( 1, 0, 255);

Anything less than ‘255’ does not work.

Only connecting or using one motor port does not work.

I have seen this problem in other threads, but the solution seemed pin/PWM related on projects not using an SCMD.

I assume needing to hook up the fan to both ports relates to the drive current.

The guide says “Need more current? Each board’s output can be bridged to allow double current.”

But I also cannot seem to get the myMotorDriver.bridgingMode command to work either.

Am I missing something in the overall configuration and code to make this work?

Do motor ports need to be properly bridged, and if so, how?

Or is it not really possible to control a fan’s speed with the Qwiic Motor Driver?

If that is the case, are there any other QWIIC options for fan control?

Thank you for any advice - it will be greatly appreciated.

How big is the motor you’re trying to drive and how much current does it need?

Have you already tried bridging the outputs?

Can you send photos of your setup?

Thank you for responding Chris.

The fan is 12v - 1.8A.

I have the input voltage to the Quiic Motor Driver turned down to 10.5v, but the goal is to hopefully drive the fan at a much lower speed.

I know the spec of the driver is 1.5 A peak drive per channel, 1.2 A steady state.

So I have physically bridged the outputs and in the sketch I start both motors consecutively:

myMotorDriver.setDrive( 0, 0, 255);

myMotorDriver.setDrive( 1, 0, 255);

Is there some way I should bridge the outputs in the sketch?

Or is the only way to turn both motors on at the same time just with consecutive startup commands?

If I try to use any other value than ‘255’ the fan won’t start.

And after the fan starts up with ‘255’ I can’t reduce the speed - it’s basically working as a relay, either 100% or 0%.

I will try to figure out how to upload a picture.

I have a BlackBoard-C, Qwiic Motor Driver, Qwiic Thermocouple Amplifier, Qwiic Twist Encoder and a Qwiic LCD.

I want to attempt some PID temperature control.

Since a fan is just a motor connected to some fan blades you could probably just try PWM: https://www.electronics-tutorials.ws/bl … ation.html

Thank you for the reference @KansasBot - I will give it a try

I have no skills at building circuits and was hoping to find a ‘off-the-shelf’ solution using QWIIC, but that just may not be possible