KVM32

Get started

One command installs kvm32, a small tool that puts the firmware on the Waveshare ESP32-P4-NANO over USB. You do it once; after that the console takes the updates.

curl -fsSL https://kvm32.com/install.sh | sh

Copy and paste into terminal to try. Then kvm32 provision: it finds the board, flashes it and opens the console.

What you need

What kvm32 provision does

  1. Finds the port. It looks for the board's USB-UART chip among the serial ports. When there is more than one candidate, you pick with the arrow keys.
  2. Flashes the board. It downloads the firmware from the stable channel and writes it, keeping what the device holds: its settings, its console password and its certificate. With --licence it activates your code for this board first and fetches the Enterprise firmware.
  3. Waits for the address. It watches the board's log until the board reports the address the network gave it, by Ethernet or by WiFi.
  4. Opens the console. It prints the address, https://a.b.c.d/, and opens it in your browser. If no address shows up within 90 seconds, it opens https://ip-kvm32.local/ instead.

Every step prints one calm line, and an error says what to do about it. The device makes its own certificate, so the browser warns on the first visit. Set a console password first thing, and keep it.

Options: --licence CODE for an Enterprise code, --channel stable|beta (the beta channel is available to everyone; Enterprise devices get the internal beta builds), --port PATH to name the serial port, and --yes to skip the port question when there is only one. Codes are bought on the licence page.

The other commands

kvm32 ports
Lists the serial ports it would consider, the likely board marked.
kvm32 flash FILE
Flashes a firmware you already have: a zip from a channel, or a bare app image.
kvm32 monitor
Shows the board's serial log until you press Ctrl-C.
kvm32 update
Installs a newer kvm32, the same way the installer did.

Before you plug anything in

The board has two USB ports with different jobs. The Type-C port is for power, flashing and the serial log. The Type-A port goes to the machine you want to control, as its keyboard and mouse. The Type-A port's 5 V is always on, so never connect the Type-C port and the Type-A port to the same computer unless the 5 V wire of the Type-A lead is blocked: the computer would see two ports sharing one supply and switch them off. For the target, use a lead with the 5 V wire blocked.