Okay so this ones a bit of a messy one.
I have an Arduino Uno and what I'm looking to do is provide functionality to two key buttons in a car instrument cluster. The particular buttons are unused currently so will be wired to the Arduino directly. They are simple push buttons, where pressing the button completes a connection while the button is pressed the same way a game controller button functions (both technically and physically).
What I would like to do with these two push buttons is run them through the Arduino with some state checking to handle the power up of two USB devices with only one USB device being turned on at once, both of these devices switch on automatically as soon as they receive power.
When power is provided to the Arduino, i want the default state to be Device A powered on, when Button A is pressed, the Arduino checks to see what device is currently powered and in this case it would be A, so it cuts power to Device A and instead provides power to Device B, then if Button A is pressed again, the same checks are done and Device B is turned off and Device A turned on.
Button B isn't going to be used (Yet).
The problem I see is that the first USB device uses 300mA and the second USB device uses 125mA, so powering them through the Arduino will kill it.
Would it be possible to achieve this by putting the Arduino in control of the two USB devices grounds, and feed both USB devices the same 1A, 5V source but un-grounded, and then switch them on by providing either one ground through the Arduino? (glorified switch on the ground line) instead?
Of course, if there is another way to approach this in a cleaner (safer) manner, I'm all ears.