Many little motors, many power supply questions

Hi all,


I am new to this forum but i have stalked users of this site for sometime.

I have a project on the go that i am a little stuck on. I have come pretty far since the idea hit me many months ago but now i am at the tail end and wondering how i will power this thing.

I have been using an Arduino connected to a bunch of 595 shift registers which are then connected to 36 small dc motors via npn transistors. the motors are small mobile phone vibrating motors and i need them to run, as per datasheet, 3v @ 90ma.


the motors will then be switched on and of according to the software in the arduino.


My question, how to i power these motors? there are a lot of them and i don't want to blow them or lose power whent they are all on. is there a simple solution to this?

any help appreciated




I would include diode

I would include diode protection for the motors if you haven’t. If you intend of having all 36 motors going you’ll need a 3V power supply putting out >3A. Other than that it seems a sound idea.

Thanks JaxCould you let me

Thanks Jax

Could you let me know how you came to this figure? Also, could you give me a clue on what sort of diode i should use, they are really tiny and i need to be sure they reach 90ma @ 3V each.


thanks again.




Well… that 3A figure isn’t very hard to come up with. 36*0.09=3,24.

Since there are so many motors, I would suggest a lot of filtering caps.

Gabriel did the math above.

Gabriel did the math above. And the filtering caps are a good idea as well. As for the diode I recommend a schottky, like a 1N5817-5819. The higher the number the more robust.

90mA sounds reasonable. You can always test the current draw with your ammeter.

Is that 90mA specification

Is that 90mA specification for the motors when they are free running? It may be a little higher when under load and much higher if there is any chance of the motors stalling. Current can also spike high if many of the motors start up at the same time. You may want to include a fuse or breaker in your project to protect against error conditions that might come up.

I suggest using a ~3V source

I suggest using a ~3V source such as two AA batteries for the motors (use a different source for the Arduino).  You can reference the datasheet for the batteries to determine the max current that can be output at any given time.  You can try using parallel batteries if you need to up the discharge limit.  If you use a regulator then you will need to read its datasheet to determine the maximum output current.

I also suggest that you avoid daisy chaining power connections if you find some motors further out on the chain have sufficiently less power.