Go to file
2024-07-29 10:09:43 -04:00
bin Got display working 2024-07-27 21:05:48 +00:00
lib Delete lib/2in13.bmp 2024-07-27 20:56:22 -04:00
src Got display working 2024-07-27 21:05:48 +00:00
install.sh Got display working 2024-07-27 21:05:48 +00:00
motd Starting on display 2024-07-27 20:08:43 +00:00
README.md Update README.md 2024-07-29 10:09:43 -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:

  • Small "USB dongle" form-factor with minimal connections
  • Simple install script which lets you toggle all added features
  • Static MAC addresses to fix IP changes on reboot while using DHCP
  • Creates access point when network connection is lost for easy configuration
  • Ethernet connection for wired networks
    • Ethernet passthrough coming soon!
  • E-ink display for showing network information
  • Create a jumpbox by adding a wireguard config (wg0.conf) to the boot partion
  • Simple SWAP managment script to add/remove memory on the fly
    • Install 1G of memory: swap.sh 1024
    • Uninstall swap: swap.sh --disable

Hardware

Assembly

  1. 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)
  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. Wire the Ethernet/SPI module onto SPI chanel 0
  4. Connect E-Ink display via side pins 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. After statup, open the IP address displayed in your browser & use admin/admin to login
  3. Open the console, login as root & run the install script:
$ su -
**Enter password: root**
# curl https://git.zakscode.com/ztimson/PiKVM/raw/branch/master/install.sh | bash