Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Blocked motors on 3pi robots


Hi there,

I am currently working on a project that involves several 3pi robots. Most of them already had a few hours run. As time goes, mechanical problems appear:
Some of them have a mechanical resistance growing on one of the wheels, which makes it harder to spin, or in some cases the wheel is just totally blocked. I unmounted the wheel part to look for some dust or parasite but the wheel itself seems fine, it is the motor part that is indeed blocked, and I have no idea what to do about it. The robots are moving on a dedicated platform ans are therefore not subject to much dirt, falling etc.

Does anyone have experience with this/ knows how to fix such things?
Any help greatly appreciated!




We have not heard of others experiencing this, and we have several here in the office that have been running for years. How and where are you using your 3pi robots?

  • Grant


hi grant, as described above, the 3pi’s are running on a dedicated PVC platform. they navigate this platform using a combination of ir sensors, remote control and linefollowing. the 3pi base is controlled through a mbed on a custom expansion board we designed. i have about 10 3pi’s that exhibit the aforementioned motor problem. any tips for fixing / debugging?


I cannot determine what is wrong with the information you have given me. However, it seems weird that you have 10 3pis exhibiting this behavior after a couple hours of use when we have not heard of anyone else having similar problems. Is anything interfering with the wheel or weighing the 3pi down? Could you post pictures or video of the 3pi robots?

  • Grant


I assume these 10 robots have almost the same code running in all of them (correct me if I am wrong), so its more related to the code.
One suggestion is to try each one of them separately with a standard code such as the sample line following code, after that I think its easier to judge if they are faulty or not.
Good luck.



Moat, we actually have much more than 10 3pi robots in this project, and most of them are still running fine (it’s the fact that problems like this keep showing up that scares us). Since they are all running the same code (which is running a basic line following algorithm by default) as you stated, I don’t think it could be related. And in the case of a blocked wheel for example, the wheel won’t spin even when the robot is off.

Grant, the platform is flat and clean, so there should not be much interefering with the wheels. However, the custom expansion we designed holds a 6600 mAh battery that has a certain weight, but if this issue was due to the weight of that expansion, how would that problem appear only on a few of them?


there are occasional collisions between 3pi’s. is it possible that these would lead to blocked motors? here’s a video of the platform and the bots. vimeo.com/61952844


The 3pi is not intended for collisions, so it is conceivable that is part of the problem. I am also concerned that the weight of your expansion gear might be an issue. How much do your modified 3pis weigh? How long were the robots running before they started developing problems?

It would be nice if you could send us back some of the bad units to evaluate (ideally, with your modifications included). Please email us directly with a reference to this post, and we will get you an RMA number.

  • Grant

3pi Robot Videos

It is some time now that I have stopped using the 3pi, but I had the same problem.
I had to set the speed of the left motor to a value 15 units less than the speed of the right motor so as the robot to move on a straight line else it moved in circles.


Hello, maou.

That behavior is normal and is probably not the same as the problem the original poster was describing. In general, you should not expect two different motors to move at exactly the same speed when supplied the same voltage; driving in a straight line is not easy without closed-loop feedback.

- Ben


I think it might be the same problem because it was working fine ( moving on a straight line ) at the beginning and after some time it developed that behavior.
The code was the same.


Sorry my mistake,

I said I supplied the same voltage when I should have said that I used the same integer value as an argument to the setSpeeds(value,value) function.



The two are essentially the same thing. It is possible the friction in one of your motors built up a little over time, but the behavior you are describing does not sound abnormal. It is within the normal realm of motor variance to, for example, use a 240 speed for the left motor and a 255 speed for the right motor just to make the 3pi drive in a relatively straight line.

- Ben