mirror of
https://github.com/pikvm/pikvm
synced 2024-11-16 12:12:57 +00:00
158 lines
6.9 KiB
Markdown
158 lines
6.9 KiB
Markdown
# DIY PiKVM V2 Instructions
|
|
|
|
!!! tip "So many choices!"
|
|
There are many different options with sub-items, so you can choose what will suit you.<br>
|
|
However, we marked the recommended way by sign **`✮ ✮ ✮`**
|
|
|
|
|
|
-----
|
|
## Required parts
|
|
|
|
1. **MicroSD card minimum 16Gb class 10.**
|
|
|
|
2. **Raspberry Pi board:**
|
|
* **[✮ ✮ ✮ Raspberry Pi 4 2Gb](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/)**.<br>
|
|
*It makes no sense to buy a Pi 4 with more memory than 2Gb, since PiKVM software uses very few resources.*
|
|
* ... or [Raspberry Pi Zero 2 W](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/).<br>
|
|
*Compact and cheap, but not so reliable solution because of lack of the wired Ethernet.*
|
|
|
|
3. **Video capture device:**
|
|
* **[✮ ✮ ✮ HDMI-CSI bridge based on TC358743 chip](https://www.amazon.de/Waveshare-Raspberry-Supports-Backward-Compatible/dp/B092HVP926/)**.<br>
|
|
*Supports H.264 video encoding, automatic resolution selection and the lowest possible latency.*
|
|
* ... or [HDMI-USB dongle](https://www.amazon.com/Capture-Streaming-Broadcasting-Conference-Teaching/dp/B09FLN63B3) (not available for Pi Zero 2).<br>
|
|
*Only heavy MJPEG video, no resolution detection, big latency compared to HDMI-CSI.
|
|
Some users report hardware problems: the dongle may not work in the BIOS or simply stop working after a while.
|
|
It's a black box, and no one knows what's inside it. If you have problems with it, it will not be possible to fix them.*
|
|
|
|
4. **Board-specific: Power supply, USB connectivity, etc.**
|
|
|
|
??? success "✮ ✮ ✮ Raspberry Pi 4"
|
|
|
|
On a Raspberry Pi 4 only the USB-C port that receives power is capable of acting as a USB Device.
|
|
The other USB ports are capable only of acting as USB Hosts.
|
|
Therefore a special cable must be used on the USB power port that it can simultanously act as USB Device
|
|
for the target host and receive external power from an power supply.
|
|
|
|
??? success "✮ ✮ ✮ Variant #1: Power supply + ready-made Y-splitter module"
|
|
|
|
* *x1* USB-C/Power Splitter Module ([US](https://www.pishop.us/product/usb-c-pwr-splitter/)/[UK](https://www.tindie.com/products/8086net/usb-cpwr-splitter)/[CA](https://www.buyapi.ca/product/usb-c-pwr-splitter/)).
|
|
* *x1* USB-C to USB-C cable (male-male) for connecting the Raspberry Pi to the splitter.
|
|
* *x1* USB-A to USB-C cable (male-male) for connecting the target host to the splitter.
|
|
* *x1* [Official USB-C Power Supply](https://www.raspberrypi.com/products/type-c-power-supply/).
|
|
|
|
??? note "... or Variant #2: Power supply + Y-splitter based on power blocker"
|
|
|
|
* *x1* USB-A to USB-A cable (male-male).
|
|
* *x1* [USB splitter](https://www.amazon.com/dp/B08C5FWQND).
|
|
* *x1* [USB Power Blocker](https://www.amazon.com/gp/product/B092MLT2J3) - Will go into the USB-A end towards the target host.
|
|
* *x1* [Official USB-C Power Supply](https://www.raspberrypi.com/products/type-c-power-supply/).
|
|
|
|
??? note "... or Variant #3: Power supply + DIY Y-splitter for soldering"
|
|
|
|
* *x1* USB-A to USB-C cable (male-male).
|
|
* *x1* Another cable USB-A to *any* (male-*any*).
|
|
* *x1* Any 5V 3A power supply with USB-A socket.
|
|
|
|
??? note "... or Raspberry Pi Zero 2 W"
|
|
|
|
* *x1* USB-A to USB-Micro cable (male-male).
|
|
* *x1* [Raspberry Pi Zero Camera Cable](https://www.amazon.com/Arducam-Raspberry-Camera-Ribbon-Extension/dp/B085RW9K13). *Not compatible with Auvidea B101*.
|
|
* *x1* [Official USB-Micro Power Supply](https://www.amazon.com/Capture-Streaming-Broadcasting-Conference-Teaching/dp/B09FLN63B3).
|
|
|
|
5. **Optional features:**
|
|
|
|
??? success "✮ ✮ ✮ ATX controller to manage the target host's power"
|
|
|
|
{!_diy_parts_atx.md!}
|
|
|
|
??? note "VGA video capture"
|
|
|
|
If you want to capture VGA from your server instead of HDMI,
|
|
buy the [VGA-to-HDMI converter](https://aliexpress.com/item/3256801728005613.html).
|
|
Some converters have issues with not supporting all resolutions and refresh rates.
|
|
|
|
*Kit parts suitable for assembly are also on [sale in Poland](https://3mdeb.com/shop/open-source-hardware/pikvm/).*
|
|
|
|
|
|
-----
|
|
## Setting up the hardware
|
|
|
|
1. **Video capture device:**
|
|
|
|
??? success "✮ ✮ ✮ HDMI-CSI bridge"
|
|
|
|
{!_diy_setup_video_csi.md!}
|
|
|
|
??? note "... or HDMI-USB dongle"
|
|
|
|
{!_diy_setup_video_usb.md!}
|
|
|
|
2. **USB cable and power supply**
|
|
|
|
??? success "✮ ✮ ✮ Raspberry Pi 4"
|
|
|
|
??? success "✮ ✮ ✮ Variant #1: Power supply + ready-made Y-splitter module"
|
|
|
|
<img src="../v2/v2_splitter_module.jpg" width=500>
|
|
|
|
??? note "... or Variant #2: Power supply + Y-splitter based on power blocker"
|
|
|
|
<img src="../v2/v2_splitter_cable.jpg" width=500>
|
|
|
|
??? note "... or Variant #3: Power supply + DIY Y-splitter for soldering"
|
|
|
|
It is assumed that if you have followed this path, you know how to handle a soldering iron and a multimeter.
|
|
|
|
The Y-splitter can be soldered from two suitable USB cables. Check the attached diagram.
|
|
The appropriate USB pinout(s) can easily be found on Google.
|
|
|
|
Please note that if you make a Y-cable from two no-name cables, the colors of the wires may not match those shown.
|
|
Use a multimeter to make sure the connections are correct.
|
|
|
|
<img src="../v2/v2_splitter_soldering.png" width=500>
|
|
|
|
**Video How-To: [Making a USB Y-splitter cable](https://www.youtube.com/watch?v=uLuBuQUF61o)**
|
|
|
|
??? note "... or Raspberry Pi Zero 2 W"
|
|
|
|
This board has two USB micro connectors: one for power supply (marked as `PWR`) and the second for emulating
|
|
a USB gadget (marked as `USB`). Both connectors have a common power line, so to prevent Raspberry power from entering
|
|
the USB port of the target host, it is required to make a special USB A-to-Micro cable without power line.
|
|
|
|
One way is to physically cut the power wire inside the USB cable.
|
|
|
|
An easier way is to stick a piece of duct tape, as shown in this picture:
|
|
|
|
<img src="../v2/v2_tape_off.jpg" width=500>
|
|
|
|
Connect the power supply to the `PWR`, and your magic cable to the `USB`. The magic cable will be used
|
|
to connect the device to the target host.
|
|
|
|
3. **✮ ✮ ✮ Optional feature: ATX controller**
|
|
|
|
Connect all the parts according to this scheme:
|
|
|
|
??? example "Simple wiring diagram"
|
|
<img src="../v2/v2_atx_breadboard.png" />
|
|
|
|
??? example "Electrical schematic diagram for advanced users"
|
|
<img src="../v2/v2_atx_scheme.png" />
|
|
|
|
|
|
-----
|
|
## Wiring with the target host
|
|
|
|
1. Connect the HDMI video capture device to the video output port on the target host.
|
|
|
|
2. Using the Y-cable, connect the PiKVM to the USB on the target host.
|
|
|
|
3. ??? example "Connect the ATX controller if you built it"
|
|
|
|
{!_diy_wiring_atx.md!}
|
|
|
|
|
|
-----
|
|
## First launch and usage
|
|
|
|
{!_diy_first_launch.md!}
|