Go to file
2024-07-26 23:20:37 -04:00
lib/waveshare_epd Add lib/waveshare_epd/epdconfig.py 2024-07-26 21:58:00 -04:00
access-point.sh Add access-point.sh 2024-07-26 21:52:58 -04:00
create-swap.sh Update create-swap.sh 2024-07-26 23:11:54 -04:00
display.py Update display.py 2024-07-26 21:54:51 -04:00
install.sh Add install.sh 2024-07-26 23:19:51 -04:00
README.md Update README.md 2024-07-26 23:20:37 -04:00

PiKVM - Pi Zero 2 W

The official PiKVM is expensive so I decided take build my own & add some features in the process:

  • "USB dongle" form-factor with minimal connections
  • Create access point when not connected to anything for easy access
  • Optional ethernet connection for wired networks
  • E-ink display for showing network information
  • Wireguard host to act as network jumpbox (If port forwarding is an option)
  • Wireguard client to act as reverse VPN (Aviods network firewalls, port forwarding & can be remotely configured by DNS)

Hardware

Assembly

  1. Optional: Cut the head off a USB cable & solder it to the debug pads on the back of the Pi; extend to the right (Opposite the SD card) & glue with hot glue
  2. Connect HDMI/CSI-2 module via short ribbon cable (~40 mm); fold over and glue to back of board alighting with the SD card
  3. Optional: Wire the Ethernet/SPI module onto SPI chanel 0
  4. Optional: Connect display via 8 pins on side to SPI channel 1

Install

  1. Flash SD card with latest PiKVM image using the Raspberry Pi Imager
  2. Edit /boot/config.txt to include:
dtoverlay=spi=on
  1. Edit /boot/pikvm.txt to include your WiFi credentials for initial configuration:
FIRST_BOOT=1
WIFI_ESSID="wifi_name"
WIFI_PASSWD="wifi_pass"
  1. Insert SD card into Pi, connect an HDMI cable to the PI HDMI output (not the added module), connect the USB port to power
  2. Open the IP address on screen & use admin/admin to login & open the console
  3. Login as root, enable rw mode & run the install script:
$ su -
**Enter password: root**
# rw
# curl https://git.zakscode.com/ztimson/PiKVM/raw/branch/master/install.sh | bash