Skip to content

pixelwave/Remote-PC-Switch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 

Repository files navigation

remote-pc-switch

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:

MPO Fiber Connection image

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

Screenshot 2024-06-21 at 07 59 36

Wireing

Screenshot 2024-06-21 at 08 00 33

Switching at Terminals

To switch between the PCs at the terminals I use another ESP32 running ESPHome and hooked up to Home Assistant.

IMG_3739


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 (!): full-t

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): IMG_3097

2024-04-03

Wiring scheme and test setup complete. All assembly parts printed. Now to final testing:

IMG_2968 Screenshot 2024-04-03 at 07 58 05

2024-03-03

USB-C 2x1 switch testing finalized. Updated wiring for 4x PC inputs to 2x Terminal outputs:

wiring

2024-02-02

Found a good way to internally connect both splitters without producing much cable-length-waste (flat ribbon extension cables):

Screenshot 2024-02-02 at 15 55 30

2024-02-01

Just a quick update. 1U rack mount design is on-going and in current prototyping phase:

Screenshot 2024-02-01 at 09 33 20

2024-01-21

Updated and simplified the ESP32 control scheme. Only 2 Optocouplers and 2 Controls PINs required now.

Screenshot 2024-01-22 at 12 03 27

2024-01-21

Complete wireing finalized and optical equipment assembled:

Screenshot 2024-01-21 at 12 51 43 Screenshot 2024-01-21 at 12 53 29

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).

image

2024-01-16

Hooked up DP2.1 switch to ESP32. Switching and read-out of current active port successful!

IMG_2452 IMG_2453 IMG_2456

2024-01-13

Disassembled a low cost DP2.1 (2x1) switch and established wireing diagram:

IMG_2437

2024-01-12

Purchased test components. Works with two DP2.1 2x1 switches in a row as intended:

IMG_2423

2024-01-10

Established initial schematic:

Screenshot 2024-01-16 at 14 21 27

About

Remote PC Switch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published