# DIY PiKVM V1 Instructions !!! tip "So many choices!" There are many different options with sub-items, so you can choose what will suit you.
However, we marked the recommended way by sign **`✮ ✮ ✮`** ----- ## Required parts 1. **Raspberry Pi board**: * **✮ ✮ ✮ [Raspberry Pi 3](https://www.raspberrypi.com/products/raspberry-pi-3-model-b/)**.
* ... or [Raspberry Pi 2](https://www.raspberrypi.com/products/raspberry-pi-3-model-b/).
*Does not support H.264 even with HDMI-CSI bridge.* 2. **MicroSD card minimum 8Gb class 10**. 3. **Video capture device**: * **✮ ✮ ✮ [HDMI-CSI bridge based on TC358743 chip](https://www.amazon.de/Waveshare-Raspberry-Supports-Backward-Compatible/dp/B092HVP926/)**.
*Supports H.264 video encoding on Raspberry Pi 3, automatic resolution selection and the lowest possible latency.* * ... or [HDMI-USB dongle](https://www.amazon.com/Capture-Streaming-Broadcasting-Conference-Teaching/dp/B09FLN63B3).
*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. **[Official USB-Micro Power Supply](https://www.amazon.com/Capture-Streaming-Broadcasting-Conference-Teaching/dp/B09FLN63B3)**. 5. **The Pico HID Keyboard & mouse emulator**: {!_diy_parts_pico_hid.md!} 6. **Optional feature: ATX controller** {!_diy_parts_atx.md!} 7. **Optional feature: 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. ----- ## 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. **[Build the Pico HID Keyboard & Mouse emulator](pico_hid.md)**. !!! warning "WORK IN PROGRESS" ----- ## First launch and usage {!_diy_first_launch.md!}