I recently built a Pi-KVM machine so I could access the BIOS settings of a server in my basement remotely.
Parts List
- Raspberry Pi 4 Model B - 2gb RAM - For this specific application, you don't need more RAM, so save your money.
- CMC Tech Raspberry Pi 4 PoE HAT - The official docs mention an i2c conflict between the official PoE hat and the HDMI-C adapter, so I picked this 3rd party one without a fan.
- Lusya Standard HDMI to CSI-2 Adapter - The officially recommended adapter.
- GeeekPi Acrylic Raspberry Pi set-top box kit - If you don't use the bundled circuit board, this case offers extra room and a full-size HDMI hole for the HDMI-CSI adapter.
- UGREEN USB C to USB A OTG Adapter - To convert the USB Type C port that's normally used for power into a data port that can emulate a keyboard and mouse for the host computer.
- Monoprice USB 2.0 Type-A to Type-A Cable - 6ft
- Sutemribor M2.5 Hex Brass Spacer Standoff Screw Nut Assortment Kit - To mount the HDMI-CSI adapter to the case.
Modifications
The Pi-KVM project recommends a custom USB Type C power/data splitter to power the Pi without sending voltage to the host computer. Since I already have a PoE switch, I wanted to power the Pi that way to reduce parts and custom wiring.
The PoE HAT I picked uses the 5v and ground pins that the case fan needs, but exposes them directly underneath where the case fan is mounted. The PoE HAT pin location doesn't leave enough room to connect the fan, so I mounted the fan on the outside of the case, and routed the wires through the GPIO cable holes in the side of the case.
I initially had problems getting the HDMI-CSI adapter to work, so I added disable_poe_fan=1
to /boot/config
just in case there was an i2c conflict with my PoE hat. I think my problem was just that I didn't have the cables firmly plugged in, so this change might not be required, but it doesn't hurt anything.
I've ordered some brass standoffs/spacers in order to mount the HDMI-CSI adapter to the case so I can unplug and plug in an HDMI cable without having to open the case to hold the adapter in place.
After discovering that the USB OTG cable was powering the Pi even after disconnecting the PoE, I decided to open the USB OTG cable and cut the red +5v wire so power only comes from PoE. I sealed the cable with electrical tape.