USB power and charging issues are surprisingly complex. It’s natural to assume that hubs “deliver” a certain amount of power to a device. But that’s not really how it works.
Devices can pull as much power as they want, but there are consequences. Devices are supposed to follow certain rules, like pulling no more than 100mA unless they configure up to a higher amperage (500mA for USB 2.0 and 900mA for USB 3.0).
This is to avoid voltage drops which might knock other devices off the bus. Hubs and chargers are supposed to fail gracefully if a device pulls too much.
And it’s all gotten more confusing as USB has become a primary way of charging phones and tablets. There are many proprietary methods devices use to detect “their charger” and start pulling higher amperages. The USB-IF has a standard for doing this called the Battery Charging class, but the big guys like Apple, and others don’t follow it universally.
So what happens when a device pulls more power than a hub or charger expects?
How We Tested
To test what happens when a device draws too much power from a port, we needed a USB “device” that let us set the amount of power that it draws. We came up with a box that uses large resistors to place a load on the USB power lines, simulating a device drawing power. Instead of using the power to actually do something as a device would, our device simply dissipates it as heat.
The box itself was designed in SketchUp and printed on a Printrbot 3D printer.
The red and black connectors are connected to the ground and +5V lines of the USB bus, and connected to a meter so that the bus voltage can be monitored. Each of the switches at the top turns on one bank of resistors below. Each set of resistors is chosen so that they draw 500 mA, 1 A, 2 A, and 4 A from a 5 volt supply. By selecting different combinations of resistors, it can draw from 0.5 A all the way to 7.5 A in 500 mA steps.
Remember that the limit for USB 2.0 is only 0.5 amps–so we can pull up to 15 times more current than a host should be able to deliver. This was on purpose. We wanted to be able to take a hub and its power supply to the maximum, then a little further. Everyone here was really hoping for a fire (for better or worse, we weren’t able to create that much excitement even at the highest load).
Once connected to the device under test, the power draw was increased from 0 all the way to 7.5 amps, and the voltage recorded at each stop. While it claims 7.5 amps, on every test we did, the actual current was less than 7.5 amps because the draw had caused the supply voltage to drop, reducing the current.