USB Switch, Software, or ESP32-S3: Multi-Computer Setup Guide

13 October 20266 min read

A MakeUseOf piece last week asked whether you really need a USB switch to share one keyboard and mouse across computers. The author found an app that handled the job instead. It's a fair question. Most of us hit this wall eventually: two laptops, a desktop and a test box, or a work machine and a personal rig sharing a desk. You want one keyboard, one mouse, zero friction.

An ESP32-S3 board offers a third path: plug it into the target, open a browser, and control input without installing anything on that machine.

There are three ways to solve it. Each has a different cost, a different failure mode, and a different set of constraints. Here's how they stack up.

The hardware USB switch

A USB switch is a small box with a button. You plug your keyboard and mouse into it, run cables to each computer, and press the button to change which machine gets the input. Simple.

What works

  • No software on any machine. It works in BIOS, at the login screen, during a Windows install, on a headless Linux box with no network.
  • Zero latency. The signal path is copper.
  • No drivers, no updates, no background processes.

What breaks

  • Cable management. Every computer needs a USB-A or USB-C cable back to the switch. On a tidy desk that's four to six cables you didn't have before.
  • Port wear. You're plugging and unplugging (or leaving cables permanently attached) every day.
  • No clipboard sharing. You can't copy on the desktop and paste on the laptop.
  • No file drag-and-drop between machines.
  • The switch itself is a single point of failure. If it dies, everything stops.
  • Most affordable switches top out at two or four ports. More ports means more money and a larger box.

I've used a four-port KVM (keyboard, video, mouse) switch for years. It works. It also means my monitor runs through the same box, which adds its own EDID handshake problems. A pure USB switch avoids the video layer but still ties you to physical cables.

Installed keyboard-sharing software

Tools like Synergy, Barrier, Input Leap, Mouse Without Borders, or Logitech Flow install a service on each computer. One machine acts as the server (the one with the physical keyboard and mouse). The others are clients. You move the mouse off the edge of one screen and it appears on the next.

What works

  • Clipboard sync. Copy text on machine A, paste on machine B. Some tools sync files too.
  • No extra hardware. If the machines are already on the same network, you're done.
  • Feels like one big desktop. The mouse transition is instant once configured.

What breaks

  • You must install software on every target machine. That's a non-starter on locked-down corporate laptops, kiosk devices, or any box you don't have admin rights on.
  • Network dependency. Wi-Fi latency, VPNs, VLANs, or a corporate firewall can break the connection. I've spent hours debugging why Barrier wouldn't connect across a subnet.
  • No pre-boot access. The software loads with the OS. You can't hit F2 for BIOS, you can't select a boot kernel, you can't type a BitLocker recovery key.
  • Configuration drift. Updates break compatibility between versions. The server machine becomes a bottleneck, if it sleeps or crashes, you lose control of everything.
  • Security surface. You're running a background service with input injection privileges on every machine.

Browser-controlled ESP32-S3 remote USB input

This is what we built InputInfinity for. You flash an ESP32-S3 board, plug it into the target computer's USB port, and it enumerates as a standard USB keyboard and mouse. You open a browser on your control machine (or your phone), connect to the ESP32-S3, and type or move the mouse. Nothing installs on the target.

What works

  • Zero target-side software. The target sees a generic HID device. It works on Windows, macOS, Linux, BSD, Chrome OS, a Raspberry Pi, a locked-down thin client, a server in a rack, anything with a USB port that speaks HID.
  • Works at the BIOS/UEFI level. You can navigate the boot menu, enter the bootloader, type a disk encryption password.
  • No network dependency between control and target. The ESP32-S3 creates its own Wi-Fi access point or joins your LAN. The browser talks to the ESP32-S3 directly.
  • One control device (your laptop, phone, tablet) drives as many targets as you have ESP32-S3 boards. We offer a free tier for up to three devices.
  • Clipboard and file transfer are handled separately, you can use any sync tool you like (Syncthing, Taildrop, shared network drive) because the input layer stays clean.

What breaks

  • You need one ESP32-S3 board per target computer. That's hardware cost (roughly $10–15 per board) and a USB port occupied on each target.
  • Latency exists. It's low, typically 10–30 ms over local Wi-Fi, but it's not zero. Competitive gamers will feel it. For coding, admin, writing, and general desktop work it's invisible.
  • The ESP32-S3 must be powered. If the target's USB port cuts power in sleep states, the board goes down. Some boards support wake-on-USB; others need a separate 5 V line.
  • Initial flash step. You need a computer with a USB cable to flash the firmware once. After that, the board is standalone.
  • No video. You still need a way to see the target's screen (monitor, VNC, RDP, HDMI capture). This is an input-only solution.

Side-by-side comparison

Factor USB Switch Installed Software ESP32-S3 Browser Control
Target-side install None Required on every machine None
Pre-boot / BIOS access Yes No Yes
Network required No Yes (LAN/Wi-Fi) Only for control channel
Clipboard / file sync No Yes (built-in) Use separate tool
Hardware cost $20–80 switch + cables $0 (software) $10–15 per target board
Cable clutter High None One USB cable per target
Max targets (typical) 2–4 5+ (network limited) 3 free, more on paid plan
Latency Near zero 1–5 ms LAN 10–30 ms Wi-Fi
Works on locked-down machines Yes No Yes
Single point of failure Switch hardware Server machine Individual board

Choosing for your situation

Pick a USB switch if:

  • You have two or three machines permanently on the same desk.
  • You need absolute zero latency (gaming, real-time audio).
  • You regularly work in BIOS/UEFI or pre-boot environments.
  • You don't want to manage any software or firmware.

Pick installed software if:

  • You control all target machines and have admin rights.
  • Clipboard and file drag-and-drop are essential to your workflow.
  • The machines sit on a reliable LAN (wired preferred).
  • You don't need pre-boot access.
  • You're okay troubleshooting network and version issues occasionally.

Pick the ESP32-S3 browser approach if:

  • You hit machines you can't install software on (work laptops, client devices, headless servers).
  • You need pre-boot input (BitLocker, BIOS, boot menus).
  • You want to control from a phone or tablet without carrying a keyboard.
  • You prefer keeping the input layer separate from clipboard/file sync.
  • You're comfortable flashing a board once and plugging it in.

A mixed setup is valid

Nothing says you can only choose one. My current desk:

  • A USB switch connects my personal desktop and work laptop for the rare times I need BIOS access on both.
  • InputInfinity boards live on two headless Linux boxes in the rack. I control them from my laptop browser when I need to type a command at the console.
  • Synergy runs between my personal desktop and a secondary Windows machine for clipboard sharing during development.

Each tool covers a gap the others leave. The MakeUseOf author replaced a switch with an app because their constraints changed, admin rights, reliable LAN, no pre-boot needs. If your constraints are different, the answer changes too.

Where to start

If you've never tried the ESP32-S3 route, grab a board (any ESP32-S3 with native USB, the DevKitC-1, the Xiao ESP32S3, or a bare module on a breakout), flash the InputInfinity firmware, and plug it into a spare machine. Open the browser UI. Type. Move the mouse. That's the whole test. No account required for local use.

You'll know in five minutes whether the latency feels right for your hands. If it does, you've added a tool that works where switches and software can't.

Read the MakeUseOf article that sparked this comparison.

Discussion

No comments yet. Be the first.

Leave a comment

Comments appear once the author approves them.