3
\$\begingroup\$

I need an easy way to monitor the current being taken from a USB port on a PC. Is there any s/w that can do that? The alternative is wire cutting, which is a last resort.

\$\endgroup\$
  • \$\begingroup\$ OK - provisionally cancel that request. There is a USB current/voltage meter sold cheap on eBay that is designed to do the job. Of course, if there is s/w please let me know ebay.co.uk/itm/… \$\endgroup\$ – Dirk Bruere Aug 6 '15 at 10:23
5
\$\begingroup\$

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.

\$\endgroup\$
5
\$\begingroup\$

Probably the simplest solution (which can involve some wire-cutting) would be to get a USB extension cable, remove a couple of inches of its jacket, and then either use a milli-amp level clamp on DC ammeter, or cut the power lead, and put a ammeter in series.

\$\endgroup\$
4
\$\begingroup\$

No such software feature (I would be glad to know why you require this info from a device). Multimeter with a 'hacked' cable is the best way. Buy an extender, and make sure you only cut the power line, and pass it through the multimeter's current sensor. It is also possible to use a DC current probe which measures the electric field generated by the supply. You will still have to separate the power line from the cable (but not cut it).

Please note that using an extender may cause disruption when communicating with the device, depending on the extender's quality and type of device and USB class.

\$\endgroup\$
  • \$\begingroup\$ I need it to measure the current my design is actually taking from the USB. I expect it to be less than 500mA, but it would be nice to know before it goes into production \$\endgroup\$ – Dirk Bruere Aug 7 '15 at 7:03
  • 1
    \$\begingroup\$ If you designed the board and can still change the design, then it is possible to add an 0.01 Ohm resistor on the power rail, and when the board is ready, take it out, solder wires and connect to your testing equipment (parallel voltage test is possible, but not very accurate) \$\endgroup\$ – Oron Port Aug 8 '15 at 11:31
3
\$\begingroup\$

I hate to peddle products, but I love tools so:

Get one of these, search for USB current meter.
These tools are cheap and available wherever cheap Chinese products can be found. They measure voltage and current, and run 'in line' on a USB cable.

enter image description here

\$\endgroup\$
0
\$\begingroup\$

A good method is to locate the +5V feed to the USB host IC (typically these are part of the chipset on newer machines) and put the .1 ohm resistor there. As the SD voltage is well documented its a matter of reading parameters back from 0x01 and then applying the appropriate calibration factors. Also if the SD is drawing more than 200mA continuously then it is broken!!

For USB only 0.01 ohms is better as it means most devices should be fine with the .08V drop under load.

\$\endgroup\$
  • 2
    \$\begingroup\$ What is "SD voltage"? What is 0x01? (Edit your post to clarify rather than answer in the comments.) \$\endgroup\$ – Transistor Jan 20 '18 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.