Electronic – How to get extra power for USB 2.0 device

raspberry piusbwifi

I have a raspberry pi and a WiFi module, unfortunately I can't get enough power from the raspberry to power up the WiFi module. Can I power up the device if I cut an USB cable, I'm letting the data wires untouched and I connect the power from an external power supply?

Best Answer

I presumed the RPi could be USB powered, but Tony points out that it's not recommended. That seems to be an understatement. The RPI doesn't seem to have a specification (!), at least I couldn't find it, but I did find others who had the same problem. So in the end you have to rely on third-party sources. :-(

RPi models A and B consume 500 mA and 700 mA, resp. (Though even that doesn't seem to be a solid spec, as this page says "provisional, from alpha board".)

So, if by "external power supply" you mean a USB host or powered hub, then the answer seems to be no, since USB doesn't have to provide more than 100 mA without negotiating. You'll need another power supply, like a 5 V regulated wall-wart.

Many Wifi modules are designed to operate at 3.3 V, but if you can't find a 3.3 V regulated wall-wart you can use a 5 V type, and use an LDO (Low Drop-Out) post-regulator to go from the wall-wart's 5 V to 3.3 V.

Even if the module works at 5 V you may have a connection problem, since, as I understand it, the Raspberry works at 3.3 V. So the output level of the Raspberry may be too low for the WiFi module (or probably just high enough), and the input to the Raspberry may be too high. If the inputs aren't 5 V tolerant the high level may damage the device.

So 3.3 V is probably the way to go. The 3.3 V version of this power module can supply 750 mA.

If you prefer to get your power from a 5 V supply then the NX1117CE33 is a suitable part: it can provide more than enough current for the WiFi module, and accepts input voltages up to 20 V (so an unregulated 12 V input can be used as well). But if you use a high input voltage you'll have to keep an eye on power dissipation.