Max current

Hello!

I was wondering what is the max current you can draw from your Arduino 5V and Vin pins.

My initial purpose was to find the best way to power servos, but I came to get interested by the way an Arduino works in itself.

I know it depends on your powerv supply, and I'm interested by what happens when you power your Arduino via USB. Now most topics about USB are about plugging your Arduino to your computer, but my idea is to power my Arduino with a 5V 1A USB cellphone charger.

Question 1 : When you power an Arduino with a 5V 1A USB cellphone charger, is there a difference between Vin and 5V pins? Is there a little less voltage on the 5V pin ? (I'm locked down with no Arduino to check it by myself)

Question 2 : I guess that powering an Arduino with a 1A USB cellphone charger allows for more current than a regular PC USB port, but how much? How much from the Vin and how much from the 5V pin?

Thanks !

P.S. I use Unos, Nanos and Megas, so any information is welcome !

Q1 - Vin has no voltage when powered by the USB.

Q2 - USB 5 V input has a 500 mA fuse.

The voltage regulator chip for the barrel input on this schematic has 800 mA self protection limiter.

Thanks!

What happens if I try to draw more than 500 mA from the 5V? Does it really fuse? Is it possible to reset the fuse?

I tried some tests with the TinkerCAD Arduino simulator and I see that if I try to draw too much current from a digital port with digitalWrite(HIGH) the voltage that should be 5V drops to 1.51 V as you can see on the attached screenshot. Is it true ? Does the same happen if I try to draw more than 500 mA from the 5V?

You'll notice that TinkerCAD says that if I connect the 5V directly to the ground it produces a current of 25000 A :slight_smile:

I had read the max current depended from the voltage source, is it true? What is the max Vin and 5V current I can draw if I use a 12V DC barrel? I'm sorry I can't read diagrams as well as you :slight_smile:

5V line powered from USB should blow the resettable polyfuse (cools down to reset itself) around 500mA, above that the USB source might complain/shutdown the port (my PC reports a 'surge current' and shuts the port, need a PC reset to get it back).

5V line powered from barrel jack: connecter feeds a 1A rated reverse polarity diode, goes to Vin and to input of 5V regulator. Regulator is rated for 800mA. You won't get anywhere near that with a 12V source, the regulator will overheat and shutdown, or just outright fail. The regulator has to dissipate (Vbarrel - 5V)*current as excess heat, and the layout does not support dissipating that heat well (there's only a little bit of copper on the board to act as a heatsink).

I powered four MAX7219s each driving 8x8 LED matrices. With 9V, the Uno 5V regulator would overheat, shut down, cool off & restart, not immediately, but after a few minutes. With 7.5V, the board ran fine. That was using about 350mA, the LEDs were only using about 10mA, so it wasn't set for really bright.

The takeaway is: connect your servos Power line in parallel with the power going into the Arduino.
Do not run the servo power thru the Arduino pins.
Only connect the control signals, and Ground, so the control signals have a common reference point between servos and Arduino.

Thank you! Unfortunately you're not supposed to power a servo with more than 6V and you're not supposed to power an Arduino with less than 7V, so you need 2 power supplies, right ? Same problem with TT motors (the cheap yellow motors).

I know you are supposed to separate your power sources, but

a) I have been using 2WD robots with 2 12V motors and an Adafruit Motorshield V2.0 for years on a single power supply and I've never had any trouble.

b) As a teacher I have to deal with many robots, doubling my number of power sources would be a real pain in the arse...

And how to find rechargeable batteries to power your Arduinos ? 6 AAA batteries ?

Now you're changing the subject.
12V motors are not servos.
For servos or small motors + Arduino, I would get 5V wallwart/supply, and connect both in parallel.

For example, here are 7 stepper motors (not servos), a 1284P board running Arduino code, and a 5V/10A power supply.

https://www.youtube.com/watch?v=5-9pqTQP_SQ
(forum may add extra characters to start and end of that, just delete them).

pjdestexhe:
a) I have been using 2WD robots with 2 12V motors and an Adafruit Motorshield V2.0 for years on a single power supply and I've never had any trouble.

The shields draw very little current from the Arduino's 5V pin for the active components and a lot more (directly) from the 12V to drive the motors.

Or they have a small 5V regulator (12V -> 5V) that can be used to power the Arduino.

I don't run anything on batteries, except for this Programming board.

Power draw is low. Arduino is happy with 4.5V
4.8V from 4 NiMH or 4 LiPo would be acceptable. I'd probably go that route if I needed to have something portable.

We used to work with kids using Lego NEXT controllers. I think those ran 2 motors off 4 AA batteries.

If you're using 12V motors, then sure, run 12V into the Arduino, and 12V in parallel to the motors. The 5V regulator and the diode and caps with it on the Arduino board provide some additional isolation.

All right! My initial questions have been answered. I just have to figure out how to power my servos.

What I currently do (it works and I'm happy with it)

  • For 12V : 8 AAA rechargeable batteries (it makes somewhat less than 12V) connected to the Adafruit Motorshield which powers the Arduino. Adafruit keeps saying it's better to use separate power supplies, but it works that way.
  • For TT motors : I tried doing the same with 4 AAA, but it didn't work very well, so I added a fifth AAA and it works very well. I'm considering adding a sixth, but I have to check if it's not too much for the TT motors.

For the servos, I guess I'll try 5 AAA, but when fully charged 5 AAA make somewhat more than 6V, I hope I won't fry my servos. Or do you think I could try 6 AAA?

Crossroads is right : I'm changing the subject. Do you think I should open a new topic?

You can keep it here in my opinion. If it really gets to a different subject like "how to code", it will be better to start a new topic :wink:

Not familiar with servos but if you're worried that 5 AAA batteries give too high voltage, it does not make sense to use 6 AAA batteries.

It might not be a good idea, but it makes some sense if I want to power the Arduino and the servos with the same batteries pack, as 5 AAA might not be enough to power the Arduino and the servos at the same time. It is not recommended to power the Arduino with less than 7 V.

Now as Crossroads says you can power an Arduino with 4.5 V, I could use 4 AAA for the Arduino and 4 more for the servos.

Hi!

I'm sorry, but I think cal40john is wrong when he says :

cal40john:
Vin has no voltage when powered by the USB.

I just checked it with my multimeter, when my Arduino is powered by the USB there is a 4.8V tension on Vin. I checked it on a genuine Arduino as well as on a Chinese clone with the same result.

So I ask again, how much current can I draw from my Vin port when I power my Arduino with a 5V 1A USB cellphone charger ?

thank you !

It's an input so in theory you can't draw anything from it and it's not meant to provide real power. The datasheet of the voltage regulator for the original Uno mentions an internal diode that will allow current to go through in the reverse direction and that is why you still measure a voltage.

Why do you want to draw current from it?

Because I thought it might be a direct connection to the power supply, so that a servo connected to the vin (and commanded by a PWM port of course) would simply be in parallel with the Arduino without any current limitation.

It's actually not a matter of purpose because I know how to properly power servos and motors, I just want to understand how it works.

You seem to mean that the vin port is meant to power the Arduino but not to share the power supply of the Arduino with an other device (which would be useful).

But if you can't use the Vin port to power another device than the Arduino, how do you explain this :

I often use an Adafruit Motoshield like this one (Overview | Adafruit Motor Shield V2 | Adafruit Learning System). Those shields have the possibility to share their power supply with the Arduino (although it's recommended to use separate power supplies). Check the attached schematic.
It works both ways :

  • If you plug a 12V wallwart to the Arduino it will power your Arduino AND your motors (I usually don't do that)
  • If you connect a battery pack to the screw terminal of the shield it will power your motors AND the Arduino.

I have noticed that when my Arduino is connected by USB to my computer, the motors turn even when the batteries are disconnected. In my opinion, it is because the shield and motors are powered by the USB through the vin pin. That's why I am really surprised when people tell me that you can't draw current from the vin port.

Do you understand? It's a complicated matter and my English is not perfect.

But if you can't use the Vin port to power another device than the Arduino, how do you explain this :

Your question was about using Vin as a 5V output. In your image, Vin is an input to the Arduino receiving power from the shield.

I have noticed that when my Arduino is connected by USB to my computer, the motors turn even when the batteries are disconnected. In my opinion, it is because the shield and motors are powered by the USB through the vin pin.

I've explained why it happens; Vin not intended as an output. The datasheet specifies 15A surge (or peak, can't remember) current for the diode; how much you can actually draw is not specified (as far as I can see).