Remote PC Switch
I am currently trying to realize the following project:
I have a server rack with a number of computers (gaming, work, ..). Each computer has two monitor outs (Displayport 1.4, 4K@144Hz) and a single peripheral out (USB-C 10Gbps).
Important bandwith parameters:
- Displayport: min. 1.4 4K@240Hz via DSC, ideal: 2.1 4K@240Hz no compression capable
- USB-C: min. 5Gbps / ideal 10Gbps
Now I want to make those computers available at various locations (2-3). Distance varies between 10 - 30+ meters.
There are already a number of fiber optic solutions out there to solve the distance issue (https://fibercommand.com, https://www.heyoptics.net/) and I could basically have one of those multi cables to each terminal location:
Both potential fibercommand and heyoptics solutions and especially customer support have proven "complicated". Will switch to a different route for now with single fiber cable solutions for DP and USB. Will update soon after cable compatibility tests.
What is missing now is basically a switching unit in my server rack that allows me to say ComputerXYZ passthrough to TerminalXYZ.
Since are no 4K@144Hz units available I decided to built a switch myself.
This project will be periodically updated until completion!
Updates
2024-06-21 - VERSION 1.0
My setup is now (semi) final. Installed everything in my rack and it is working!
Hardware Components used:
- Retractable 2U Tray (Digitus, DN-19-TRAY-2-450-SW)
- ESP32 (Lilygo T-ETH-Lite + POE Shield)
- 6x DP2.1 Switch (2x1, Bi-Directional)
- 4x USB-C Switch (2x1, Bi-Directional)
3D Printables:
ESPHome Scripts:
- PC Controller (esphome/pc_control.yaml)
- Desk Controller (esphome/desk_control.yaml)
Device
Wireing
Switching at Terminals
To switch between the PCs at the terminals I use another ESP32 running ESPHome and hooked up to Home Assistant.
2024-04-22
Some issues emerged in the testing setup especially trying to run full 4K 240Hz stable using fibre connections and a single switch (!):
2024-04-20
Changed some components around, added Mini-DP support. Testing GIGABYTE AORUS FO32U2P (DP2.1 OLED!) monitor and trying to find a compatible fibre DP cable that works long distance with 4K@240Hz (15M):
2024-04-03
Wiring scheme and test setup complete. All assembly parts printed. Now to final testing:
2024-03-03
USB-C 2x1 switch testing finalized. Updated wiring for 4x PC inputs to 2x Terminal outputs:
2024-02-02
Found a good way to internally connect both splitters without producing much cable-length-waste (flat ribbon extension cables):
2024-02-01
Just a quick update. 1U rack mount design is on-going and in current prototyping phase:
2024-01-21
Updated and simplified the ESP32 control scheme. Only 2 Optocouplers and 2 Controls PINs required now.
2024-01-21
Complete wireing finalized and optical equipment assembled:
2024-01-18
Extended the diagram to support "Matrix" capability. Before only one terminal could be used simoultaneously. Now both can be used at the same time (A -> B, B -> A or A -> A, B -> B).
2024-01-16
Hooked up DP2.1 switch to ESP32. Switching and read-out of current active port successful!
2024-01-13
Disassembled a low cost DP2.1 (2x1) switch and established wireing diagram:
2024-01-12
Purchased test components. Works with two DP2.1 2x1 switches in a row as intended:
2024-01-10
Established initial schematic: