Beginner Power Supply Question

So, first of all I am confident this has been answered before, but I haven't found an efficient way of really searching through the forums. Just know that I HAVE attempted to find the answer on my own before asking a trivial one on the forum.

Anyway, I'm a computer engineer and am in the process of prototyping a senior project. As a more software oriented person, I've never really actually hooked up micro-controllers with other chips before, and I'm a bit confused as to how power supply works. Here's my best guess so far of how I should be setting this up:

We have the arduino mega, a WiFly (not the shield, just the straight up chip) a GPS, and a 128x64 LCD. The WiFly requires 3.3V and the LCD wants a minimum of 6V, and the GPS wants 5V.

If I get a power supply for say, 12V, and plug it into the arduino, it is my understanding that the Vcc pin will output 12V dc, the 5V pin will output 5V, and the 3.3V pin will output 3.3V, and connect all the grounds to the common ground pin on the board.

Though, I think it won't work to power the devices off this because of current draw, and this is where my knowledge becomes shaky - it appears, for instance, the 3.3V can supply 30mW but our WiFly draws more like 200. Does the Vcc pin supply the full current of the power supply, or should we run the power supply into a breadboard and power everything off that rather than into the mega and powering everything off the mega?

Thanks in advance - I appreciate it

You mostly have it right. The 3.3V output can only output 50mA (that's 3.3V * 0.05A --> 165mW) though I wouldn't recommend pushing that current as if you mistakenly draw too much current you can damage the FT232 device on the Mega.

If the WiFly draws 200mW or 200mA, either way it's too much for the 3.3V on-board the Mega.

One solution is to buy the new Mega2560 which has a beefier 3.3V regulator, separate from the FT232, and can supply up to 150mA, or a total of 3.3V * 0.15A --> 495mW.

Now here's the important question: does the WiFly draw 200mA or 200mW at 3.3V? If it's 200mA then the Mega2560 can't supply the current. If it's 200mW then you'll be OK.

In either situation, you can use an external 5V-->3.3V voltage regulator (with the current handling you need) to give you your 3.3V for the WiFly.

You didn't mention the current draw of the GPS and LCD but the 5V output of the Mega is good up to about 500mA so you should be OK with those (though getting actual current draw numbers wouldn't be a bad idea). I'm surprised about the 6V minimum of the LCD...this might require more details from you.

-- The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, light sensor, potentiometers, pushbuttons

A smaller investment than a new/different Arduino, and in the long run a more flexible one, would be a couple of LM317 adjustable voltage regulators, some 100 mfd 20V capacitors and some 10 Kohm trimmer potentiometers. From this basket of $12 worth of parts, you can construct power supplies of any reasonable voltage, that will supply a few hundred milliamps, suitable for breadboarding and experimenting.

Thanks for the help. To clarify:

We do have the 2560, but the website says "DC Current for 3.3V Pin 50 mA". The data sheet is something like 400 pages and I'm not experienced enough to know where to look for the information I need.

Here are our components: WiFly: http://www.sparkfun.com/products/9333 GPS: http://www.sparkfun.com/products/465 LCD: http://www.sparkfun.com/products/9351

And the voltage/power information: WiFly: 3.3V, 40mA Rx, 210mA Tx (max) GPS: Input of 4.5-6.5V, 44mA LCD: Voltage: 6V-7V, 220mA

If I'm reading this right, the WiFly's consumption is 210mA and NOT 210+40, right? (Either way, the 3.3V pin won't be able to power the wifly).

How do we know the 5V output on the mega is good to 500mA? The description page only makes mention of the 3.3V output (50mA) and all other outputs (40mA). If it really can supply 500mA, then we should be fine plugging a 6V adaptor into the board, powering the GPS off the 5V pin, regulating the 5V pin to 3.3V and powering the WiFly, and then powering the LCD of the Vcc pin? How much amperage can the Vcc pin handle?

Or, is it better to run a 6V power supply into the BOARD and power the mega as well as everything else off the breadboard?

Thanks again for being patient with my ignorance! :D

If I'm reading this right, the WiFly's consumption is 210mA and NOT 210+40, right? (Either way, the 3.3V pin won't be able to power the wifly).

Right. It's 210mA when transmitting, 40mA when receiving. You will need a separate 3.3V supply for this, most likely derived from the 5V output of your Mega or from your external supply using a discrete regulator component.

How do we know the 5V output on the mega is good to 500mA?

The 5V output either comes from the USB port (which is good up to 500mA) or from the Vin-to-5V regulator on the Mega, which is good to 800mA. Of course, the external voltage source you plug in to Vin also has to be able to supply 500mA.

If it really can supply 500mA, then we should be fine plugging a 6V adaptor into the board, powering the GPS off the 5V pin, regulating the 5V pin to 3.3V and powering the WiFly, and then powering the LCD of the Vcc pin?

That sounds like it will work. Though I think you mean "Vin" for Vcc.

How much amperage can the Vcc pin handle?

It is limited by the power supply you plug in to it. Again, I'm assuming you mean the Vin pin.

Or, is it better to run a 6V power supply into the BOARD and power the mega as well as everything else off the breadboard?

Now, I'm a bit confused...what is the "BOARD"?

-- The Quick Shield: breakout all 28 pins to quick-connect terminals

Sorry - shouldn't make posts when tired.

Yeah, I meant Vin. I'm not in front of the board at the moment and got my terms mixed up.

Also, sorry about the board reference - I was referring to the breadboard on which we've wired everything. Read: "should I run a power supply into the breadboard instead of into the mega and power everything off the breadboard?"

Sounds like I have enough information to proceed..thanks for your help!