I've been working on a mini-shield design that draws its power from the 5V bus for a 3v3 peripheral (actually, it will run on anything from 1.8-3.6V, but more of that later). Because of the form factor of the shield, it doesn't have the option of connecting to Vin, so the 5V bus has to do. (It's actually being powered from the ICSP header.)
I've tried two approaches so far, both with limited success.
The first is the "diode voltage drop" effect. I use three IN4007 in series (no particular reason for using this part except I have a bunch of them on hand). I use a 1K resistor to ground to get enough current flowing through the diodes (~3mA) to induce the desired voltage drop -- the multimeter shows a bit over 3V when nothing else is connected, and that gets down to about 2.8-2.9V when the peripheral is drawing current (a device which will draw anywhere from nanoamps up to ~100mA, depending on what it is doing.) That's all well within the spec of the device, so it's all cool for this application.
The second approach is to use a low drop voltage regulator, a LD1117V33, in a TO-220 package (physically a bit big, but I really don't like mucking around with SMD.) I thought this would be a better solution, but actually they are both very comparable in terms of performance for this application.
The problem I have with both approaches is that even for a device with fairly modest current requirements, I seem to be butting up against the limitations of the 5V bus in terms of headroom. For the Uno, it's not so bad, but for the Mega2560, a 12V 500mA PSU, or 5V power from the USB, is insufficient on the Mega2560 to make enough current available to the peripheral (although both of these will work OK on the Uno for this particular application.) I'm finding that if I use a 1000mA rated PSU (12V) fro the Mega I will get the required current to the peripheral.
I'm guessing that the difference is that the Mega2560, being a bigger chip, is drawing more power from the 5v bus and therefore there is less headroom left to power a secondary supply. I must admit I'm surprised that more than 500mA is required to power the Mega2560 and the peripheral adequately using either of these methods, though. That's a lot of juice!
So I'd like to hear what others are doing about (efficiently) getting 3v3 from the 5V bus, in order to make the most of a limited resource, particularly on the Mega. Would a switched regulator rather than a linear one be significantly better, for example? Anyone care to recomend such a part that might be suitable for a small shield?
Any general power supply observations would be welcome, as I can see this is an important area that's trickier than it would first appear to really get right, depending on the peripheral you are trying to use.