InputInfinity

InputInfinity Blog

← InputInfinity Blog
·6 min read

An ESP32-S3 Passkey Clone Is Not a Remote Input Device

esp32-s3remote inputusb keyboardbrowser control
Black female engineer at desk assembling drones, showcasing electronics and technology in a modern lab setting.
Photo: ThisIsEngineering on Pexels

An ESP32-S3 can appear in a passkey project or a remote keyboard-and-mouse project, but the two have different jobs. One handles authentication. The other sends ordinary USB input to a computer.

That distinction matters when you are deciding what to build with a spare board. A recent How-To Geek on MSN story describes using an ESP32-S3 for a low-cost hardware passkey clone. The article is a reminder that the chip has enough USB-related capability to support hands-on hardware experiments. It does not mean every ESP32-S3 USB project belongs in the same category.

At InputInfinity, we use the ESP32-S3 for remote USB keyboard and mouse control. You open a browser, control the input device from that browser, and the ESP32-S3 presents keyboard and mouse input to the computer it is connected to. Nothing needs to be installed on that target computer.

The board may be similar. The problem being solved is not.

Authentication and input are separate paths

A hardware passkey is part of a sign-in flow. When a service asks for proof of identity, the device participates in that exchange. The important question is whether the person trying to sign in can complete authentication in a way the service accepts.

A remote USB keyboard and mouse has a simpler, narrower task. It sends keystrokes, pointer movement, clicks, and other normal input to the connected computer. The computer treats it as USB input. It does not know whether the person controlling that input is sitting at the target machine or using a browser somewhere else.

That is useful in a different set of situations:

  • You have two or three computers on a desk and do not want to keep moving between separate keyboards and mice.
  • A computer is running a task on a monitor across the room, in a lab, or in an equipment rack, while you need to operate its local interface.
  • You need to enter input on a computer where you cannot or do not want to install target-side control software.
  • You are testing a setup where a normal USB keyboard and mouse connection is the correct interface.

In each case, the intended result is input control. The target computer receives keyboard and mouse events, rather than a remote desktop image or an authenticated sign-in response.

Why the distinction matters in practice

Calling every USB-capable ESP32-S3 project a "USB security device" or a "remote-control device" creates confusion fast. It can lead people to expect a passkey project to solve desk-control problems, or expect a keyboard project to provide authentication protection. Neither assumption is safe.

A passkey project is tied to identity and account access. That raises questions about how credentials are created, stored, protected, backed up, and used. Those questions are central to the project. They are not minor setup details.

A remote input project has another set of concerns. You need to decide which machine the ESP32-S3 will plug into, where you will keep the browser control page open, and what actions you will send. If the target machine is at a login screen, a firmware menu, a kiosk-like interface, or a workbench, ordinary USB keyboard and mouse behavior may be exactly what you need.

The operational boundary is easy to state: InputInfinity sends input. It does not provide full remote desktop access, and it does not turn the ESP32-S3 into an account-authentication product.

Keeping that boundary clear also makes troubleshooting easier. If the target computer accepts a direct USB keyboard but ignores a network remote-control tool, the problem is often about software, permissions, or the state of the operating environment. A USB input device takes a different route. The ESP32-S3 connects to the target computer as the keyboard and mouse, while you control that device from your browser.

One browser workspace, several computers

The interesting overlap between the passkey story and remote input is not authentication. It is the appeal of using a small ESP32-S3 board to remove friction from a real setup.

For our users, that friction is usually a desk with more computers than input devices. A development laptop may sit next to a test machine. A mini PC may run a dedicated task. A third system may be attached to a display or be temporarily set aside during a migration. Separate keyboards and mice work, but they consume space and force constant hand movement.

InputInfinity gives each connected target computer an ESP32-S3-based USB keyboard and mouse path. From the browser, you choose the device you need and send input to it. The free start option covers up to three devices, which fits many small multi-computer setups.

This approach is especially practical when target-side installation is the obstacle. Perhaps the machine is newly set up. Perhaps it is a test system you want to keep clean. Perhaps your role does not allow you to install remote-control software. Perhaps the task is simply brief enough that installing and configuring another application would be wasted work.

The target computer does not need InputInfinity software installed for the USB input device to work. That is the core difference from tools that depend on an application running on every machine they control.

It is also why we describe this as browser-controlled remote input, rather than remote desktop control. Your browser is the control surface for the ESP32-S3. The ESP32-S3 is the USB keyboard and mouse connected to the target computer.

Choose the project from the job

Start with the physical and operational requirement, then select the ESP32-S3 project that matches it.

Build or evaluate a passkey project when your question is about authentication. You are learning how hardware-backed sign-in flows work, experimenting with a spare board, or studying the role of a dedicated authentication device. Treat account access as account access. Do not blur it with general peripheral control.

Use a remote USB keyboard and mouse setup when your question is, "How do I operate this computer without putting software on it?" That is common with bench machines, secondary PCs, temporary systems, and computers that need to stay close to their own screen or equipment.

Use it when you want one keyboard and mouse workflow across machines, too. The value is often mundane, which is a good sign. You stop reaching around a crowded desk. You stop borrowing a spare keyboard for a ten-minute task. You stop installing a remote-control client solely to click through a local setup screen.

There is a trade-off. Because InputInfinity is input control, you still need a way to see the target computer's display. That might be the monitor connected to it or another display arrangement you already use. If what you need is to view and operate a full graphical desktop over a network, that is a different kind of tool and a different requirement.

Keep the setup purpose-built

ESP32-S3 projects are most useful when their boundary is obvious. A board used for authentication should be treated as an authentication project. A board used as a remote USB input device should be set up around the computers and input tasks it must handle.

For a practical first build, identify the target computer, connect the ESP32-S3 where that computer expects its USB keyboard and mouse, then use the browser interface for control. Add devices as your workflow requires them. If your need is a small desk setup, starting with one or two targets makes it easier to confirm the flow before you rely on it during a busy task.

We built InputInfinity for that specific job: turning an ESP32-S3 into a browser-controlled USB keyboard and mouse for computers that should not need any target-side installation. If that matches your setup, you can start with up to three devices at InputInfinity.

Comments

No comments yet. Be the first.

Leave a comment

Comments appear once the author approves them.