I'm wanting to power a USB device from an Arduino Uno. Forgetting about the two data pins, it just requires power. Using a power meter, I can detect the 5v pin at about 4.95 volts, however I don't have access to any resistors at the moment so cannot test the amperage because it just shorts.

The USB device I want to power requires ~300mA (can't remember specifically). First of all, does the Arduino get 100mA or 500mA when getting power from the USB? Is this changeable depending on the setting on the USB Host (High 500mA, or Low 100mA)?

Secondly, how much would actually be usable? I assume the Arduino itself would require some of that current? Even more if a program where running on it at the same time? (I have no idea how computers utilize power) I would like to just hook up my usb device to ground and 5V with whatever resistors (and any other electrical components) in between to bring it down from 500mA to the required ~300mA.

  • If your Uno has access to a USB port for its own power then why not just use another USB port for the other USB device? Mar 11, 2015 at 13:07

2 Answers 2


The Arduino receives 500mA max from USB power. That is per the USB specification, and the Arduino has a 500mA resettable fuse on the USB power to protect your computer's USB port from 'accidents'.

As to the question of whether it is configurable between 500mA/100mA, generally no it's not. I believe that part of the USB negotiation that occurs when the Arduino connects to your PC is that the Arduino describes itself to the computer, and it reports that it is a 500mA device. Bottom line is, you won't need to do anything special in this regard.

Now, how much of the power is needed for the Arduino, and how much is left over - well that depends on what else the Arduino is doing and what else it's powering (LEDs, etc.). If the Arduino is not doing much else, than 200mA should be plenty of headroom for it.

If you power the Arduino through the PWR Jack (or the Vin), then the voltage should be a minimum of 7V. That is because it is feeding into a 5v regulator, which has some voltage drop, so it needs about 7V to be able to consistently supply 5V output. If you power the Arduino manually (through the 5V pin), you want to give it 5V. Anything less than 5V would be considered overclocking. (The ATMEGA328P needs 5V to operate at 16mHz, but can run at lower voltages when clocked at lower speeds.)

Also, keep in mind that the USB port on the Arduino is a USB 'client', not a USB host or USB OTG. Therefore, the port can not be used to supply outbound power. You can power your extra device from the Arduino's 5V and GND pins.

  • The only AC/DC adapter I can find that matches is a switchable 6V/9V/12V with just under 1000mA. However it outputs via a negative and positive wire. So inputting directly to the vin pin is the same as inputting DC through the power jack? I would just need to connect positive DC output to vin and negative to any ground on the arduino, and that would give me a regulated 5V output on the 5V pin? Mar 12, 2015 at 4:43
  • That's correct. The Vin pin and the PWR jack both feed into the power regulator. You can connect the positive DC output to Vin, and the negative output to any GND. Set the adapter to 9V. The only thing the PWR jack has that the Vin does not, is a power diode that protects against incorrect polarity (the + and - reversed). The Vin does not have that protection, so just don't hook it up backwards.
    – Bad Wolf
    Mar 12, 2015 at 14:55

You'd have to test this but there's a chance you could supply the Arduino using a DC power supply on it's 5V pin. In this case DO NOT TURN YPUR SUPPLY HIGHER THAN 5V, as I don't believe there is any protection and will send the full voltage to the USB.

A safer option would be the Vin pin. Normally you'd want to put 7-12 Volts to this pin but you may want to start at 5V and work your way up just to be safe.

Someone please corrects if I am wrong, but if you never apply more than an external 5V your worst case scenario would be burning out the Arduino but not the USB device.

  • Please correct me if I'm wrong: The vin pin gets its power from the external DC jack at whatever voltage is supplied, and so can the 5V (limiting voltage to 5) and they both share the available current from the DC input? Could you explain why using the vin pin is safer? Wouldn't it be fine to use the 5V since I am powering a USB 5V device? Also, I assume grounding a circuit on the arduino using a custom volt and/or amps DC power source may well damage the board? You stated max of 7-12Vs, any idea of what sort of max amps? Mar 11, 2015 at 16:44
  • The Vin pin is the input for external DC voltage, whereas the 5V pin is regulated as a 5V output for powering other equipment. For this reason using the Vin pin is safer because it regulates the outputs (including the 5V pin) to a constant 5V. If say 6 or 7 volts were applied to the 5V pin, you may damage the Arduino or draw unnecessary current from your power supply. I suggested 7-12V on Vin because this is the safe range specified by Arduino and will turn on the onboard voltage regulator. Turn the current to a max on the power supply, the actual current drawn is regulated by the Arduino
    – MattEE
    Mar 11, 2015 at 17:37
  • As far as current limits I believe they are 500 mA for the 5V pin and 50 mA on each of the signal output pins. In regards to your original question, have you tried connecting ~9V DC to the Vin pin and testing for 5V on the USB port? I still believe this is your best option if it works.
    – MattEE
    Mar 11, 2015 at 17:41

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.