Sensing current to protect motor from stalling


I’ve looked through the forums, but have not found information specific to the machine that I am designing. So, I’d like to get some suggestions regarding which Pololu component(s) will work best for this project.

I’m building a round wheel conveyor for moving cylinders/bottles from one location to another. It’s kind of like what is used for filling soda containers. See the attached image. (This image is not my machine, just similar).

My current prototype is actually working quite well. The main wheel is powered by a 12V, 37D gear-motor. I’m controlling the speed with a $5 China/eBay PWM controller w/potentiometer. When all is working properly, the load on the motor is minimal. It can run cool for hours on end. But… when a cylinder/bottle does NOT slip out the exit slot properly, a jam-up occurs and the motor stalls. This is where I need your help.

My proposed solution is to have the elevated current detected when the wheel/motor gets jammed. Probably somewhere just below 1 amp. The controller would then stop the motor for 500 milliseconds, reverse the motor for 1000 milliseconds, (this will release the jam-up), pause the motor again for 500 milliseconds, then resume the normal forward direction. That’s it!

From my research, I think that the A-Star 32U4 SV will do everything I need. It would probably also replace the PWM speed controller (?). I do still want the ability to manually adjust speed (preferably via potentiometer). My power source is 12 volts, 5A.

I am a mechanical guy, so please reply in layman’s terms when referring to any suggested electronic/coding solutions. I do have a little Arduino experience.

Thank you.


Our A-Star microcontroller boards are general-purpose programmable modules based on Atmel AVR microcontrollers. Microcontrollers like those generally do not have built-in features for controlling motors or sensing current. However, you could use an A-Star in a system that also has a motor driver and current sensor to do what you want. For example, you could use the A-Star to read the value of a potentiometer, send PWM control signals to the motor driver, read the analog voltages from a current sensor to detect a jam, and react to it. We cannot write the code to implement this functionality for you, but we can certainly help you troubleshoot once you have something started.

You can find our selection of brushed motor drivers here and our current sensors here. Alternatively, you might consider using one of our motor drivers which has an integrated current sensor, such as the VNH5019.


Hi Josh,

Thank you for the reply. Sounds like you understand what I’m attempting to do.

I’m inquiring about the A-Star 32U4 Robot Controller SV that features two on-board Maxim MAX14870 motor drivers. Digging a little deeper I found that on Page 13 of the MAX14870 data sheet mentions current sensing feedback: "_The motor current can be controlled by external PWM regulation using sense resistor feedback in a control loop. ". Can I use that feedback to have the microcontroller react? If so, this could be an all-in-one solution.

– Bernie

Hello, Bernie.

Unfortunately, we do not offer any products which would be a good all-in-one solution for your application. The A-Star 32U4 Robot Controller SV does have built-in MAX14870 motor drivers, but they have a maximum peak current rating of 2.5 A. The 37D motor has a stall current of 5A, making the driver chip underpowered for your application; so, the motor drivers are at risk of failing when the wheel jams. Page 13 of the MAX14870 datasheet depicts external current regulation using a microcontroller, but this functionality is not implemented on the Robot Controller.