USB Powering projects

RuggedCircuits:

  1. A PTC acting as a fuse in series to prevent a short from cooking off my USB port.

This makes people feel better but in practice it doesn't help as much as you think. PTC's are very "loose" devices and a 500mA PTC won't trip until about 1A or so. The Bourns MF-MSMF050 says it will take 0.15 seconds to trip at 8A -- that's more than enough time to cook the USB port.

Well, my feeling is that it's also intended to protect the project in the event the USB power source isn't fused. Thirty cents of insurance, anyway.

  1. A cap bridging 5V and GND to smooth out the load.

That's fine too, but don't go too high else the inrush current that occurs when you first plug in might just look like an overcurrent event to the PC.

Ah, good point.

Of bigger concern is that you are not supposed to draw more than 100mA from a USB port when you plug in, until the "USB chip" on your board (none for yours, but PC's expect that there is one) enumerates and identifies the board as needing 500mA. Again, you might get the nasty dialog message telling you you're drawing excessive current.

Ladyada has pretty good technical discussion on this: MintyBoost - The mysteries of Apple device charging

And I'll admit that I need to sit down and test my current consumption. Very rough back of the envelope calculations suggest that my typical projects come in under 100mA, but I suspect that if my USB ports are strictly following the enumeration requirement and I'm requiring more than 100mA, my project will just continually reset when it hits the current ceiling. Annoying, but not catastrophic. And I don't know how much enumeration USB wall warts do. I guess I'm more concerned about smoke testing my circuit or burning down my house than failing to work.

Ultimately the problem that I've been running into while researching this is that there are any number of projects for providing USB power to your phones and other devices, there doesn't seem to be too much about using USB to power your projects. :smiley: