Arduino Motor Shields for 12V DC Motor 350RPM w/Encoder

Hey all!
I currently need to run 3(12V DC Motors 350RPM w/Encoder) steadily for about 30 min at around 300rpm. What are suitable motor driver shields and external power supplies for this use case?

I was using 2 L298P Motor Shields in parallel for 3 motors (1st shield: 2 motors , 2nd shield : 1 motor) using the Arduino to power it, and I found the motors just could not spin fast enough.

I prefer to power the Arduino with a 9V through the jack and power the shield separately.

Any suggestions for external power supplies for the associated shield would be appreciated too!

Hey Indi,

How much load is on your motors/how much current do they draw? Will they spin fast enough if you power them directly without the motor drivers?

Sounds like you might need a higher power supply or higher power motor drivers.

Here are some specifications,

  • Rated Voltage: 12V
  • Gear Reduction Ratio: 34:1
  • No-Load Speed: 350 rpm@12v
  • No-Load Current: 0.23A
  • Maximum efficiency point parameters:
  • Maximum power point parameters:
  • Stall current: 5.5A

When connected to benchtop power supply and nothing attached to the shaft, the motors will spin fast enough.
Should I be looking towards stall current and rated voltage when choosing the right motor driver?

1 Like

Hi Indi

Yes definitely. The Arduino has no chance of powering that motor directly. Use a separate supply. The motor drivers and shields have provision for this. The 5V logic supply and motor supply should be separately catered for. You have to consider stall current as if this happens (something jams etc) you don’t want your drivers melting because this has not been considered.
Cheers Bob


Much appreciated everyone!

Are there any specific battery types I should look out for?
For example, L298P Motor Shield is rated for 13.5V input. Should I be using Lipo’s or NiMH?

1 Like

Hi Indi
Whichever battery or motor power source that will handle the 5.5A stall current. or if you want to risk stall conditions the load current of your motors plus about 100%, ie; double operating current. If this is some sort of robot I would go for stall current. I have not looked at the L298 spec but will it handle 5.5A?
Cheers Bob

1 Like

Hi Bob,

The application is for a spinning platform that needs to maintain a certain high RPM and torque. I believe the shield can do 2A max per channel, which is the wrong fit for these 12V DC motors.
I’m currently looking at motor drivers that can handle 5.5A and up and Lipo batteries that are around 11.1V 5000MAH.

Will that be enough to drive the motors?

1 Like

Hi Indi
Do these motors have to be reversible. If not a simple Mosfet driver would be the way to go. Core have one mounted up on a little board with a couple of required components which can be driven directly by Arduino I/O pins. Core SKU: CEO4538. A fast diode (not “normal” power diode) needs to be connected across the motor, Cathode to positive supply.
The advantage of these shields is the use of a “H” bridge to reverse motor connections or drive stepper motors. If higher current is needed a DPDT relay can be used to reverse motor connections driven by another I/O pin usually via a bipolar or darlington transistor or small mosfet.
11.1V should be OK if motor spins fast enough at that voltage. Keep in mind though that the battery will take time to charge between uses and if 3 motors are going at once it may well be not enough or will not run for long.
Do you need batteries? Manufacturers such as MeanWell (which I think Core stock) have a range of switch mode supplies which I feel sure one could be found which would do the job.
Cheers Bob

1 Like

Hi Bob,

They do need to be able to function in both directions. I’ll keep the info you’ve provided in mind for my motor driver.

Perhaps batteries are a less sustainable solution, however, the project needs to function in a remote location that I don’t have access to wall sockets. Rechargeable batteries might be the way to go.
Cheers Indi

If I can add my 2 cents worth.
The stall current seems to be quite high. Using a motor driver to cater for this may not be the best solution. Because a stall situation will rarely occur. (maybe, depends on application)

Lets assume the under load current is 1A for each motor, if you build in a circuit to switch the supply off when the current goes over, lets say, 1.5A, then the 2A motor drivers would be ok.
The switch off circuit could just look at the rpm and if it falls too low, switch off.

The battery “C” rating should be considered. This how much of the rated capacity can be safely drawn without damaging the battery. Drone batteries can be rated at 25C. The battery will happily provide up to 25 times its rated capacity for a short period. Some LIPOs can be rated at 0.5C.

If we assume the current draw with be 3 x 1A and the battery you have chosen has a 1C rating then it would be ok. 11.1V 5000mAh.

Anyway, good discussion.


Hi all
You are right James. The stall current of 5.5A does seem a bit high but it can be checked approximately. Measure the resistance across the motor and calculate it. 12V divided by resistance (Ω) = current (A). While doing this rotate the motor SLOWLY to get the best brush/ commutator connection and pick the lowest resistance. I emphasise SLOWLY as the motor will be a generator when rotated and the resistance reading must be taken while the motor is stationary.

On to available motor controllers with H bridge. James 2nd paragraph has a lot of merit and could be employed. Either ignore the risk of stall or I think some of these chips have current sense facilities where they either shut down or limit current to a save value. It is possible that some of these shields, breakout or mounting boards utilise these features and make them easily available. I am not fully aware of the virtues of most of these boards as so far they have not met my requirements. When I have wanted a variable speed and reversible motor I have always wanted to “creep” the motor very slowly from stand still which these boards or most of the chips I have come across will not do and I have gone with a relay to change direction. I know the reason but too lengthy to go into here but would be happy to explain with pics of oscilloscope screen to assist in another post if anyone is interested. I forget whose board it was when I first encountered this problem but when I queried this I got no reply. Basically any system that applies PWM as speed control to the enable pin of most of these chips will not allow creeping slowly from stand still.

James’ comments re battery capacity should be adhered to. Remember if you are going to run all 3 motors at one time the current requirement will go up considerably (X 3). Also larger battery longer to charge so you may possible need 2 batteries depending on your use cycle.
Cheers Bob