4 USB Ports Switch For 6 Computers

Hi everyone!

I want to build some USB switch with Arduino so I be able to switch 4 USB ports with 6 computers, because I want to connect keyboard & mouse & card reader & empty usb port to 6 computers, instead of connecting 4 * 6 devices...
This will work with 6 buttons and transistors (I think something like "NMON" but if u have suggest for which transistor i need, its will be helpfull too). I will program that with Arduino to read the input and manage the USB data transmission...
So i wondering, if i dicconecting the USB v5+ power cable, the information will be disabled without damage to the PC or i need to manage all the pins? Cause I dont want to pin all the 6*4 cables with the switch...

I would love for an answer or advice for better ideas... Thanks!

P.S. I can't use some existed device because I must to create something without some external hradware id..

Sorry, not an Arduino matter.

Seems you want 1 or more "KVM" switches.

6-port seems to be too much of an "ask".


Synergy is a virtual KVM. Works from PC to PC or PC to Linux.
You could also consider VNC Server/Client.

"I will program that with Arduino to read the input and manage the USB data transmission..."

So what have you gotten to work with this so far? What USB switching have you already done to verify the concept of your project?

Arduino is not a suitable tool for this.

The amount of data involved is far beyond the capability of a low end microcontroller like the arduino to handle (USB 2.0 transfers 25 bits in 0.025us, the time that it takes an atmega328p at 16Mhz to execute a single instruction, and can transfer in one second an amount of data that exceeds the memory of that chip by a factor of 25,000; you're just not even close. Even the arduino boards based on faster microcontrollers is far too slow and without enough memory) - and I don't think I have ever seen a general purpose microcontroller capable of that sort of thing (with multiple independent USB ports). There exist dedicated products for this sort of application (both as end-products and as specialized parts), as this is an incredibly common thing to want to do for KVM switching applications, and one that is very hard to implement without specific hardware capabilities. You could have an arduino control a chip that switched USB, of course (either designing from ground up or cracking open a USB switch and replacing the button with an arduino), but this is an almost trivial job