Drive a module off an IO pin?


I wonder if it’s a good idea to drive a module that has a max. current consumption of 10mA off an IO pin. I know there’re current limits on the IO pins, but can they handle 30mA? The operating voltage of the module is 3V, so is that doable?

I know I could use a pfet as a high-side switch, but I wonder if it could just be powered off an IO pin.


The max DC current per IO pin on an Uno or a Mega is 20mA. Unless you're using a Due or a Zero you'll be fine driving something that takes 10mA max.

Is your Arduino working on 5 volts?

You do not connect an IO pin to Vcc/Vin of another chip.

You can always connect an Arduino IO pin to the IO pin of another chip if the two chips are running at the same voltage.

More care is needed if the chips are running at different voltages.


I would say it is never acceptable to power a device with an I/O pin. You should be having some good decoupling caps on every device you have and putting a capacitor on an I/O pin will exceed the current for that pin on switch on. This is because a capacitor looks like a short circuit when discharged.

What do you want to do this for anyway?

Assuming a 5volt Arduino. A ~160ohm resistor between pin and (unknown) module will protect the Arduino pin and drops the voltage to 3volt@10mA. Leo..

It may be possible to power the module at 3V from an Arduino's PWM output via a suitable smoothing filter, especially if the 10mA current is reasonably constant. There's even the possibility of providing some degree of regulation by monitoring the voltage using an analogue input. I am not saying powering the module in this way is advisable.

I would consider using the 3.3V output from the Arduino, dropping 0.3V via a resistor or Shottky diode if necessary.