PiKVM on Raspberry Pi 4 with Waveshare HDMI-to-CSI and Tailscale | IT HomeLab

PiKVM on Raspberry Pi 4 with Waveshare HDMI-to-CSI and Tailscale | IT HomeLab

đŸŽĨ Watch the Video Tutorial


💡 Why PiKVM?

PiKVM lets you remotely view and control a computer connected to it. It captures the target computer’s HDMI output and provides keyboard and mouse control, so you can work with the machine even when you are not sitting in front of it. In this guide, I install PiKVM on a Raspberry Pi 4 with a Waveshare HDMI-to-CSI bridge, then connect it to Tailscale. I also change the default passwords, update PiKVM, and show where to upload an ISO for virtual media. One useful feature is being able to work with the target computer’s boot process. That can help when you need to access the BIOS or reinstall an operating system remotely. â„šī¸ Note: I start an ISO upload during the video, but stop it because the file I selected is not suitable. I explain how the virtual-media process works, but I do not complete an ISO boot test in this recording.


🛠 What You’ll Need

  • Raspberry Pi 4 Model B
  • Waveshare HDMI-to-CSI bridge and ribbon cable
  • microSD card: PiKVM recommends 32GB or larger. I used a 16GB card for this demonstration; the installation I had previously tested used only a few gigabytes.
  • HDMI cable from the target computer to the HDMI-to-CSI bridge
  • USB cable from the target computer to the PiKVM
  • USB-C Y-splitter if the target device cannot provide enough power through its USB port
  • A computer to download the image and run Raspberry Pi Imager, plus access to the PiKVM terminal for configuration
  • A Tailscale account for remote access

📋 Step-by-Step Setup

1. Download the PiKVM image

Download the DIY PiKVM image for Raspberry Pi 4 with the HDMI-to-CSI bridge:

https://files.pikvm.org/images/v2-hdmi-rpi4/aarch64/v2-hdmi-rpi4-aarch64-latest.img.xz

The image can take a while to download, depending on your internet connection. I had downloaded mine beforehand to avoid waiting during the demonstration.

2. Write the image to the SD card

Open Raspberry Pi Imager. Select Choose Device, then No Filtering. Open Choose OS, scroll to the bottom, and select Use custom. Choose the PiKVM image you downloaded. Select the SD card under Choose Storage. Check that you have selected the correct drive, because writing the image erases it. The PiKVM documentation recommends a card of 32GB or larger. I use a 16GB card in this demonstration because that was the card I had available. Leave OS customisation disabled, then click Write and confirm. When writing is complete, eject the card and insert it into the Raspberry Pi.

3. Connect the PiKVM hardware

With the devices powered off, connect the ribbon cable between the Raspberry Pi’s camera connector and the Waveshare bridge’s CSI connector. Connect the target computer’s HDMI output to the HDMI input on the bridge. Connect the target computer’s USB port to the PiKVM’s USB-C connection. Depending on the target computer’s USB power output, you may need a USB-C Y-splitter to provide power and data separately. Insert the SD card and power on the PiKVM. Allow a few minutes for the first boot.

4. Open the PiKVM web interface

From a computer on the same network, open:

https://pikvm.local

If that name does not resolve, use the PiKVM IP address shown by your router or network tools. The browser may show a certificate warning on the initial connection. In the demonstration, I use the browser’s advanced option to proceed. The default web interface login is:

Username: admin
Password: admin

After signing in, check that the target computer’s screen is visible and the keyboard and mouse respond. â„šī¸ Note: The PiKVM page includes instructions for opening the KVM session in a separate window so keyboard shortcuts, including function keys, can be passed through. Use the command shown by the PiKVM interface for your browser setup.

5. Change the default passwords

The web interface account and the Linux root account have separate passwords. The default root password is root; the default web interface password is admin. Change both before using the device. The PiKVM filesystem is read-only by default. Open a terminal on the PiKVM and make it writable:

rw

Change the root password:

passwd

Set a new password for the web interface’s admin user:

kvmd-htpasswd set admin

Use different strong passwords and keep them somewhere safe. The web session may remain logged in until the service restarts; sign in again with the new password after refreshing or reconnecting.

6. Update PiKVM

Run the PiKVM update command from the terminal:

pikvm-update

The update process reboots the PiKVM. Wait for it to come back online, then refresh the web interface and sign in with the new admin password. You can also check when it is reachable again by pinging its network address.

7. Install and connect Tailscale

PiKVM uses Arch Linux ARM. Make the filesystem writable, then install the PiKVM Tailscale package with pacman:

rw
pacman -S tailscale-pikvm

Enable and start the Tailscale service:

systemctl enable --now tailscaled

Bring Tailscale up:

tailscale up

Open the URL printed in the terminal, sign in to your Tailscale account, and approve the PiKVM device. In the Tailscale admin console, disable key expiry for this machine if you want it to remain available without the key expiring. Once it has joined your tailnet, use its Tailscale IP address to open PiKVM from another device on that network.

8. Upload an ISO for virtual media

In the PiKVM interface, open the KVM view and go to the drive or image section. From there, you can choose a local image file and upload it to PiKVM. The intended workflow is to present the uploaded ISO to the target computer as a virtual CD or DVD, reboot the target, enter its BIOS or boot menu, and select that virtual media as the boot device. In my recording, I select a file to demonstrate the upload screen, but stop the upload because the file is not suitable. I don’t show a completed upload or boot from the ISO in this video.


🔧 Using PiKVM with Tailscale

With Tailscale connected, PiKVM can be reached from another device on the same tailnet using its Tailscale IP address. The PiKVM web interface provides the screen view and keyboard and mouse controls for the connected computer. Virtual media is useful when you need to boot the target computer from an installer or recovery image. The upload and boot steps depend on choosing a suitable ISO and selecting the virtual drive in the target computer’s boot menu.


âš ī¸ Important Considerations

Change both default passwords: The web interface uses the admin account, while SSH and the local terminal use the Linux root account. They have separate passwords. SD card size: PiKVM recommends 32GB or larger. I used a 16GB card in the video because it was available; my earlier installation had used only a few gigabytes. Follow the current PiKVM recommendation when preparing your own build. USB power and data: Some target devices may not provide enough power through USB. In that case, use a suitable USB-C Y-splitter to separate the power and data connections. Browser certificate warning: The initial browser connection may show a certificate warning. I proceed through the warning in the video. This guide does not cover setting up a different certificate. ISO upload: I show where the upload function is, but do not complete the upload or test booting from the selected file in the video.


🚀 What’s Next?

  • Connect PiKVM to your Tailscale network and test access from another device on the tailnet
  • Use a suitable ISO with virtual media to install or recover the target computer
  • Test the setup with the computer you want to manage remotely

✅ Conclusion

PiKVM on a Raspberry Pi 4 with a Waveshare HDMI-to-CSI bridge provides remote screen, keyboard, and mouse access to a connected computer. With Tailscale installed, you can reach the PiKVM interface from another device on your tailnet. The setup involves flashing the PiKVM image, connecting the HDMI and USB hardware, changing the default passwords, updating PiKVM, and joining it to Tailscale. The interface also includes virtual media tools for uploading an ISO and booting the target computer, though I did not complete that process in this recording.


đŸ“ē Watch the full video guide: https://youtu.be/gd0F6JPodJU If you found this helpful, like and subscribe to IT HomeLab Online for more tutorials. â˜•ī¸ Support the channel: Buy Me a Coffee

Enjoyed this guide?

Subscribe to the channel for more homelab builds and practical tutorials. â–ļ Watch on YouTube

Enjoyed this guide?

Subscribe to the channel for more homelab builds, Raspberry Pi projects, and AI automation tutorials.

▶ Watch on YouTube