Board for modifying traffic on DP-aux. Specifically, board is made for correcting false information provided by the PSVR2 making it not work on PC. Except for DP-aux, it is a passive extension of USB-C.
Find a file
2024-06-21 22:29:29 +02:00
JLCPCB settings Add JLCPCB reference options 2024-06-21 22:29:29 +02:00
Libraries Initial commit 2024-03-05 13:46:36 +01:00
Manufacturing data Initial commit 2024-03-05 13:46:36 +01:00
DP-Aux_MITM_V0.kicad_pcb Initial commit 2024-03-05 13:46:36 +01:00
DP-Aux_MITM_V0.kicad_pro Initial commit 2024-03-05 13:46:36 +01:00
DP-Aux_MITM_V0.kicad_sch Initial commit 2024-03-05 13:46:36 +01:00
DP-Aux_MITM_V0.pdf Initial commit 2024-03-05 13:46:36 +01:00
DP-Aux_MITM_V0.step Initial commit 2024-03-05 13:46:36 +01:00
LICENSE Create LICENSE 2024-03-05 13:48:27 +01:00
passthrough_firmware.uf2 Added Readme, render 2024-03-25 20:16:30 +01:00
README.md Update README.md 2024-03-25 21:26:30 +01:00
render.png Added Readme, render 2024-03-25 20:16:30 +01:00

DP-aux emulator

Hardware design files for a DP-aux emulation board, designed to allow connection of PSVR2 headsets to PC.

(Rendered image using Kicad2blender plugin)

Prior to a March 2024 update of the PSVR2's firmware, the headset reported incorrect information via DP-aux, among others the EDID and DSC capability. A custom EDID can be set without additional hardware, however DSC options cannot - so the emulator board was born.

On the PCB is an RP2040 microcontroller, which decides which DP-aux requests to modify and which to pass through unchanged. To do so, a pair of SN65MLVD200A differential transceivers are used. The LVDS part of the circuit is based on Bitec's DisplayPort Daughter Card, however, I believe my voltage divider is closer to correct for this specific chip.

Apart from the core DP-aux emulation circuitry, there is a programming micro-USB connector (I would have used a USB-C, but this way it cannot be confused with the PSVR2 port), orientation detection using USB-C CC pins, and a power section, allowing the board to be powered with either the programming USB port or using VBUS from the USB-Cs. Even though the board was made with specifically the PSVR2 in mind, I tried to make it as compliant as possible with a low part count and it should work well with the maximum voltage of USB-PD3.0, 21V.

Firmware for it was written by the autor of the iVRy SteamVR driver, a passthrough-only version of the firmware is provided in this repository for testing.

As of March 2024, after the update, this board is only needed for using Nvidia boards with 3rd party PSVR2 drivers. This board only modifies DP-aux traffic, it doesn't help with connecting a PSVR2 to a card without a USB-C, for an adapter for such GPUs, check out Swyter's project, but note that it hasn't been tested yet.

Status: This is a third revision of the PCB, it has been verified to work as designed.