Vin and VCC pins and current limitations

According to the documented pin limitations for the arduino Mega R3, you have available a total of 800mA to sink from all the VCC pins. The same for the GND pins. Arduino Playground - ArduinoPinCurrentLimitations

Another source says that if you use Vin you are limited to 1A due to a diode in the arduino board.

1)My question is whether the 800mA available for the VCC pins comes from the Vin pin or another source.

2)Essentially, I am wondering if I can have the 800mA available for the VCC/GND pins AND an additional 1A from Vin, giving me a total of 1.8A available.

3)If this can be done then I take it I just have to upgrade my 1A arduino power supply to the 2A. Is this correct?

  1. Lastly, if (2) is true, where would I sink the additional 1A of current coming from Vin if the sum of all the GND pins are still limited to 800mA?

Please number responses based on question numbering. Thanks!

I am wondering if I can have the 800mA available for the VCC/GND pins AND an additional 1A from Vin, giving me a total of 1.8A available.

No, the 800mA Vcc comes from the 1A Vin, so it stays 800mA.
Usually, you'll be limited by power dissipation limits of the regulator before you get near the current limit. "800mA" is a chip limit, and a lot of wishful thinking is involved in putting on the spec sheet.
(Your remaing questions are irrelevant, given this first answer, right? Sorry :frowning: )

Do you need 5V and more than a few hundred milli-amp ? I suggest that you use a regulated power supply or if you have a higher voltage from somewhere, then use a DC-DC converter.

There is a way to determine the power dissipation of the voltage regulator. Put your finger on it, and if it is so hot that you can't keep your finger on it, then it is too hot.

Tell us what your project is about. If you have motors or servo motor, you should avoid that those current (and noise in the power lines) go through the Arduino board. You must however connect all the grounds.

Essentially I am trying to make a "smart surge protector". I have 7 outlets controlled each by their own relay. Each relay coil draws 185mA making a total current draw of 1295mA but only have the 800mA available on the board. In addition I have 3 dosing pumps which draw 300mA each from thier own external 12V power supply connected to an arduino relay shield, however only one will be powered at a time. Also need to account for the current sent to the sensors and LCD which determine each outlets status. Is there anyway to accommodate roughly 1.8A of control for this type of system? I am powering the Arduino via a 12VDC source and the pumps on their own 12VDC power supply/

Those outlets with there own relays... can you replace it with a 12V relay board ?

I suppose the relay board that you have has transistors, so the Arduino would only need a few milliamps to turn a relay on and off ?

There is no Arduino board that can supply all that power, and there is no need to. Relays are often 12V and those are powered with an external power supply. That's how it is done.
If you have 5V relays, then I suggest the DC-DC converter that I wrote about before. To activate the relays, you need transistors or mosfets (which use the external power supply to activate the relays).

It is normal to use an external power supply. That is used for every motor as well. In most cases, the Arduino only provides the digital control signal.

I already purchased and build all the following relays: SparkFun Beefcake Relay Control Kit (Ver. 2.0) - KIT-13815 - SparkFun Electronics.
The schematic for the relay board is attached below. As seen, the power is provided by VCC (5V) however the relay spec sheet allows for use with 12V (see attached). Can I simply just use 12VDC from an external power supply in place of the VCC 5V without having to replace the other board components? If so, would the GND at the bottom of the schematic be connected to the negative wire on the DC power supply in place of the Arduino GND?

Wiring Schematic.pdf (67.5 KB)

Relay.JQX-15F.pdf (212 KB)

Those are normal relay modules. Use an external 5V power supply for the 5V (called 'VCC' for the relay) and the Arduino gives the CTRL signal. Connect the grounds.
The external power supply can be a DC-DC converter, or you can buy 12V relais.

That 5V relay does not allow 12V. According to the datasheet, there are 9 versions of the relais, a version for 5V, a version for 6V, and so on.

Connect grounds of the power supplies, the Arduino, the relay board and so on. Try to avoid that ground currents of the relais go through the Arduino board.

So your saying that if I go with the 5V DC-DC converter option I should make sure all the grounding is tied to the DC-DC converter ground and NOT the Arduino ground? Also, this will allow me to power all the relays from a single DC-DC converter so long as I dont exceed its current rating?

With a 12V to 5V 2A DC-DC converter you can power all relays. There are many cheap DC-DC converters on Ebay, but the quality can be bad. I have used KIS3R33S in the past, they are safe modules with a fuse. The output is 3.3V, and with 10k from the Vadj to GND, the output is 5V. You can probably find KIS3R33S still on Ebay, those are taken out of equipment (the KIS3R33S module is the black square) and they are put onto a new pcb boards and sold on Ebay. Sometimes the black square cap is removed.

This is expensive : SparkFun DC/DC Converter Breakout - BOB-09370 - SparkFun Electronics
This is nice and small : https://www.adafruit.com/product/1385 (this uses the same MP2307 as the KIS3R33S module).

What I mean with the ground current through the Arduino board, I mean that you should not connect the ground of the DC-DC converter to a GND pin at one side of the Arduino board and connect the ground of the relays to a GND pin on the other side of the Arduino board.

All grounds must be tied together.

Wouldnt connecting the ground of the relays directly to the negative terminal of the DC-DC converter cover grounding externally and be sufficient (ie. if I wire ground this way to I even need to tie the ground on the relays into any of the Arduino GND pins at all?) I understand that if I do ground to the Arduino I have to use a common ground however I am still concerned about overloading a GND pin on the Arduino seeing as each can only sink a maximum of 200mA of current.

A digital output pin of an Arduino can be 0V or 5V. That is 0V or 5V with respect to the GND. Without the GND the output pin would be some floating voltage in thin air without meaning.

To activate the transistor (that activates the relay), both the digital output and the GND of the Arduino are needed.

Can you make a drawing of the grounds and voltages and dc-dc converter and Arduino and relay board and make a photo of it ?
If you have that drawing you can color in the path of the small current needed by the Arduino, and the path of the larger current by the relays.

Attached is a PDF of a wiring diagram I just made for the circuit. I tied the Arduino GND to the GND of the DC/DC converter as indicated by a purple wire. Is this what you were suggesting? If so, is there a way to route the majority of the grounding current to the DC/DC converter ground (rated at 3A) rather than the Arduino GND (rated at 200mA)? I was thinking that there may be some way to select the current sink path with a diode but was not totally sure.

RelayPower.pdf (64.2 KB)

The wiring in the picture is good.

I have attached a picture with the current paths.
Green : the current for the Arduino, perhaps 50mA.
Blue : the current of the control signal, perhaps 1mA.
Red : the current through the relay(s), total about 1A.

The black dots are the grounds and they are all connected, that's good.

Is it possible that the current in the red path could take the ground path of the green one (via blue) ? No, that is not possible.
If you would have used a single 12V power supply, then it would be possible and you would need to connect them in a different way. For example a star-ground.
As it is now, the GND pin of the Arduino has only the 1mA of the control signal.

The external [5V@2A] power supply can be a DC-DC converter

Why bother? If you need 5V@2A for the relay board, you can just get a 5V 2A wall-wart, probably for much less money than a 12V/5V DC/DC converter (thanks to 5V widespread use as "high power USB charger" or "power supply for Raspberry Pi 3" or whatever.