I'm using a basic relay and I want to use 12 like this. Each one needs 50 milliamps, but the Arduino can supply only 300 milliamps. What can I do?

  • Use transistors.
    – TheDoctor
    Oct 23, 2015 at 15:51

1 Answer 1


You should never drive relays direct from an Arduino. You always need a driver circuit since each OP pin can only reliably provide up to 25mA.

Every relay needs (at least) an NPN transistor and a flyback diode. Follow the myriad of examples for controlling one relay on an Arduino and multiply it by 12.

You might like to make things smaller and more manageable by using a paur of ULN2303 chips with 6 darlington drivers in each instead of using 12 discrete transistors.

  • Im using a transistor for each one. But it still take 50 milli amper. Can you show me a circuit?
    – MyNick
    Oct 23, 2015 at 9:56
  • @MyNick If you are managing to draw 50mA into the base of a transistor then they must be massive transistors driving house sized relays. If you are talking about the power supply current draw not the IO pin current draw, then just get a bigger power supply.
    – Majenko
    Oct 23, 2015 at 9:58
  • Regular transistors that comes from the kit.
    – MyNick
    Oct 23, 2015 at 10:12
  • @MyNick Then I have to assume (rightly or wrongly, I can't tell since you won't tell me) that you're referring to the power supply current not the IO pin current, in which case - what is your problem? Just use a more powerful power supply for the relays. If you are actually referring to the IO current then god help your Arduino.
    – Majenko
    Oct 23, 2015 at 10:13
  • This is the circuit for each relay, it takes 50 milli amper from the io pin: mail.google.com/mail/u/0/…
    – MyNick
    Oct 23, 2015 at 10:28

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.