Above: This is a 512MB Model B that is unmodified. The 4 port USB hub has been modified to provide power to the Raspberry Pi via the USB jack. The upstream cable has been shortened to a manageable length of approximately 5 inches. This RasPi is currently acting as the server for this web site.
There seems to be a lot of people that believe that back-powering a Raspberry Pi is a bad thing. Well it can be if it is not done intentionally. There are some simple things that have to be understood to successfully use a RasPi back-powered.
First we need to understand what back-powering is. The designed method for powering the Raspberry Pi is through the micro USB power connector. The second usual means for powering a RasPi is by connections to the GPIO pins.
The method we are discussing here is providing power via the USB “ports”. USB ports usually transmit power not receive. This normally will not happen on computer USB ports as they are protected and one way, power out.
The Raspberry Pi does not have any protection from power entering through the USB ports. (see point #2 for the exception)
These are the points that need to be considered for a successful back-powered system!
- back-powering a RasPi bypasses the F3 Poly fuse (Polymeric resettable fuse). This is the main protection for your RasPi if there is a problem with the PSU (Power Supply Unit). This is also true when power is supplied by the GPIO pins.
- Early ver. 1.0 boards also have polfuses at the USB (F1 and F2 are 140ma) and will not back-power “reliably” without modification to those fuses. Ver. 1.1 and 2.0 boards do not normally need modification to be back-powered. All the newer boards are ver 2.0 boards and are easily ran by back-powering.
- The length of USB cable you use between your RasPi and the device that is back-powering it can cause large voltage drops due to resistance. this will mean the difference between a successful project and a failed one.
- Connector loss can be significant in inexpensive cables. This can be due to loose or ill fitting connectors poor alignment or to poor quality.
- Some USB devices draw too much power to be reliably powered directly from a Raspberry Pi. So a USB hub is then necessary. Adding a hub usually means adding an upstream cable and sometimes a second power supply. you do not need those extra cables when back-powering from a hub.
F3 is placed there to protect your RasPi from excessive voltage. So if you bypass it you need to seriously think about how you are going to protect your device if there is a power surge. You can use an inline fuse or if you use a hub to back-power, as I have, make sure it has a means to protect your RasPi. The hubs I use have 2A polyfuses at their power port.
Early versions with the USB polyfuses will not let enough current past the 140ma fuses to power back-power the RasPi. I was able to run a RasPi with the fuses in place but TP1/TP2 were showing very low voltages. The upper USB port would back-power but the lower port would not. The RasPi was not very stable and crashed under any decent load, but it would boot up. The other 3 Ver 1.0 RasPi that I tried this with would not reach full boot. I replaced both USB fuses with 500ma replacements and still had problems with boot up on most of these RasPi. polyfuses all have some resistance that reduces voltage to the board when back-powered. The only sure method that I found was to bridge F2 (the lower port) polyfuse with a piece of wire. I then had decent voltages at TP1/TP2 usually 4.75V to 4.85V, well at least after I started using short or shortened USB cables.
In the photo above you will notice that F2 has been modified by placing a solid wire bridge across the pads. I had tried a 500ma and then a 750ma polyfuse in place of F2. Each caused a voltage drop ending in TP1/TP2 voltages below 4.75V
Point #3 and #4:
In my early experiments with back-powering I had lots of trouble with low voltage readings at TP1/TP2. I fought with this until I found the culprit. High resistance in the wire used in the USB cables. The wire used in your PSU (Power Supply Unit or wall adapter) cable might be 18ga to 22ga (higher numbers are smaller) wire. The wire gauge inside most USB cables is even smaller, on the order of 24ga to 30ga +. The smaller the wire the higher the resistance. So a long cable reduces the voltage that will get to your RasPi. This means you may start with the 5V you need but you will not see that voltage at TP1/TP2.
Another consideration is your PSU’s wire length. If your PSU has a long wire it will not deliver 5V to the hub and that will be further reduced by the USB upstream cable that you are using to back-power (as an example).
Then there is the voltage lost at the connectors. Connectors are not 100% efficient, they cause small losses in voltage at each connection. If you back power through a USB hub you will effectively have loss at three connectors. The PSU, The upstream port and the RasPi USB port. I went from 4.65V to 4.95V by hardwiring my RasPi directly to the USB hub. That was 0.3V in just the 2 connectors I eliminated. It was a cheap cable that I substituted for the better quality unit that came with the hub. That cable lost 0.4V (4.55V at the test points) due to its 24″ length and the 2 connectors. The 9″ cable I went to did not save me much as it was a lower quality than the long cable. Live and Learn!
The end result; the TP1/TP2 voltages for the first RaSPi started at about 4.35V and ended up at 4.95V. This was just what I was able to get from messing with the USB cable. The PSU cable is untouched. So I went from an unstable (when using any USB device connected) back-power to a stable one with an overclock as a topping!
Overall lesson here;
Buy decent cables, keep them as short as you can and make sure that your power supply is an honest 5V or better.
So why is F3 mentioned twice?
There have been a number of people that have successfully, powered their USB HDD drives directly from the RasPi’s own USB ports, But the majority of users have found it does not work. Some USB WiFi adapters have also been a cause for trouble, when running directly from the RasPi’s USB port, but the majority of people can use their WiFi this way. Some WiFi adapters just draw too much power. Or their RasPi’s F3 is a little finicky! Back-powering bypasses F3 entirely.
The Polyfuse at F3 is only rated at 750ma, or 3/4 of an amp. That is the current that it is supposed to allow before it “trips”. It will be fully tripped at 1.1A supposedly. These type of fuse do not shut off the power when they trip. Their resistance begins rising and reduces the voltage that is allowed through them. It has been found that they really do not perform exactly within published specifications. Some will trip at less than the 750ma and some will not be tripped at more than 1A. This is why some devices that work perfectly on one RasPi will have nothing but problems on the next.
I now have two RasPi that are back-powered, both from USB hubs. One Ver 1.0 board was hardwired, up until this week 7/5/13. It now has 1/10th” pin headers on both ports. The other,Ver 2.0 512MB RasPi, has a shortened 5″ USB upstream cable. Both work equally well. The one that has the shortened cable is more convenient to work with as it and the hub can be separated and used in different projects. The one with pin headers can really only be used as a unit. Or it can be used headless with normal power. The one with pins does have better readings at TP1/TP2. Both types have 5 working USB ports for devices. I have also used an Apple 2.1A iPad2 charger to back-power a Raspberry Pi. The 2.5″ USB HDD adapter has a “Y” cable setup. One USB cord is data and power and the second USB plug is power only. I plugged the data/power into the RasPi and the power only into the iPad2 adapter. It back-powered just fine that way.
I do not have an A model yet. But they will back-power just fine.
Above: That is a USB to SATA adapter. It comes with a “Y” power adapter cable. The Power/Data connector is plugged into the RasPi. The power only cord is plugged into an iPAD2 charger. It powers the HDD and the RasPi very nicely! The only problem is that you are relying upon the charger to protect your RasPi from an over-voltage condition! If you look closely you can see the power light on the USB HDD and the RasPi. (please excuse the really beat up extension cord)
Other RasPi owners have reported success in back-powering from full sized (3.5″) USB HDD enclosures. This seems to be popular in media servers and NAS’s made from RasPii. You may have to be able to use a voltmeter and a soldering iron to use this as a back-power solution. Some have found the back-powering was already working. This means the device is not up to USB standards which require the device not to send power back to the USB port.
Usually the red wire in those enclosures is the 5V and the yellow wire is the 12V, but you should always check the voltage to make sure. Both SATA and Molex power connectors use this color code, usually.
Many people have found that their USB hub does not meet the USB standard and does “back-power”. Usually they are told to stop this back-powering by several methods, all involving either cutting open cable or cutting wires or traces inside the hub. Or to buy a new hub.
above: The red wire out of the side of the hub is the jumper I installed to make it back-power. Twisted together it back-powers, untwisted no back-power.
Power boosting the USB ports. (Ver. 1.0)
People have tried boost the power to the USB port in a number of ways. They have tried to run wires directly from the micro USB power connector to the USB ports. This also could be done a little differently on Ver. 2.0 boards. The problem was that they had problems with hot-plugging. When they plugged in a device it caused a reboot. Some were able to fix this by adding a very low value resistor into that circuit.
Larger value polyfuses also did not seem to make a complete fix for all USB power issues. I tried a 1.1A polyfuse at F3. That did get my WiFi working reliably, but was not enough for a USB HDD. This was also true on a Ver. 2.0 board.
I have not experienced any hot-plugging issues on my back-powered RasPii at all. This would be expected for anything plugged into the hub ports, but it is also true for the second port on the RasPii. By The Way; You can also put the Data/Power cable, (USB HDD SATA adapter) into the second port and the power only into the hub. I use the second port for a USB stick in my OpenElec XBMC which has the /rootfs on it.
EDIT: The 512MB model does have hot-plugging issues, i.e. it reset when I added a 512MB USB stick. The modified Ver. 1.0 board does not have this problem.
It is important to state here that you need to think about protecting your RasPi from over-voltage. First check and see if the device you are using to back-power has OV protection, a fuse or polyfuse, that will protect the RasPi in case there is an over-voltage situation. If there is not consider adding a fuse into the power wire of the cable in between that device and your RasPi. You could also add a inline fuse from the PSU.
If you try back-powering you will find it can really reduce the wire mess around your RasPi
TP1/TP2 voltages need to be between 4.75V and 5.25V for proper operation, according to the Raspberry Pi Foundation. I have been able to run some RasPii as low as 4.25V and have them run reliably. This was back- powered and without any USB devices connected. I recommend TP1/TP2 be at least 4.75V just to be sure. Short USB cables are the answer here. Both of my back-power RasPi run above 4.9V!
Ver. 1.0 Raspberry Pi’s are 256MB B Model boards. These had 140ma polyfuses at the USB ports.
Ver. 1.1 RasPi’s are also 256MB B Models. These substituted (zero)0 ohm resistors in place of the polyfuses.
VER. 2.0 boards are 256MB and 512MB B Models and 256MB A Models. All 512MB’s are B Models. The A Model and B Model are built on the same VER. 2.0 PCB. These boards eliminated the polyfuses and resistors from the USB ports. The design removal of the polyfuses make it much easier to back-power the later boards.