[Nexus 7 Accessories] SpokaneNexus:
Here's what I've learned from a hardware perspective...

We're working on a hardware + firmware + software product that uses an Android tablet, which right now is specifically the Nexus 7. We have found that the standard charge rate of the battery is insufficient to support tablet operation with a few sensors enabled and high screen brightness. Therefore, even if plugged in to a power source, the Nexus 7 discharges during normal use. The charging system cannot keep up with normal power requirements. That is a TERRIBLE hardware design decision.

Rather than guess at what is happening, or jump to conclusions based on various apps that claim to report current, we connected an actual ammeter (current meter) in line with the USB cable plugged in to a 2012-era Nexus 7 and ran a lot of experiments to characterize its behavior.

A few basic things to keep in mind:

* The current rating on a power supply/charger is the max current that device can provide. The device being charged controls how much current is actually drawn from the supply. A higher-current charger cannot, simply by virtue of its higher capacity, force more current into the device.

* USB hardware specs very clearly define the max current that a Portable Device (PD, in this case an N7) can draw from various power sources. Earlier posts in this thread properly referred to the names of the various types of ports including the one that we need, a Charging Downstream Port (CDP), which supports both data and higher charging current. A CDP uses certain voltage levels on its D+ and D- pins to signal the availability of greater current; a "dumb charger" can just short the two data pins together to signal the same thing, but obviously this won't work if you also want to pass data and not just charge the battery. (The "shorted data pins" trick is a documented way to let cheap chargers inform the PD of higher current capacity without having to add intelligence to the charger.)

* USB software specs also define how the PD can negotiate with the upstream port (in our case, a CDP), essentially letting the N7 specify how much current it wants to draw and letting the upstream port respond with approval or disapproval. In this case, the hardware does its thing, and then the software on both ends talks back and forth to agree on a (potentially higher) current rate.

I'll cut to the chase: The N7 never draws more than 440mA. Ever. With any charger, with any cable, with any combination we've tried. This includes the Asus-labeled 5V 2100mA OEM charger and the Asus-labeled OEM cable that came with the tablet. We really, really want it to, but we have not been able to figure out how to convince it to use more current (and thus stop draining the battery while plugged in). Yes, I've read the other comments in this thread that report higher currents and I don't know how to explain what they're seeing. But in a laboratory environment, with real test equipment run by Engineers, 440mA is the number.

On the hardware side, our product has a dedicated 5A 2000mA+ power supply for the N7 connection. This is really clean power - it's a little switching power supply with great filtering that powers nothing but the USB connector. An oscilloscope shows an absolute flat line, no ripple, no noise, nothing, even under load. We have tested its current output capacity and it goes well beyond 2000mA with no degradation of the voltage level nor quality. This power is as clean as its gets. The power is there if the N7 wants it.

On the software side, the N7 does in fact do the "USB software negotiation" for current and we tell the N7 that 2000mA is available. Nevertheless, the N7 always requests 500mA (we've captured and analyzed the USB data), and in reality never draws more than the 440mA mentioned above.

We cannot short D+ and D- since we need to communicate with the N7. But there are other tricks supported by the USB spec, including specific voltage levels on the data lines to indicate that the port to which the N7 is connected is a CDP. Briefly, a PD which takes advantage of a CDP first performs "primary detection" by looking at D- for 0.4-0.8VDC. If a voltage in that range is found, "secondary detection" causes the PD to apply voltage to the D+ pin looking for a pulldown resistance of (nominally) 19.5K.

So we added circuitry to provide this environment, thus indicating we are a CDP. Result: No change at all. The N7 draws 440mA with or without the CDP circuitry.

We kept at it for a long time, because we thought it strange that Asus would ship a 2100mA charger when a 500mA charger would suffice. We figured that was proof the N7 could charge at a higher rate. But after hours and hours of analysis, testing, experiments, etc. we were forced to conclude that the N7 simply never draws more than 440mA. Presumably its onboard charging circuitry cannot handle higher current rates. This is a real shame, because it means the Nexus 7 cannot be used in kiosk mode - it cannot run indefinitely when plugged into external power. It will always require some "down time" to recharge its battery. That's fatal to a lot of applications for this tablet, including ours.

We have not yet tested a 2013 N7, but we're hopeful it has a better charging circuit.

Hope this helps someone!