PiKVM v2 DIY IP-KVM Remote Management Console

This lab guides students through assembling, configuring, and securing an open-source, out-of-band server management console using a single-board computer and the PiKVM platform. Students construct the hardware console by integrating an HDMI-to-CSI-2 video capture bridge, implementing USB On-The-Go power isolation to emulate keyboard, mouse, and bootable mass storage devices without backfeeding voltage, and wiring optically isolated ATX interface circuits for remote server power and reset control. Through hands-on deployment of the embedded Linux environment and management daemons, students configure low-latency video streaming, implement role-based authentication with two-factor security, and manage servers remotely using web-based consoles and out-of-band protocols like IPMI. By completing the project, learners gain practical experience in data center remote management infrastructure, embedded peripheral buses, power domain separation, and systems administration.

IP-KVM KVM over IP out-of-band management OOBM Raspberry Pi single-board computer MIPI CSI-2 video capture USB OTG USB On-The-Go USB gadget emulation ATX power control optocoupler isolation IPMI Intelligent Platform Management Interface server administration embedded Linux WebRTC streaming system administration

Uploaded by demo on 2026-09-03 · ready · Electronics · Original source ↗

Files: PiKVM_README.md · auth.md · v2_diy_build.md

Readiness checks

  • complete 2026-09-03 03:58 🛡 Cybersecurity: Do not place on an open network · 4 findings 26 searches · 30 pages
    view · PDF

Latest report — 2026-09-03 03:58

Readiness: PiKVM v2 DIY IP-KVM Remote Management Console

Verdict: Ready with caveats · 2026-09-02 · est. parts cost $119–$137 for the priced core Cybersecurity — software & network: Do not place on an open network

This is the first readiness check for this lab, so it establishes the baseline — every price and stock level below is recorded for the next check to measure drift against. The recommended build is sourceable today: the Raspberry Pi 4 Model B 2 GB is Active at $55.00, the official PiKVM USB Power/Data Splitter is in stock at three shops around $14.42–$14.95, the official 15.3 W power supply is an exact match at $8.00, and the HDMI-to-CSI capture bridge sells at $26–$43. Four things keep it off a clean "Ready": the snapshot's part number for the primary board (RPI4-MODBP-2GB) cannot be ordered anywhere checked and must be ordered as SC0193 instead; the capture bridge's required Toshiba TC358743 chip could not be confirmed on any page that permits automated checking; the optional ATX controller has one obsolete option and one that is stocked only in a surface-mount package unusable on the specified breadboard; and the two alternative power wiring variants each contain a part that could not be sourced at spec. The cost estimate covers the priced core only — the microSD card, HDMI cable, Ethernet cable and camera ribbon were identified at Pi specialist retailers but their pages do not expose a price to an automated check.

Action required

Part Problem Recommended action
Raspberry Pi 4 Model B 2 GB The snapshot's MPN RPI4-MODBP-2GB is not orderable: no DigiKey listing, and both authorized distributors carrying it (Newark, Mouser) show 0 stock Order the same board as SC0193 — $55.00, 1210 in stock at DigiKey. Update the lab's parts list to SC0193
HDMI-to-CSI-2 bridge (Waveshare 19222) The lab requires the Toshiba TC358743 chip specifically, but no fetchable product page states it; Waveshare's own store blocks automated checking Buy only from a listing that names TC358743 in the description, and confirm the chip on arrival before the class runs
ATX controller — OMRON G3VM-61A1 Obsolete, no stock Substitute G3VM-61AY1 (manufacturer-recommended, $3.62), or better, use PC817X2NSZ9F at $0.29
ATX controller — TLP241BF Stocked only as 4-SMD gull-wing; will not plug into the breadboard the lab specifies Use PC817X2NSZ9F (through-hole 4-DIP) instead
USB-A power blocker (Power Variant 2) Most retail "USB data blockers" do the opposite of what this lab needs — they block data and pass power Source a power/VBUS blocker, or use the snapshot's own fallback: tape over pin 1 of a standard USB-A plug (free)
5 V / 3 A USB-A supply (Power Variant 3) Could not be confirmed at spec; the closest fetchable part (Adafruit, 5.25 V 2 A) falls short of the required ≥ 3.0 A Use Power Variant 1 (official 15.3 W supply + splitter) instead, which avoids this part entirely

Cybersecurity — software & network

Do not place on an open network — Published default credentials and 2FA off on a device whose web, SSH, VNC and IPMI services all grant complete control of the attached server, with no version-level security check possible on any of its unpinned components.

Component Version How known Support status
PiKVM OS (Arch Linux ARM base) not determined not determined (Distributed as a pre-built raw disk image; the lab materials state no image version and the base is a rolling release, so no version exists to check.) —
kvmd (main PiKVM daemon) 4.213 read from project (pkgver=4.213 in the fetched kvmd PKGBUILD (saved as fetched/01-PKGBUILD).) —
Python (kvmd runtime) 3.14 inferred (kvmd PKGBUILD constrains python>=3.14 and python<3.15, which bounds the runtime to the 3.14 series; it is a range, not an exact pin.) supported until 2030-10-31
ustreamer (video streaming server) not determined unpinned (kvmd PKGBUILD requires ustreamer>=6.47, a lower bound with no upper bound; the installed build is whatever the PiKVM pacman repository currently ships.) —
nginx-mainline (web front end for the PiKVM UI/API) not determined unpinned (kvmd PKGBUILD requires nginx-mainline>=1.25.1, a lower bound only.) —
OpenSSH (remote administration) not determined unpinned (Listed as an unversioned dependency 'openssh' in the kvmd PKGBUILD.) —
kvmd-webterm (browser terminal service) not determined not determined (Ships as part of the kvmd package suite; no independent version is stated in the lab materials or the fetched PKGBUILD.) —
kvmd-htpasswd / kvmd-totp (authentication utilities) not determined not determined (CLI utilities bundled with the kvmd package; no separate version stated.) —
kvmd-auth-server (optional central authentication) not determined not determined (Repository listing for pikvm/kvmd-auth-server returned no manifest or lockfile (server.py and config.yaml only), so no version could be read.) —
Angry IP Scanner / arp-scan (client diagnostic tools) not determined not determined (Auxiliary tools run on the student's own desktop; no version stated in the lab materials.) —
Google Authenticator (optional 2FA app) not determined not determined (Mobile application installed from an app store; no version stated in the lab materials.) —
Component Finding Severity Fix available?
kvmd (main PiKVM daemon) The lab documents a switch that turns authentication off entirely (kvmd.auth.enabled: false in /etc/kvmd/override.yaml), which would leave total control of the attached server open to anyone who can reach the device. posture Mitigation only - leave authentication enabled; never set kvmd.auth.enabled: false on a network students or others share.
kvmd (main PiKVM daemon) Dependencies unpinned: 64 of 64 in the kvmd PKGBUILD carry no exact version (only lower bounds such as nginx-mainline>=1.25.1 and ustreamer>=6.47), so the software actually installed varies with the build date and has no fixed, checkable security state. posture Mitigation only - record the output of pacman -Q on a known-good build so the class can rebuild the same versions, and re-run this check after each update.
PiKVM OS (Arch Linux ARM base) The device ships with published default passwords - root/root for the Linux account reached over SSH, and admin/admin for the web interface, REST API and VNC - with two-factor authentication switched off, so anyone who knows the documentation can log in until a student changes them. posture Mitigation only - change both passwords during the build (passwd root and kvmd-htpasswd set admin) before the device is ever connected to a shared network, and enable TOTP 2FA.
PiKVM OS (Arch Linux ARM base) Every remote-access service is enabled out of the box - the web UI and REST API on ports 80/443, SSH on port 22, a VNC server, and IPMI/Redfish BMC emulation - and each one grants full control of the attached server, including its power, BIOS and emulated keyboard and virtual drive. posture Mitigation only - put the device on an isolated management VLAN or lab-only network segment and involve campus IT before connecting it to any shared network.

What this means for your lab

A PiKVM is, by design, a remote key to the server it is plugged into: whoever can reach it can power the server on and off, watch and drive its screen and keyboard from boot onward, enter the BIOS, and mount a virtual drive to boot the machine from their own disk image. As flashed from the project's image it answers on the network immediately - web interface, SSH, VNC and IPMI are all on - and the passwords are the ones printed in the public documentation: root/root for the Linux login and admin/admin for the web interface, with two-factor authentication off. Anyone on the same network who recognises the device could therefore take over the attached server outright. Treat changing both passwords as part of the build, not as a later step, and keep the device on an isolated lab or management network rather than the campus network; talk to campus IT before connecting it to anything shared. Note also that we could not verify the security state of the software itself: the PiKVM image is a rolling release whose components are unpinned, and the kvmd daemon is distributed through a repository no vulnerability database tracks, so this check can say nothing about whether known flaws are present - it is unknown, not clean.

Not checked

  • PiKVM OS (Arch Linux ARM base): Rolling release with no image version stated in the lab materials; endoflife.date has no dated cycle for a rolling distribution, so its support status could not be established.
  • kvmd 4.213: Distributed through PiKVM's own pacman repository, which no vulnerability database indexes - absence of advisories here is not evidence that there are none.
  • The 64 Arch package dependencies of kvmd (python-aiohttp, nginx-mainline, openssh, python-paramiko, ipmitool and the rest): All unpinned in the PKGBUILD, so no exact version exists to match against OSV.
  • ustreamer: Version not pinned (kvmd requires only ustreamer>=6.47) and the repository carries no manifest, so no exact version could be checked.
  • kvmd-webterm, kvmd-htpasswd, kvmd-totp: Ship inside the kvmd package with no independent version to look up.
  • kvmd-auth-server: Optional component; its repository has no manifest or lockfile, so no version could be read.
  • Angry IP Scanner and arp-scan: Client-side desktop diagnostic tools, version not stated in the lab materials.
  • Google Authenticator: Mobile application, version not stated in the lab materials.

Parts

Base single-board computer

Part Spec/Package Status Stock Price Source
Raspberry Pi 4 Model B 2 GB (SC0193) SBC, 85.00 × 56.00 mm, 40-pin GPIO, 15-pin CSI Readily available — but not under the snapshot's RPI4-MODBP-2GB 1210 $55.00 DigiKey, Active
— same board as RPI4-MODBP-2GB — Unobtainable under that MPN 0 $55.00 listed Newark 0 stock, Mouser 0 stock (ECIA)
Raspberry Pi Zero 2 W (snapshot says SC0510) Ultra-compact SBC, 65 × 30 mm Available at Pi retail; vendor page states the model as SC1146, not SC0510. No distributor match for SC0510 — not captured PiShop.us
Raspberry Pi 5 (SC1111 / SC1112) SBC, 85.60 × 56.50 mm Not required — the lab documents the Pi 5 as unsuitable (no hardware H.264 encoder). No exact match for either MPN 0 $422.62 listed, RS 0 stock ECIA; DigiKey stocks Pi 5 8 GB under the different MPN SC1432

Operating system storage

Part Spec/Package Status Stock Price Source
MicroSD card, ≥ 16 GB, Class 10 SanDisk Ultra MicroSDHC 32 GB, Class 10 / UHS-I, 100 MB/s Readily available — not captured PiShop.us

Video capture

Part Spec/Package Status Stock Price Source
HDMI-to-CSI-2 bridge (TC358743, Waveshare 19222) Module, HDMI-A female + 15-pin 1.0 mm FPC Available — chip identity not verified — $26.24–$70.18 (8 listings; Waveshare-branded $26.24 and $43.00) Google Shopping; The Pi Hut page does not name the chip (SKU WAV-19137)
Camera ribbon, Pi 4 (15-pin, 1.0 mm, 15 cm) 15-way 150 mm flat-flex Readily available — not captured The Pi Hut
Camera ribbon, Pi Zero 2 W (22-pin 0.5 mm → 15-pin 1.0 mm) Asymmetric FPC Available at retail; the snapshot's "B085RW9K13" is an Amazon ASIN, not an MPN — $0.99–$20.99 Google Shopping (Arducam/UCTronics pages unreadable to an automated check)
USB HDMI capture dongle (UVC) HDMI-A female to USB-A male Readily available — $14.99–$161.17; usable UVC units $14.99–$24.95 Google Shopping
Active VGA-to-HDMI converter (optional) VGA in, HDMI out, USB 5 V powered Readily available — check direction — $12.99–$56.36 Google Shopping (the same search also returns HDMI-to-VGA units, which are useless here)

Power and USB data path

Part Spec/Package Status Stock Price Source
USB-C Power/Data Splitter (Variant 1, recommended) Breakout PCB, 3 USB ports, breaks host VBUS Readily available; VBUS isolation confirmed on the vendor page in stock at 3 shops $14.42–$14.95 PiShop.ca / PiShop.us / HiPi.io; official page
USB-C to USB-C cable (Variant 1) C male–C male, 0.3–1.0 m, ≥ 3 A Readily available (1 m; exact 0.3 m not found at a checkable vendor) in stock $9.95 Adafruit, USB 3.1 with E-Mark
USB-A to USB-C cable (Variants 1–3) A male–C male, 1–2 m Readily available in stock $4.95 Adafruit, ~1 m
USB-A power blocker (Variant 2) Inline A male–A female, VBUS pin 1 cut, data kept Available — but most retail "data blockers" are the opposite device — $4.55–$22.95 Google Shopping; snapshot's free fallback is taping pin 1
Dual USB-A Y-splitter (Variant 2) 1× A female → 2× A male Readily available — $2.67–$19.99 Google Shopping
Donor USB cable for splicing (Variant 3) USB-A male, ≥ 24 AWG conductors Readily available (any donor cable) in stock $0.95 Adafruit solder-tab shell — a different form factor from a pre-wired pigtail; conductor gauge not verified
Raspberry Pi 15.3 W USB-C supply (SC0216) 90–264 VAC in; 5.1 V, 3 A, 15 W out Readily available — exact match 1292 $8.00 DigiKey, Active
Raspberry Pi 12.5 W micro-USB supply (SC0211) 5.1 V, 2.5 A out, micro-USB Available at Pi retail; no authorized distributor lists SC0211 (the ECIA hit is an unrelated SMC Corporation part) — not captured PiShop.us, 5.1 V 2.5 A confirmed
5 V / 3 A supply with USB-A socket (Variant 3) Regulated 5.0–5.2 V, ≥ 3.0 A, USB-A female Not confirmed at spec — $10.99–$36.84, none confirmed as 5 V/3 A with a USB-A socket Google Shopping; Adafruit's USB-A unit is 2 A — under-spec

Pi Zero 2 W host connection

Part Spec/Package Status Stock Price Source
USB-A to micro-USB cable (modified) A male–micro-B male, VBUS disconnected by the student Readily available in stock $2.95 Adafruit, 3 ft

ATX motherboard control interface (optional feature)

The lab's own parts list was retrieved from the project documentation: four optocouplers, four 390 Ω resistors, two 4.7 kΩ resistors, ten or more male-male dupont wires and a breadboard. That page warns verbatim: "Don't use random relay modules or random optocouplers!"

Part Spec/Package Status Stock Price Source
Optocoupler ×4 — PC817X2NSZ9F Through-hole, 4-DIP (0.300", 7.62 mm), CTR ≥ 50 % @ 5 mA, 80 V Readily available — best choice 26442 $0.29 DigiKey, Active (observe input polarity)
Optocoupler ×4 — OMRON G3VM-61AY1 Through-hole, 4-DIP (0.300", 7.62 mm), SSR SPST-NO Readily available 6600 $3.62 DigiKey, Active
Optocoupler ×4 — OMRON G3VM-61A1 Through-hole, 4-DIP (0.300", 7.62 mm) Obsolete 0 $1.8922 listed DigiKey
Optocoupler ×4 — TLP241BF 4-SMD gull-wing only at DigiKey Active but wrong package for a breadboard build 7648 $2.55 DigiKey
390 Ω ×4 and 4.7 kΩ ×2 resistors, dupont wires, breadboard Through-hole commodity not checked — — Ubiquitous commodity stock; not individually looked up

Cabling to target and network

Part Spec/Package Status Stock Price Source
HDMI Type-A male–male cable 1–2 m, HDMI 1.4/2.0 Readily available — not captured PiShop.us, 6 ft
Cat5e/Cat6 patch cable RJ-45, 1–3 m, gigabit Readily available — not captured PiShop.us, Cat6 UTP 24 AWG 7 ft

Substitutes

For part Substitute Differences Verified Judgment
Raspberry Pi 4 2 GB (SC0193) SC0194, 4 GB, $100.00 Identical board otherwise; the extra RAM is unused by PiKVM. Nearly double the price Verified: board outline 85.00 × 56.00 mm identical across SC0193/94/95 (DigiKey parametrics); Active, stock 12270. Not verified: connector-level pinout (not in parametrics) — relied on the snapshot's own statement that these substitute directly Acceptable — a fallback on availability, not on value
Raspberry Pi 4 2 GB (SC0193) SC0195, 8 GB, $165.00 As above; three times the price Verified: board outline 85.00 × 56.00 mm (DigiKey parametrics); Active, stock 5244. Not verified: connector-level pinout Acceptable but poor value for this lab
OMRON G3VM-61A1 (obsolete) OMRON G3VM-61AY1, $3.62 Same manufacturer and SSR family; same body and pitch. Price rises from $1.89 to $3.62 Verified: package and lead spacing both match — 4-DIP (0.300", 7.62 mm) on both, from DigiKey parametrics; DigiKey returned it as "MFR Recommended"; Active, stock 6600. Not verified: LED trigger current and on-resistance (no such parametrics returned) Acceptable — check the datasheet against 3.3 V GPIO drive before ordering
PC817X2NSZ9F LTV-816 (Lite-On), $0.82 Same 4-DIP optoisolator class, 5 kV isolation; about 3× the price Verified: package family 4-DIP on both (DigiKey descriptions); DigiKey classified it "Direct"; stock 30930. Not verified: lead spacing/pitch — a lookup on LTV-816 returned only the surface-mount LTV-816S family, so no parameters block for the through-hole part was obtained. Also not verified: CTR rank Electrically equivalent on the evidence available; footprint not verified. Do not order the LTV-816S variants — those are surface-mount
TLP241BF — Every package DigiKey stocks is 4-SMD gull-wing; the lab specifies a breadboard Verified: mounting type and package (DigiKey parametrics, all four stocked variants) Hard stop on footprint — use PC817X2NSZ9F
5 V / 3 A USB-A supply (Variant 3) Adafruit 5 V 2 A, $7.95 5.25 V at 2 A against a required ≥ 3.0 A Verified: output rating read from the fetched Adafruit product page Rejected — falls short of the current rating; under-current causes exactly the under-voltage throttling the lab warns about

Verify any substitute against its datasheet before ordering — the checks above are only as good as the parametrics the distributor published.

Other dependencies

  • **https://pikvm.org** and **https://docs.pikvm.org** — both live this run; /flashing_os, /v2/ and /_diy_parts_atx/ all retrieved successfully.
  • **https://archlinuxarm.org** — live; the page confirms the rolling-release model the lab depends on ("New software versions are packaged as they are released").
  • **https://pikvm.org/buy/** — live; supplies the splitter availability table used above.
  • PiShop US — live; the splitter, Pi Zero 2 W, power supply, microSD, HDMI and Cat6 product pages all responded.
  • Tindie (8086net USB-C/PWR splitter) — not checked: the page could not be downloaded this run (blocked, timed out, or gone). Status unknown; the same board is available from PiShop.
  • BuyAPI Canada — responded, serving the 8086 splitter product description.
  • 3mdeb (Poland) — live; sells assembled PiKVM kits at €140,00–€192,00 ex. VAT, but no standalone splitter appeared in the retrieved text.
  • GitHub repositories — pikvm/kvmd, pikvm/ustreamer and pikvm/kvmd-auth-server all responded to a directory listing (23, 17 and 10 entries). pikvm/pikvm was not checked this run.
  • YouTube DIY Y-splitter soldering tutorial — not checked.
  • Hardware fabrication — none required. The lab ships no CAD files, Gerbers or board outlines; it is built from commercial modules plus a breadboard and hand-soldered harnesses.

Watch list

  • Raspberry Pi 4 2 GB (SC0193) — the board is the single most drift-prone line here. One of its two DigiKey variants already reports no stock figure, and the RPI4-MODBP-2GB channel has gone to zero across two distributors. Re-check stock and price before each cohort.
  • HDMI-to-CSI-2 bridge — the hardest requirement in the lab (the TC358743 chip is not substitutable) and the least verifiable: sold mostly through marketplaces that block automated checking, with near-identical boards from 52Pi, Geekworm and others that may or may not carry the same silicon.
  • ATX optocouplers — one of the four documented options is already obsolete and another is package-unusable. The remaining through-hole options are what keep this optional feature buildable; watch PC817X2NSZ9F in particular.
  • Raspberry Pi Zero 2 W and its 12.5 W supply — neither the snapshot's SC0510 nor SC0211 matches anything at an authorized distributor, so this alternative build path rests entirely on specialist Pi retailers whose stock is not machine-checkable.
  • Power Variants 2 and 3 — the USB-A power blocker (widely confused with the opposite product) and the 5 V/3 A USB-A supply (not confirmed at spec) are the weakest lines in the BOM. Both disappear if the class standardises on Variant 1.
Snapshot What the lab depended on when it was uploaded — the baseline the readiness checks research against.

This lab guides the builder through assembling and deploying a PiKVM v2 DIY IP-KVM Remote Management Console. The system converts an off-the-shelf single-board computer into an out-of-band server management console that captures target video, provides emulated USB keyboard, mouse, and bootable mass storage (virtual CD/DVD/flash drive), and interfaces with server motherboard ATX power headers. The primary compute platform is a Raspberry Pi 4 Model B (with Raspberry Pi Zero 2 W supported as a compact alternative, and Raspberry Pi 5 explicitly noted as limited/unsupported due to its lack of hardware H.264 video encoders). The system operates on nominal 5.0 V DC power rails supplied via external USB power adapters (5.1 V / 3.0 A for Pi 4 or 5.1 V / 2.5 A for Pi Zero 2 W). Target server USB OTG signals and 3.3 V logic on the Raspberry Pi 40-pin GPIO and 15-pin CSI-2 camera interfaces must be galvanically or electrically managed: target host 5 V VBUS power must be strictly blocked from the Pi OTG port to prevent backfeeding, and target ATX headers require optical isolation.

Bill of Materials

Base Single-Board Computer (Primary / Recommended Option)

  • Identity: Raspberry Pi 4 Model B, 2 GB RAM (Raspberry Pi Ltd, part number SC0193 / RPI4-MODBP-2GB).
  • Quantity: 1.
  • Footprint/package: Single-board computer, 85 mm x 56 mm footprint; 40-pin 0.1-inch GPIO header, 15-pin 1.0 mm pitch CSI-2 camera connector, USB-C power/OTG port, dual Micro-HDMI ports, dual USB 2.0 Type-A ports, dual USB 3.0 Type-A ports, Gigabit Ethernet RJ-45 jack.
  • Electrical constraints: Power input nominal 5.0 V DC to 5.2 V DC at ≥ 3.0 A via USB-C connector. 3.3 V logic levels on GPIO and CSI-2 interface. Requires functional USB 2.0 dual-role / OTG controller on the USB-C port for device emulation.
  • Substitution latitude: Raspberry Pi 4 Model B with 4 GB (SC0194) or 8 GB (SC0195) RAM can substitute directly, although documentation notes RAM > 2 GB is unused. Pi Zero 2 W can substitute with functional compromises (no wired Ethernet, different cabling). Raspberry Pi 5 is not a direct substitute because it lacks Broadcom hardware GPU H.264 video encoders, preventing CSI-2 capture. Third-party SBCs (Rock Pi, Orange Pi) cannot substitute as PiKVM OS kernel and daemons require Broadcom SoC video encoding blocks and Raspberry Pi foundation kernel trees.
  • Control operated by students: No.
  • Sourcing plan: distributor lookup: RPI4-MODBP-2GB

Base Single-Board Computer (Compact Alternative Option)

  • Identity: Raspberry Pi Zero 2 W (Raspberry Pi Ltd, part number SC0510).
  • Quantity: 1 (alternative to Raspberry Pi 4).
  • Footprint/package: Ultra-compact SBC, 65 mm x 30 mm footprint; unpopulated 40-pin GPIO header, 22-pin 0.5 mm pitch CSI-2 camera connector, 2x Micro-USB Type-B receptacles (one labeled PWR, one labeled USB).
  • Electrical constraints: 5.0 V DC input via Micro-USB PWR port (requires ≥ 2.0 A). 3.3 V logic rails. Common 5 V power bus shared between PWR and USB micro ports.
  • Substitution latitude: Usable only if lower performance and lack of wired Ethernet are acceptable. Requires custom camera ribbon cable (22-pin 0.5 mm to 15-pin 1.0 mm) and modified Micro-USB cable with severed/taped 5 V line. Raspberry Pi Zero (v1.3/W) single-core models are not recommended due to insufficient CPU throughput for streaming.
  • Control operated by students: No.
  • Sourcing plan: distributor lookup: SC0510

Base Single-Board Computer (Limited Compatibility Option)

  • Identity: Raspberry Pi 5 (Raspberry Pi Ltd, part number SC1111 for 4 GB or SC1112 for 8 GB).
  • Quantity: 1 (alternative compute platform).
  • Footprint/package: SBC, 85 mm x 56 mm footprint; 40-pin GPIO, dual 4-lane MIPI CSI/DSI connectors, USB-C PD power connector.
  • Electrical constraints: 5.0 V DC / 5.0 A power input via USB-C PD.
  • Substitution latitude: Strongly discouraged in documentation; lacks hardware H.264 GPU encoders. Only supports MJPEG video capture over USB capture dongles; does not work with HDMI-to-CSI bridge.
  • Control operated by students: No.
  • Sourcing plan: distributor lookup: SC1111

Operating System Storage Card

  • Identity: MicroSDHC / MicroSDXC flash memory card, minimum 16 GB capacity, Class 10 / UHS-I speed rating.
  • Quantity: 1.
  • Footprint/package: Standard MicroSD form-factor (15 mm x 11 mm x 1 mm, 8-pin interface).
  • Electrical constraints: 2.7 V to 3.6 V operating voltage from Pi board; minimum sequential write performance ≥ 10 MB/s (Class 10).
  • Substitution latitude: Any reputable Class 10, UHS-I U1 or U3 MicroSD card with ≥ 16 GB capacity works. High-endurance cards are preferred, although the PiKVM OS operates in read-only filesystem mode during normal operation.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: MicroSD card 32GB Class 10

Primary Video Capture Device (HDMI-to-CSI-2 Bridge Adapter)

  • Identity: Toshiba TC358743-based HDMI to MIPI CSI-2 bridge module (e.g., Waveshare HDMI to CSI Camera Adapter, Waveshare part number 19222 / Amazon ASIN B08TR7R6RL).
  • Quantity: 1.
  • Footprint/package: Module PCB with full-size HDMI Type-A female input port and 15-pin 1.0 mm pitch FPC/FFC camera connector.
  • Electrical constraints: Powered via 3.3 V rail from the Raspberry Pi CSI connector. Supports HDMI video input up to 1920x1080 @ 50 Hz or 1280x720 @ 60 Hz (1080p @ 60 Hz is not supported due to TC358743 chip bandwidth limits).
  • Substitution latitude: Must be based on the Toshiba TC358743 bridge chip because the PiKVM kernel drivers and ustreamer utilize specific V4L2 and I2C registers for auto-resolution detection and CSI framing. Auvidea B101 bridge is noted as physically incompatible with Pi Zero camera cables.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: Waveshare HDMI to CSI Camera Adapter TC358743

Camera Ribbon Cable for Raspberry Pi 4 (HDMI-CSI Interconnect)

  • Identity: 15-pin, 1.0 mm pitch flexible flat cable (FFC), same-side or opposite-side contacts depending on bridge variant (typically bundled with the Waveshare adapter).
  • Quantity: 1.
  • Footprint/package: 15-pin FFC ribbon, 1.0 mm pitch, approximately 15 cm length.
  • Electrical constraints: Carries high-speed MIPI CSI-2 differential pairs, I2C lines, and 3.3 V power.
  • Substitution latitude: Any 15-pin 1.0 mm pitch Raspberry Pi camera ribbon cable of standard length (15 cm to 30 cm).
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: Raspberry Pi 15 pin camera ribbon cable 15cm

Camera Ribbon Cable for Raspberry Pi Zero 2 W (Pi Zero CSI Interconnect)

  • Identity: 22-pin 0.5 mm pitch to 15-pin 1.0 mm pitch FPC ribbon cable (e.g., Arducam part number B085RW9K13).
  • Quantity: 1 (required only if using Raspberry Pi Zero 2 W).
  • Footprint/package: Asymmetrical FPC ribbon cable: 22-pin 0.5 mm pitch connector at Pi Zero end, 15-pin 1.0 mm pitch connector at CSI bridge end.
  • Electrical constraints: MIPI CSI-2 data pairs and 3.3 V logic. Incompatible with Auvidea B101 bridge.
  • Substitution latitude: Any standard Raspberry Pi Zero camera conversion ribbon cable.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: Arducam Raspberry Pi Zero camera ribbon cable B085RW9K13

Alternative Video Capture Device (HDMI-to-USB Video Capture Dongle)

  • Identity: Generic USB Video Class (UVC) HDMI-to-USB video capture dongle (commonly MacroSilicon MS2109 or equivalent USB 2.0 UVC bridge; e.g., Amazon ASIN B09FLN63B3).
  • Quantity: 1 (alternative to HDMI-CSI bridge).
  • Footprint/package: Compact metal or plastic dongle with HDMI Type-A female input and USB Type-A male output.
  • Electrical constraints: 5.0 V DC powered via host USB-A port. Video output limited to MJPEG stream.
  • Substitution latitude: Any UVC-compliant USB capture card recognized as a /dev/video* V4L2 device. Documentation warns this alternative incurs higher latency, lacks automatic resolution negotiation, cannot capture BIOS reliably on some motherboards, is incompatible with Pi Zero 2 W, and requires software workarounds in override.yaml.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB HDMI video capture dongle UVC 1080p

Analog Video Adapter (Optional VGA-to-HDMI Active Converter)

  • Identity: Active VGA to HDMI converter adapter with 3.5 mm audio and USB 5 V auxiliary power input (e.g., AliExpress item 3256801728005613).
  • Quantity: 1 (optional, required only for servers with analog VGA output).
  • Footprint/package: Enclosed converter module with VGA male (or female) input, Micro-USB / USB-A power input, and HDMI Type-A female output.
  • Electrical constraints: 5.0 V DC power input via USB.
  • Substitution latitude: Any active VGA-to-HDMI video converter. Documentation notes that low-cost converters frequently fail to support non-standard server BIOS resolutions and refresh rates.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: active VGA to HDMI converter adapter with USB power

USB-C Power/Data Splitter Board (Power Variant 1 - Recommended)

  • Identity: PiKVM official USB-C Power/Data Splitter board, or third-party equivalents (e.g., Tindie 8086net USB-C PWR Splitter, PiShop US/UK/CA pwr-splitter).
  • Quantity: 1 (for Raspberry Pi 4 Power Variant 1).
  • Footprint/package: Dedicated breakout PCB module with three USB ports: USB-C power input (from wall PSU), USB-C or USB-A host data port (from target server), and USB-C device port (to Raspberry Pi 4).
  • Electrical constraints: Must support 5.0 V DC at ≥ 3.0 A continuous through the power rail to the Pi 4. Must isolate the target host +5 V VBUS rail while connecting USB 2.0 D+, D-, and GND to both sides.
  • Substitution latitude: Any dedicated USB-C power/data splitter board that breaks VBUS between target host and Pi 4 while providing high-current 5 V injection to the Pi 4 and sharing common ground.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: PiKVM USB-C power data splitter module

Splitter Interconnect Cable: USB-C to USB-C (Power Variant 1)

  • Identity: USB 2.0 / 3.0 Type-C male to Type-C male cable.
  • Quantity: 1 (for Power Variant 1).
  • Footprint/package: USB Type-C male to Type-C male cable assembly, length 0.3 m to 1.0 m.
  • Electrical constraints: Rated for 5.0 V DC at ≥ 3.0 A, carries USB 2.0 data pairs (D+/D-) and CC lines.
  • Substitution latitude: Any standard male-to-male USB-C cable capable of 3 A power delivery.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB-C to USB-C cable male to male 1ft

Host Interconnect Cable: USB-A to USB-C (Power Variants 1, 2, and 3)

  • Identity: USB 2.0 Type-A male to Type-C male cable.
  • Quantity: 1.
  • Footprint/package: USB-A male to USB-C male cable assembly, length 1.0 m to 2.0 m.
  • Electrical constraints: Carries USB 2.0 D+, D-, GND, and 5.0 V VBUS (blocked externally or at splitter).
  • Substitution latitude: Any standard commercial USB-A to USB-C cable.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB-A to USB-C cable male to male 3ft

USB-A Power Blocker Adapter (Power Variant 2)

  • Identity: Inline USB Type-A male to female VBUS power blocker adapter (e.g., PortaPow Data-Only USB Blocker / Amazon ASIN B092MLT2J3).
  • Quantity: 1 (for Power Variant 2).
  • Footprint/package: Inline USB-A male to USB-A female dongle/plug.
  • Electrical constraints: Physically disconnects the +5 V VBUS pin (pin 1) while maintaining continuity for USB 2.0 D+ (pin 2), D- (pin 3), and GND (pin 4).
  • Substitution latitude: Any commercial data-only USB-A blocker, or a standard USB-A connector with pin 1 manually insulated with Kapton/electrical tape.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB-A power blocker data only adapter

Dual USB-A Y-Splitter Cable (Power Variant 2)

  • Identity: USB 2.0 Y-splitter cable: 1x USB-A female to 2x USB-A male (e.g., Amazon ASIN B08C5FWQND).
  • Quantity: 1 (for Power Variant 2).
  • Footprint/package: Molded Y-cable assembly with 1x USB Type-A female receptacle and 2x USB Type-A male plugs.
  • Electrical constraints: 5.0 V DC rated; auxiliary power leg must carry ≥ 2.5 A to 3.0 A.
  • Substitution latitude: Any dual USB-A male to USB-A female Y-cable where one male lead supplies power and the second carries data lines.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB 2.0 female to dual male Y splitter cable

Secondary USB Cable for Splicing (Power Variant 3 - DIY Soldered Y-Splitter)

  • Identity: Commodity USB cable with USB Type-A male plug on one end and arbitrary connector on the other.
  • Quantity: 1 (for Power Variant 3).
  • Footprint/package: USB-A male cable to be stripped, cut, and soldered.
  • Electrical constraints: 5.0 V DC power transfer; red (+5 V) and black (GND) wires must have adequate conductor gauge (≥ 24 AWG recommended) to carry 3.0 A without excessive voltage drop.
  • Substitution latitude: Any donor USB cable or USB 2-wire pigtail.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB-A male pigtail bare wire cable

Main AC Power Adapter for Raspberry Pi 4 (Power Variants 1 and 2)

  • Identity: Raspberry Pi 15.3 W USB-C Power Supply (Raspberry Pi Ltd, part number SC0216 / KSA-15E-051300HU or regional equivalent).
  • Quantity: 1.
  • Footprint/package: AC wall-adapter brick with captive 1.5 m cable terminating in USB Type-C male plug.
  • Electrical constraints: Input 100-240 VAC, 50/60 Hz; output regulated 5.1 V DC at 3.0 A (15.3 W continuous).
  • Substitution latitude: Any regulated AC-to-DC power supply outputting 5.0 V to 5.2 V DC at ≥ 3.0 A via USB-C. Generic chargers lacking 5.1 V nominal or failing to deliver 3 A cause under-voltage throttling on the Pi 4.
  • Control operated by students: No.
  • Sourcing plan: distributor lookup: SC0216

Main AC Power Adapter for Raspberry Pi Zero 2 W

  • Identity: Raspberry Pi 12.5 W Micro-USB Power Supply (Raspberry Pi Ltd, part number SC0211 / KSA-12C-051250HU or regional equivalent).
  • Quantity: 1 (for Pi Zero 2 W builds).
  • Footprint/package: AC wall-adapter brick with captive 1.5 m cable terminating in Micro-USB male plug.
  • Electrical constraints: Input 100-240 VAC; output regulated 5.1 V DC at 2.5 A.
  • Substitution latitude: Any regulated 5.0 V to 5.2 V DC adapter with Micro-USB plug rated for ≥ 2.0 A continuous.
  • Control operated by students: No.
  • Sourcing plan: distributor lookup: SC0211

Main AC Power Adapter with USB-A Receptacle (Power Variant 3)

  • Identity: Regulated 5.0 V DC, 3.0 A AC-to-DC wall charger with female USB Type-A output socket.
  • Quantity: 1 (for Power Variant 3).
  • Footprint/package: Wall power adapter with USB-A female output.
  • Electrical constraints: Output regulated 5.0 V to 5.2 V DC at ≥ 3.0 A.
  • Substitution latitude: Any standard 5 V / 3 A regulated power brick with USB-A output socket.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: 5V 3A USB-A power supply adapter

Modified Micro-USB Cable (for Pi Zero 2 W Host Connection)

  • Identity: USB 2.0 Type-A male to Micro-USB male cable, user-modified with electrical tape over pin 1 or severed red VBUS conductor.
  • Quantity: 1 (for Pi Zero 2 W builds).
  • Footprint/package: Standard USB-A male to Micro-USB male cable.
  • Electrical constraints: Carries D+, D-, and GND; 5.0 V VBUS must be disconnected to avoid connecting target host 5 V bus to the Pi Zero 2 W common 5 V rail.
  • Substitution latitude: Any standard Micro-USB data cable modified by taping pin 1 or severing the +5 V wire.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: USB-A to Micro-USB cable 3ft

ATX Motherboard Control Interface Module (Optional Feature)

  • Identity: DIY ATX controller interface assembly (optocoupler/relay circuit referenced via v2_atx_breadboard.png and v2_atx_scheme.png).
  • Quantity: 1 circuit assembly (optional).
  • Footprint/package: Breadboard, perfboard, or custom daughtercard interfacing to the Raspberry Pi 40-pin GPIO header and target motherboard front-panel pins.
  • Electrical constraints: Driven by 3.3 V logic levels from Raspberry Pi GPIO. Switched side connects to motherboard front-panel header pins (Power Switch, Reset Switch, Power LED, HDD LED). Motherboard switch pins pull to ground with floating voltages up to 5 V; optocouplers (such as PC817 or similar) are required to provide galvanic isolation between server motherboard and Raspberry Pi grounds.
  • Substitution latitude: Described only by high-level schematic references in missing markdown partials; any 2-to-4 channel optically isolated relay or transistor/optocoupler board compatible with 3.3 V control inputs and standard PC ATX 0.1-inch header pins works.
  • Control operated by students: No (actuated via software web interface / API).
  • Sourcing plan: general web research: PiKVM v2 DIY ATX controller optocoupler circuit schematic and parts list

Target Server HDMI Video Cable

  • Identity: Standard HDMI Type-A male to Type-A male cable.
  • Quantity: 1.
  • Footprint/package: HDMI Type-A male to Type-A male cable assembly, length 1.0 m to 2.0 m.
  • Electrical constraints: HDMI 1.4 / 2.0 compliant; supports 1080p @ 60 Hz digital video transmission.
  • Substitution latitude: Any standard male-to-male HDMI cable.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: HDMI cable male to male 6ft

Network Patch Cable

  • Identity: Category 5e or Category 6 UTP Ethernet patch cable with 8P8C (RJ-45) modular plugs.
  • Quantity: 1 (for Raspberry Pi 4 / Pi 5 builds).
  • Footprint/package: RJ-45 male to RJ-45 male patch cable, length 1.0 m to 3.0 m.
  • Electrical constraints: 100BASE-TX / 1000BASE-T Gigabit Ethernet compliant.
  • Substitution latitude: Any standard Cat5e or Cat6 network patch cable.
  • Control operated by students: No.
  • Sourcing plan: retail shopping search: Cat6 Ethernet patch cable 6ft

Software and network dependencies

  • Platform Operating System: PiKVM OS

    • Repository / download: Pre-built raw disk images distributed via documentation portal (docs.pikvm.org/flashing_os) and upstream distribution project (archlinuxarm.org).
    • Version: not stated (built on Arch Linux ARM rolling release base).
    • Where version came from: not stated.
    • Pinning: Not pinned; follows Arch Linux ARM rolling release model using Pacman package manager. Operates in read-only root filesystem mode by default with rw/ro overlay toggle commands.
    • Check plan: support-status lookup: Arch Linux ARM rolling
  • Core Management Daemon: kvmd

    • Repository / download: pikvm/kvmd on GitHub; installed via Arch Linux ARM binary packages.
    • Version: stated in documentation only via specific feature availability milestones: "KVM >= 3.196" introduces Time-based One-Time Password (TOTP) 2FA support; "KVMD 4.53" introduces configurable session expiration limits. Exact base package release version is not stated.
    • Where version came from: stated in documentation.
    • Pinning: Not pinned in uploaded files. Managed via Arch Linux ARM packages without an in-workspace manifest or lockfile.
    • Check plan: not checkable: package distributed via custom pacman repository without standard package registry advisory feed.
  • Video Streaming Server: ustreamer (µStreamer)

    • Repository / download: pikvm/ustreamer on GitHub (C-based multi-threaded MJPEG/WebRTC streaming engine with Broadcom GPU hardware acceleration).
    • Version: not stated.
    • Where version came from: not stated.
    • Pinning: Not pinned.
    • Check plan: not checkable: version not stated.
  • Terminal Web Service: kvmd-webterm

    • Repository / download: Sub-service of the PiKVM software stack running as a systemd unit (kvmd-webterm.service) under an unprivileged OS user.
    • Version: not stated.
    • Where version came from: not stated.
    • Pinning: Not pinned.
    • Check plan: not checkable: version not stated.
  • Authentication & Helper Utilities: kvmd-htpasswd and kvmd-totp

    • Repository / download: CLI management utilities included with kvmd package suite for managing /etc/kvmd/htpasswd and RFC 6238 TOTP secrets.
    • Version: not stated.
    • Where version came from: not stated.
    • Pinning: Not pinned.
    • Check plan: not checkable: version not stated.
  • External Authorization Server (Optional): kvmd-auth-server

    • Repository / download: pikvm/kvmd-auth-server on GitHub (for enterprise multi-node centralized authentication).
    • Version: not stated.
    • Where version came from: not stated.
    • Pinning: Not pinned.
    • Check plan: not checkable: version not stated.
  • Client Discovery and Diagnostic Utilities: Angry IP Scanner and arp-scan

    • Repository / download: Angry IP Scanner (angryip.org) for Windows/macOS/Linux; arp-scan utility via Linux package repositories.
    • Version: not stated.
    • Where version came from: not stated.
    • Pinning: Not pinned; auxiliary diagnostic tools.
    • Check plan: not checkable: auxiliary client desktop utilities, version not stated.
  • Mobile Authenticator App: Google Authenticator

    • Repository / download: Apple App Store (ID 388497605) and Google Play Store (ID com.google.android.apps.authenticator2).
    • Version: not stated.
    • Where version came from: not stated.
    • Pinning: Not pinned.
    • Check plan: not checkable: mobile application, version not stated.

Manifest and Configuration File Locations

  • Package manifests / lockfiles: Not present in the upload workspace. System is deployed as a pre-built operating system image.
  • Primary user configuration override file: /etc/kvmd/override.yaml (used for configuring video streamer flags such as forever: true and cmd_append: [--slowdown], setting session expiration via kvmd.auth.expire, or disabling authentication via kvmd.auth.enabled: false).
  • Web/VNC authentication database: /etc/kvmd/htpasswd.
  • External documentation snippet references (missing from upload workspace): _diy_parts_atx.md, _diy_setup_video_csi.md, _diy_setup_video_usb.md, _diy_wiring_atx.md, _update_os.md, _config.md, _basic_troubleshooting.md.

Network Exposure

  • Physical interfaces: Wired Ethernet (RJ-45 on Raspberry Pi 4 / Pi 5) or 2.4 GHz / 5 GHz Wi-Fi (built-in 802.11ac/b/g/n on Pi 4 / Pi Zero 2 W). In addition, the USB-C or Micro-USB OTG port emulates a USB Composite Device (HID keyboard, mouse, and USB Mass Storage Drive) exposed to the target server.
  • Listening services and ports:
    • HTTPS (port 443) / HTTP (port 80): Serves the Web UI, WebRTC media streams, WebSocket control channels, and REST API. Explicitly cited in v2_diy_build.md ("Type the URL in the browser's address bar... https://192.168.0.26/ or https://pikvm/").
    • SSH (port 22): Remote command-line administration enabled out of the box. Explicitly cited in v2_diy_build.md ("PiKVM OS generates unique SSH keys and certificates") and auth.md ("For your own access to PiKVM OS, you still have SSH").
    • VNC (port 5900 typical): Dedicated VNC server with JPEG video compression for remote access. Cited in PiKVM_README.md ("Access via Web UI or VNC") and auth.md ("VNCAuth key - disabled by default").
    • IPMI BMC / IPMI SoL / Redfish: Remote BMC server emulation supporting ipmitool, ipmiutil, and redfishtool. Cited in PiKVM_README.md and auth.md ("IPMI password - disabled by default").
    • Wake-on-LAN (WoL): UDP broadcast client control from Web UI.
  • Default credentials:
    • Linux root superuser (SSH and local console): username root, password root. Stated in v2_diy_build.md and auth.md.
    • Web UI / KVM administrator (Web interface, REST API, VNC): username admin, password admin; 2FA disabled by default. Stated in v2_diy_build.md and auth.md.
    • Web Terminal user: kvmd-webterm. Restricted OS account with disabled password and sudo; superuser privileges require su - with root password.
  • Documented credential change instructions: Students are explicitly warned in v2_diy_build.md ("Passwords are important! Please ensure that you change both passwords: for Web UI access and for the Linux superuser") and instructed to run passwd root and kvmd-htpasswd set admin.
  • Authentication bypass exposure: Documented in auth.md via /etc/kvmd/override.yaml setting kvmd.auth.enabled: false; documentation explicitly warns against using this on untrusted networks.

Remaining temporal dependencies

External Web Resources and Download URLs

Hardware Fabrication

  • The project documentation does not include custom CAD files, Gerber archives, layer stackups, or board outline drawings for fabrication. The lab is implemented entirely with commercial off-the-shelf development boards, third-party interface modules, and breadboard/hand-soldered cable harnesses. ATX interface and USB power/data isolation circuits are documented only via conceptual wiring diagrams and schematic image assets (v2_atx_breadboard.png, v2_atx_scheme.png, v2_splitter_soldering.png), with no PCB fab specs provided.