I am new to arduino and anything related to electricals and electronics. I need info on how to connect 10 vibration motors to arduino uno without damaging the board. Do I need an external circuit to regulate and control power supply or can I directly plug in all 10 motors to the board directly?

  • 1
    Lookup how to connect a motor to an Arduino (resistor, transistor and flyback-diode). These vibration motors sound small enough that you might be able to connect them directly to the Arduino, but you'd have to provide us with something like a part-nr, so we can check the current rating of the motors.
    – Gerben
    Oct 2, 2020 at 12:51
  • 1
    Specifications: Outer diameter: 10 MM; Thickness: 3 MM Rated voltage: 1V To 6V,; Current: 66 MA Output Speed: 12000 RPM (amazon.in/dp/B07YPS3D3L/ref=cm_sw_r_cp_apa_i_duYDFb81K30VN) Oct 2, 2020 at 13:04
  • 1
    Current is too high for an Arduino. Any small transistor (NPN BJT or N-channel FET with low enough Vgs) will do to drive one. Multiply that by 10 and bob's your uncle. Maybe two ULN2003 will be more economic.
    – Majenko
    Oct 2, 2020 at 13:21
  • Any small transistor, plus a flyback diode, plus (for a BJT transistor) a properly sized current limiting resistor.
    – Duncan C
    Oct 2, 2020 at 15:35

2 Answers 2


I would suggest a pair of ULN2003 chips. These are 6 darlington transistors in a single chip. Two chips will give you the ability to connect 12 motors.

Each one needs an IO pin to control it - if you want speed control then you will have to look into adding extra PWM channels. For just ON/OFF control any IO pin will do (even analog ones).

10 motors running at the same time will be up near the limit of the Arduino's 5V pin current supply, so you really should consider a separate external 5V power supply (maybe a USB phone charger) of 1A or more to power everything (connect the power supply to the motors and the 5V pin of the Arduino).

  • Thanks for your input. But I will have at most only two of them running and I don't need any control except on and off over the motors. This is possible without ULN2003 drivers right? Oct 3, 2020 at 18:29
  • It is possible to replace the ULN2003 chips with 10 transistors and 10 diodes. You can run it all from the Arduino's 5V pin though instead of an external power supply.
    – Majenko
    Oct 3, 2020 at 18:30
  • Watch out for the voltage drop from the ULN2003 chips, I think it about 1.4V at load.
    – Gil
    Oct 4, 2020 at 3:03
  • @Gil What about it? You read the rated voltage or the motors?
    – Majenko
    Oct 4, 2020 at 8:02

The motor is not a constant output device, it still works by watts of power. The motor will only draw enough current to move its load at a given speed. Lets assum the impedance of the motor is a constant; If we change the voltage we change the wattage and hence the torque and probably speed. "The Arduino a power supply it is not!" On a good day it has a 200ma max capability. This is dependent on the power the regulator can dissipate, dictated by load and the voltage going into the Vin pin.

If we look at the 66mA it draws times 10 motors that is 660 mA is way beyond the Arduino rating of 200ma. Total chip Vcc current (all output pins total and chip overhead): 10 output pin driving 10 motors @ 66 ma is way beyond max for whole chip.


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.