PiKVM Setup Script for Pi Zero 2W
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 download more memory on the fly
- Install 1G of memory:
swap.sh 1024
- Uninstall swap:
swap.sh --disable
Hardware
Assembly
- 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)
- Connect HDMI/CSI-2 module via short ribbon cable (~40 mm); fold over and glue to back of board alighting with the SD card
- Wire the Ethernet/SPI module onto SPI chanel 0
Module |
RPI GPIO (Board) |
V |
17 (5/3.3 V) |
G |
20 (Any Ground) |
MI |
19 (SPI0 MOSI) |
MO |
21 (SPI0 MISO) |
SCK |
23 (SPI0 SCLK) |
CS |
24 (SPI0 CE0) |
INT |
22 (GPIO 25) |
- Connect E-Ink display via side pins to SPI channel 1
Module |
RPI GPIO (Board) |
VCC |
4 (5/3.3 V) |
GND |
6 (Any Ground) |
DIN |
19 (SPI0 MOSI) |
CLK |
23 (SPI0 SCLK) |
CS |
26 (SPI0 CE1) |
DC |
15 (GPIO 22) |
RST |
16 (GPIO 23) |
BUSY |
18 (GPIO 24) |
Install
- Flash SD card with latest PiKVM image using the Raspberry Pi Imager
- Open the newly created boot directory on the SD card in your file browser
- Enable SSH by creating an empty file:
/boot/ssh
- Edit
/boot/config.txt
to include:
# For screen and/or ethernet:
dtparam=spi=on
# Pick correct ethernet chip:
dtoverlay=w5500
# Or
dtoverlay=enc28j60
- Edit
/boot/pikvm.txt
to include your WiFi credentials for initial configuration:
FIRST_BOOT=1
WIFI_ESSID="wifi_name"
WIFI_PASSWD="wifi_pass"
- Insert SD card into Pi, connect an HDMI cable to the PI HDMI output (not the added module), connect the USB port to power
- After statup, open the IP address in your browser or SSH directly & use
admin/admin
to login
- 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