Qwiic motor driver not driving motor at lower levels

Hi all,

I have a simple setup that includes a raspberry pi 4b, qwiic shim, qwiic motor driver, and a DC motor.

I was attempting to create a rust library that mimics the python library for this device when I encountered an issue. The motor only spins at levels 1-10 (CCW full speed) and 249-255 (CW full speed). It seems the lower speed levels don’t spin the motor at all. It is an extremely abrupt off-on transition when going from say, 248 to 249, and there is no discernable rpm difference between say 249 and 255 (I don’t have a tachometer to verify this though).

At first I assumed this was due to my rust code, so I tried the simple example from the python library instead and got the same result, where the motor does not operate at most levels except the extremes.

The motor operates fine when connected directly to power supply and adjusts speeds as expected within the range of 1v - 12v.

The power supply is delivering ~1mA when the motor is not spinning, and about 200mA when the motor is spinning.

The motor is making a humming sound when being instructed to drive, even when not spinning.

I would test on other motors but I unfortunately do not have any others on hand, except for a 60RPM version of the same motor (same amazon page too), which yields the same result. Can anyone look at these symptoms and advise on what to try next? Thanks!

Are you also driving the motor alone @ 10.99v, or 12v? My first guess is that being a 12-24v motor it is simply being undersupplied

You might want to put some other headers on top of the shim to ensure its tension fit is pressed tightly

Do you have another motor you can test with?