Motor driver for 4 DC 12v motors & Battery

Hello everyone,

I just purchased an Arduino Mega board, and I have dome some simple experiments succesfully with some sensors and leds.

My next step is to build a movile robot for an artificial intelligence research, but things are getting a bit complex now, because of the motors.

I am a programmer specialized in Artificial Intelligence, so I have not problem at all when it comes to code stuff in any languaje, but my electronic knowledge is extremely limited. If any kind man can answer me a few questions, I would really appreciate it

I want to buy this chasis (sorry, the link is in Spanish and I cant find it in english):

In the specification says it has 4 12v DC motors

RPM: 108~120 (nice because I need torque power, not speed)
Motor nominal current : 0.37A

0.34A x 4 motors = a total of 1.48A current supply for the motors to work propperly right?

For the Motor driver, I have seen this as a good option, since it can handle 4 DC motors at 12-35 V:

The confusion comes here;

Drive part peak current Io: 1A
Drive part continuous current: 600mA

Does that mean that this motor controller can only handle 1A at maximum, and 0.6A in average? that would be a problem because I need 1.48A so the motors have enough current (if my previous assumption is right).

I have also seen this controller:

It specifies "Driver peak current: 2A", which would be enough, but I would need to purchase 2 of these (more wires and connections needed).

And finally, we come to last part, the external power supply. I've been looking for a cheap 12v medium-high capacity battery so I can run my car for at least 2 hours, and I found this:

This battery would be used ONLY for the motors, not for the arduino/sensors. Arduino and sensons will use another battery (mostly because 12v is too much).

It has 6.8 Ah (well, that's the theory... it will always be less), theorically that means that I will be able to run my motors for 6.8/1.48 = 4.8h right?

My problem here is the discharge rate. I read somewhere that for nhim batterys, the discharge rate is usually 1.2 times the capacity. This is not a nmhim battery, its a Lithium-ion battery. Any one knows the Discharge rate of these batteries? It is not specified. I need a minimum of 1.48A discharge rate to provide enough current to the motors.

Well, those are my questions. I have been googling A LOT, but i couldn't find the answer for this questions. The total of this pieces is more than 100€, so I just want to be sure I don´t buy incompatible things. Who knows, may be that battery Discharge Rate is too high for the motor driver and it burns out...

Thanks a lot!

P.S: To make things clearer, I have bold the questions.

Its not clear what "nominal current" means, alas.

Motor currents typically given are

no-load current - that needed to overcome just friction in the motor itself,
full-load current - current under continuous full rated load
max-efficiency point current - current at most efficient point
stall-current - current with rotor locked at nominal supply voltage.

If the nominal current is just no-load current its not interesting.

The stall current is useful because it tells you which motor drivers can
handle the motor without damaging themselves. You can measure
the motor resistance to determine stall current.

stall current = supply voltage / winding resistance.

Thanks for your reply MarkT, you explained a few new concepts I didn't know about motor specifications.

As far as I know, a nominal value is a value such that the device works in ideal conditions.

I will research about it and see if I can clarify that concept.

Anyway, I'm still confused about this two specifications in motor divers:

Drive part peak current Io: 1A
Drive part continuous current: 600mA

Does that mean the motor driver can only "transfer" 1A divided by all my motors, or is it per motor?


Four 9v DC motors with 0.5A (stall-current). Will they work correctly with that motor driver because each motor needed current is less than 1A? Or they won't work because all of them together require 2A (4 x 0.5) and the driver only allows 1A?

I'm still trying to figure this out, but I can't find the answer.

The motor current can be confusing.
Suppose a motor is normally using 1A and the stall current is 10A.
That means you would need a motor driver that capable to supply 10A.

When you buy a 6800mAh Li-ion battery from Ebay or alieexpress, it might be a low quality 2000mAh with a lot of cardboard around it.

The shops that are specialized in Arduino are : and
At they have all kind of motor drivers.
And there is a robot in the Arduino shop.

The components from the RC world are also often used with Arduino. But if you main goal is to program the Arduino Mega, I would use a mosfet motor driver and a 12V battery. You could use a DC-DC converter to make a voltage for the Arduino Mega from the 12V.

The 1A rating is per channel, so one chip (two H bridges) can push 1A through two motors. The whole board can control four motors each at 1A (peak!).

This board is based on the L293D which is extremely common and you can find plenty of information on them. If you burn a chip you can pull it out and replace it with another one, or use the pin-compatible L293 (1A continuous, 2A peak) or SN755410.

...but with all that said, you're on the wrong path. The simplest motor/driver you can get is an RC servo modified for continuous rotation. The motor and driver is in a single package and since they're geared up so much you get lots of torque from them (about 2kg of pulling power with the ones linked above). Controlling them is similarly simple using the Arduino Servo library.

If you do go the route of using servos then you should get a two cell (2S or 7.4V) lithium pack and a "UBEC" with it to regulate the power down to 5V. More practically you should find a local radio control hobby store and ask for help; they'll have everything you need.

The 1A rating is per channel, so one chip (two H bridges) can push 1A through two motors. The whole board can control four motors each at 1A (peak!).

Thaaaaaaaaat was the answer I was looking for! Thanks a lot!!! Then my guess is that, if the nominal curent of the motor is 0.3A, and the driver can provide 1A per channel, it has enough current margin (unless I put a 3KG watermelon on the top of the robot haha)

So, I like your suggestion (high torque power). The only problem is that I prefer to buy a whole chasis & motors "ready to go". If I purchase the wheels&motors alone, I will need to create a wooden/metal chasis for the robot, which will consume a lot of time and its out of the scope of my project (also, my crafting skills are a bit limited).

So I think I will go for the original Idea. The only "heavy" thing the robot will carry is a IP camera for Image post-processing and the battery, all together should be less than 600 grams.

Thanks Chagrin!

Anyway, I will research about moving wheels with servo motors. Not sure why, but I thought that servo motors weren't meant for locomotion wheels.

The only problem is that I prefer to buy a whole chasis & motors "ready to go".

If this is your need, and your budget allows for it, get a Traxxas E-Maxx 4WD truck, and strip it down (ie - remove the body cover, add on a plastic or wood platform for mounting electronics) - control speed and direction using the servo library (as the E-Maxx is a standard RC car using standard servos and ESC).

Upside to this: You could route the outputs of the RC receiver into the Arduino, and use the pulseIn() function to read the RC signal, interpret it, store it, play it back, etc - that is, the Arduino could act as a "man in the middle" to allow you to control the robot while doing the learning phase of the AI routine (or whatever).

The downside: The E-Maxx (and similar hobby RC vehicles) are anything but inexpensive if you are buying new; even purchasing them used can run into some money - but it might save you some time and hair pulling in the end.

get a Traxxas E-Maxx 4WD truck.

Wow, what a bad ass monster!!

Like we say in Spain, for my purposes, that would be like "Killing mosquitoes with cannons" haha. Its too big and too expensive (I have to build 3 autonomous robots). Also, I don't feel like paying 500$ for something and then stripping it out :S

When I was talking about chasis & motors "ready to go", I meant a chasis with all the mounting holes for the motors and all that stuff so I only have to screw the things in their holes and thats all. But I want to struggle with batteries, motor drivers, wires etc. (its part of the learning process and I enjoy it!).

Also, my robots wont be RC controlled, a computer will control them. I'm creating a Multi-Agent system with 3 robots (each one has a different skill, this is the first of them) and 1 computer (to be the real "brain" and carry the heavy part of the AI, since the Arduino is quite limited both in memory and clock speed). They will need to solve "complex" tasks collaborating all together, otherwise there's no way the system can acomplish the task.

I was going to use a P2P architecture for communication but I switched to Client-Server (the PC will be the server and the robot the clients). So all the robots will need WiFi connection (I have already researched about that and I have the required components).

As said before, the programming part of it is not a problem (in fact I have already programmed a similar system in PC), but I want to bring my simulation to the "real world" and my electronics knowledge is quite weak, and there's the challenge!