How to choose the right gearmotor


We are currently building a robot and experiencing some difficulties with our motors.
We are using 2 25D motors with a 34:1 reductor. Our main issue is that we want to be able to control the speed of these motors, in a quite large range.

With the 25D(34:1) our max speed is around 60cm/s which is OK. But at low speed, the motor are struggling below 15cm/s.

We are exploring some solutions, but we’d like to have some inputs to guide us.
Would a 37D motors give us more control at low speed, without impacting to much the high speed ?

Thanks for your help !


Getting consistent performance from DC gearmotors is generally difficult at lower speeds. If you need more precise control at lower speeds, you might consider using encoders to get feedback. We do sell versions of that gearmotor with an encoder, and you can find them under the category page for 25D metal gearmotors. Please note, using encoders will require additional code to properly utilize the feedback for speed control.


Hello Grant,

Thanks for the feedback.

We’re already using encoders on our motors (that’s how we’re measuring speed), but even with those we were hoping we could have better result with a bigger motor.

I don’t find much information to help us determine which motor would work better at lower speed, and I thought you might have a some guidance about that.

I surely don’t expect a motor to be perfectly linear, especially at low speed, but these 25D won’t move an inch with a PWM under 25%, I think we can find some motors that would perform greater on that end.


I understand you are measuring your speed with your encoders, but have you actually tried using the encoder feedback to do closed-loop speed control? You should be able to achieve much slower speeds that way than what you are describing.


Yes, we’re controlling our motors with a closed PID loop. I agree that we can achieve slower speed like this, but the movement is far from a smooth curve since in the end, to achieve such speeds, the motors are constantly starting and stopping.

I think there is a physical limit to what our motors can achieve, and that was the goal of my initial question. Would a “bigger” motor like the 37D perform better at lower speed ?

Thank for your help.

Describe your robot (mass, wheel specs and size) and setup, with links to the motor driver and power supply.

To calculate the torque and energy required to move your robot, you might find the links under “skills” on this site of interest: