Have you ever fried a USB port hooking up your homebuilt 3D printer? It was all the rage back in the day. Admittedly, this is not a major issue with newer RepRap and similar printers. RAMPS and derived controller boards have moved away from self-supplying the 5V rail, or allowing the USB to connect directly to the board power, etc. Even my own board has a diode link I could sever to clear the whole thing up, but for various reasons, I don’t want to do that.
So I built this instead:
The 500mA fuses protect each line from overcurrent, but the problem with the fused USB cable, is that while it prevents imminent damage to the USB line, it can’t guarantee reliable communications between the control computer and the Arduino Mega board. You need a steady link to print anything.
So, going back to the drawing board, there are these expensive units called USB isolators, that cost $30 and up. But you know what else you can get for about $30? A Raspberry Pi nanocomputer.
You can sidestep almost all potential ground loop or voltage level issues just by tapping off the same PSU to power your Pi. Take a couple wirenuts to a 5V rail and twist them onto a USB Micro-B cable to make a power feed.
To make this truly useful, you can’t use the older RPis — the original model B runs Pronterface glacially and balks at loading in GCode files of any size. Your limit of one or two USB ports will also undo your ambitions if you want to set up a fully-functional workstation. The four ports that come with the Pi2 and B+ set you well ahead, though the B+ lags by comparison. Why not go with the do-it-all Pi2 for $10 more, anyway?
Another suggestion I’ve had is to use Octoprint, that way master control is back on a full-powered PC elsewhere; for that a traditional Pi B would do just fine.