I recently ran way to much voltage through my Arduino and back into my computer via the USB connection. I'm looking for a USB hub with a fuse or some sort of protection to protect my laptop from these types of mistakes. Any suggestions as to products that would serve this function or other precautions I might take?
Both the arduino and a USB port do have some protection against wrong connections and such. The arduino has a diode to prevent wrong polarity to reach your power supply, it also have a resetable fuse (the kinda big, often green SMD part close by your USB connection on your Arduino) that should protect your USB port pretty good from its side of the cable. Your USB port also have some good protections going on as far as i know, so basically it should be hard to break a USB port by accident.
That was the theoretical part, In real life things aren't always what they claim to be, so I use a cheap powered USB hub, that i always use as a first line of defense.
You get used to what not to do fairly quickly :)
Perhaps what you're after is a ruggeduino - http://www.rugged-circuits.com/ruggeduino/
I get the feeling that this sort of thing encourages bad habits, but then it also encourages more exploration.
You need to think carefully about what you're doing, if you put in any second source of power (e.g. USB + power plug, or USB + a signal from another device).
Please note, that I have no experience in this field, this is simply what I found after some digging.
I was concerned about connecting a Raspbery Pi Pico device to my brand new computer and did some digging in the "USB Power Delivery" specification:
220.127.116.11 Output Over Current Protection
Sources operating in SPR mode Shall implement over current protection to prevent damage from output current that exceeds the current handling capability of the Source. [...]
"Shall" means, that this is a mandatory requirement:
Shall and Normative are equivalent keywords indicating a mandatory requirement. Designers are mandated to implement all such requirements to ensure interoperability with other compliant Devices.
At this point I am already confident enough to plug the device into my computer, so I'll stop digging into the details here.
My understanding is, that the USB controller will detect the fault, disconnect the device and then upon reset and/or reboot it would start working again.
External protection circuits should not be required, at least that is my takeaway. Maybe for really old computers?
It doesn't seem quite that simple after all, over-voltage protection may not be covered:
18.104.22.168.6 Over-Voltage Protection Event
The Over-Voltage Protection Event bit May be set when the Source detects its output Voltage exceeds its limits triggering its protection circuitry.
It seems advisable to use some sort of external device after all. Not sure how realistic this failure case is for devices which are powered from the host, but for devices with external power this seems smart.