Any way to monitor current sourced by USB?
The problem about software measuring USB current is that USB current usually is not measured by the host.

The USB standard defines that each client should draw not more than 100mA when connected to a host. If it needs more, it requests more, and if the host is fine with that request, the device is allowed to draw more.

The host knows all devices connected to a bus (i.e. a bus-powered hub plus four clients) and denies a request of a device, if that would exceed the overall current of 500mA (or 900mA for USB3).

Using Windows, you should find the requested current somewhere in the device manager in the properties of the USB device.

But this is a rather theoretical mechanism. A host has not the facility to measure currents nor can it force a device to stop drawing current.

Usually, there is just a current protection circuit which disconnects the USB power from the +5V rail when the total current drawn exceeds 500mA. Often, you will even not find this, and USB is directly connected to the +5V rail.

This is the reason why 2.5" USB hard disks work. They need more than 500mA, but they simply try to draw it. If this does not work, there's often a Y-cable, with two USB connectors plugged into the host. The second connector has no data lines, and simply draws some current.



Long story short: There is no way to get measured current information from the host, so you have to measure it yourself.