I'm building a small tracked robot. Currently it's just a Raspberry Pi, two motors and an L298N controller.

The problem I'm facing is that the motors are stalling at low voltages (which is what I assume the control controls). So it's impossible to move the robot slowly.

I don't have any kind of datasheet for the motors. I only know that the "recommended voltage is 3 - 9V" and they draw 300mA without load at 6V. They came as part of the kit I bought. The kit is no longer for sale, but here is an old sales page for it: https://www.botnroll.com/en/robots-educational-kits/1158-iron-man-4-tracked-chassis-for-arduino.html (note that this is not where I bought the robot and I don't know botnroll at all)

The motors are powered by a rechargeable 9V battery (Duracell NiMH 8.4V, 170mAh) which I had lying around and was the correct voltage.

The motors are controlled by a L298N module I got from AliExpress.

I've been trying to learn a bit about how these DC motors work (https://medium.com/luosrobotics/how-to-read-a-dc-motors-datasheet-f70fa440452b) and it looks like they need the highest current when stalled. So just before the robot begins to move, the motors need more current than when it is moving.

This leads me to believe that the problem is most likely the battery. The battery is not able to deliver the required current to overcome the stall. I haven't been able to find the max current for the battery. This is the only datasheet I have found: http://www.farnell.com/datasheets/2039764.pdf

Before going on a shopping spree, I'd like to ask you guys these questions:

  • Is this conclusion correct and is the problem the battery?
  • If yes, what battery solution would you suggest?

Here are some images if you are interested: https://photos.app.goo.gl/vT24qVB1xPFqTVScA

  • 1
    $\begingroup$ I generally prefer Lithium batteries for robotics. 9v smoke-detector batteries generally can't produce the amperage needed for motors. $\endgroup$
    – NomadMaker
    Apr 9, 2020 at 15:50
  • $\begingroup$ Thanks for confirming. That's indeed what I was thinking $\endgroup$
    – Peter
    Apr 9, 2020 at 19:55

1 Answer 1


You have two motors that

draw 300mA without load at 6V

and you have one battery that is rated at

8.4V, 170mAh

Combined, you have two motors that draw a combined (2 * 0.3 * 6) = 3.6 Watts unloaded. Compare that with your battery, that has a capacity of (8.4 * 0.17) = 1.428 Watt-hours.

That is, you can run your motors unloaded for (1.428/3.6) = 0.4 hours, or 24 minutes, and that's assuming you can get 100% of the power out of the batteries.

As NomadMaker pointed out, you're drawing a very high amount of current for that battery.

Drawing high current from a battery will heat the battery, which increases the internal resistance and results in more power lost in the battery.

It could be that the battery is undersized for your application, but I would bet it's just dead. I would typically only count on being able to charge to 90%, and only being able to discharge down to 20% before brownout, which means I typically only count on being able to access 70% of a battery's rated capacity. This would lower your operating time from 24 minutes down to ~17 minutes, and again that's assuming the motors are unloaded.

Stall current is what the motors would draw if you held the shaft stationary; it's not the same as starting current, though starting current is higher (~3x) than running current. Still, your stall current is rated at 4 A (!!) each - if your normal running current is 1 A each then I'm guessing you've got about 5 minutes of run time before your battery is dead.

So, tl;dr here: Measure the battery voltage. I would guess it's dead at around 8V. If it's not dead then the battery might not be able to supply the current, but you should consider changing batteries anyways as you don't have much runtime even under ideal conditions.

  • 1
    $\begingroup$ Thank you for confirming what I was thinking and explaining it so clearly! $\endgroup$
    – Peter
    Apr 10, 2020 at 6:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.