Skip to the content
PCBKitNew board
4 layers65 × 30 mmComposite vr, the printed circuit board in 3D

Controller board for CRT-based VR headset

Size
65 × 30 mm
Copper layers
4
Thickness
1.59 mm
Parts
208
Nets
277
Pads
883
Tracks, vias
1,651, 283
Pours
1,161
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 Jun 2026
Updated
29 Jun 2026

Overview

Composite vr is an open-source printed circuit board by alanbog, from the alanbog/Composite-VR-PCB repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 4-layer board of 65 × 30 mm with 208 parts on 277 nets, routed with 1,651 tracks and 283 vias.

It is built around the RP2040, NC7SZ125P5X and TLV62568PDDCR, with the AK09918C, USB2422/MJ and TXS0102DCU among its other parts. Its parts include 102 resistors, 70 capacitors, 16 ICs, 6 connectors and 3 diodes. It belongs with the RP2040 and FPGA and CPLD boards of this library.

Main components

8

README

README.md

Composite-VR-PCB

This repository contains the hardware design of a controller board for CRT-based VR headset. The circuit contains an AMD Spartan 7 FPGA which splits the incoming HDMI video into separate luma only (black-and-white) NTSC composite video signals for the left and right eye. It also contains an RP2040 microcontroller which serves two purposes:

  1. Act as a JTAG programmer for the FPGA using xvc-pico
  2. Transmit 3-DOF tracking data back to a PC using the on-board IMU (based on Relativty).

The board also contains a USB hub and a USB C port intended to be connected to a Vive Tracker. When a Vive tracker is connected and SteamVR settings are configured to use the Vive Tracker to override the default tracking, the onboard IMU tracking will not be used, and the RP2040 will only serve to let SteamVR know that the headset is connected.

The board is the same dimensions and has the same mounting hole placement as a Raspberry Pi Zero.

Parts

208
QtyValueFootprintReferences
27100nPCM_JLCPCB:C_0402C1, C2, C10, C11, C14, C15, C16, C17, C19, C21, C24, C25, C27, C29, C30, C34 +11
1815KPCM_JLCPCB:R_0402R42, R45, R46, R47, R48, R50, R53, R59, R63, R75, R79, R82, R84, R85, R86, R87 +2
147.5KPCM_JLCPCB:R_0402R38, R39, R40, R41, R51, R58, R62, R72, R81, R83, R89, R90, R91, R92
12470nPCM_JLCPCB:C_0402C46, C47, C48, C50, C54, C55, C57, C60, C62, C63, C64, C66
114.7KPCM_JLCPCB:R_0402R43, R44, R49, R54, R55, R67, R68, R69, R70, R77, R96
100PCM_JLCPCB:R_0402R1, R5, R15, R23, R26, R27, R64, R66, R76, R80
104u7PCM_JLCPCB:C_0402C12, C18, C26, C36, C39, C43, C44, C49, C51, C52
8100KPCM_JLCPCB:R_0402R17, R33, R35, R36, R37, R100, R101, R102
849.9PCM_JLCPCB:R_0402R3, R7, R9, R13, R14, R16, R24, R25
52.2KPCM_JLCPCB:R_0402R2, R4, R19, R20, R22
547uPCM_JLCPCB:C_0805C38, C53, C61, C65, C68
410uPCM_JLCPCB:C_0603C4, C13, C20, C67
415pPCM_JLCPCB:C_0402C3, C5, C28, C33
41uPCM_JLCPCB:C_0402C22, C23, C31, C32
422KPCM_JLCPCB:R_0402R11, R31, R32, R94
475PCM_JLCPCB:R_0402R52, R56, R57, R65
4MountingHole_PadMountingHole:MountingHole_2.7mm_M2.5_DIN965_PadH1, H2, H3, H4
3100uPCM_JLCPCB:C_1206C37, C45, C69
31KPCM_JLCPCB:R_0402R8, R12, R21
3200KPCM_JLCPCB:R_0402R18, R74, R93
32u2Inductor_SMD:L_Taiyo-Yuden_MD-3030L1, L2, L3
3Red LEDLED_SMD:LED_0603_1608MetricD1, D2, D3
3TLV62568PDDCRLibrary:SOT-23-6-small_courtyardU5, U9, U10
210KPCM_JLCPCB:R_0402R6, R78
218KPCM_JLCPCB:R_0402R61, R73
222PCM_JLCPCB:R_0402R29, R30
233KPCM_JLCPCB:R_0402R10, R34
25.1KPCM_JLCPCB:R_0402R28, R98
28.2KPCM_JLCPCB:R_0402R60, R71
2Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J2
2IS25LP016DPackage_SO:SO-8_3.9x4.9mm_P1.27mmU2, U6
2OPA358Package_TO_SOT_SMD:SOT-363_SC-70-6U13, U15
2TXS0102DCUPackage_SO:VSSOP-8_2.3x2mm_P0.5mmU14, U16
2USB_C_ReceptacleConnector_USB:USB_C_Receptacle_Molex_105450-0101J3, J5
112KPCM_JLCPCB:R_0402R99
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY2
12.2nPCM_JLCPCB:C_0402C6
124MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY3
1330PCM_JLCPCB:R_0402R95
150MHzOscillator:Oscillator_SMD_SiT_PQFN-4Pin_3.2x2.5mmY1
1AK09918CPackage_BGA:WLP-4_0.83x0.83mm_P0.4mmU1
1Conn_02x07_Odd_EvenConnector_PinHeader_2.00mm:PinHeader_2x07_P2.00mm_Vertical_SMDJ6
1HDMI_AConnector_Video:HDMI_A_Molex_208658-1001_HorizontalJ4
1MPU-6050Sensor_Motion:InvenSense_QFN-24_4x4mm_P0.5mmU4
1NC7SZ125P5XPackage_TO_SOT_SMD:SOT-353_SC-70-5U7
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU8
1SW_PushButton_Switch_SMD:SW_SPST_TS-1088-xR025SW1
1TPS2561Package_SON:VSON-10-1EP_3x3mm_P0.5mm_EP1.65x2.4mm_ThermalViasU11
1USB2422Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.5x2.5mmU12
1xc7s15ftgb196Package_BGA:Xilinx_FTGB196U3

Questions

How big is the Composite vr PCB?

It measures 65 × 30 mm and has 4 copper layers, 1.59 mm thick.

What parts does the Composite vr use?

208 parts, built around the RP2040, NC7SZ125P5X, TLV62568PDDCR and AK09918C. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Composite vr KiCad files?

From the alanbog/Composite-VR-PCB repository on GitHub, at the commit this page was made from: the board is KiCad Files/composite_vr.kicad_pcb and its schematic KiCad Files/composite_vr.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Composite vr design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers41.4 × 27.9 mmImu geolocator, the printed circuit board in 3D

    Imu geolocator

    gabrielpgagne/imu-geolocator-hw

    An experimental project about trying to use an IMU as a geolocalization device.

    34 partsGPL-3.0
  • 4 layers75 × 50 mmCANchovy PCB, the printed circuit board in 3D

    CANchovy PCB

    fred314159265/CANchovy

    MKS CANable V2.0 based isolated USB-CAN interface

    102 parts7
  • 4 layers35.2 × 50 mmUSB OverDrive, the printed circuit board in 3D

    USB OverDrive

    hanaeatsplanes/USB-OverDrive

    This uses: TUSB4041l as the main Hub 3x LP5912 as an LDO A male USB-C plug (JAE DX07P024AJ1) no need to worry about cables

    91 parts
  • 4 layers61.4 × 45.8 mmUsb hub, the printed circuit board in 3D

    Usb hub

    Keyaan-07/GigaHub

    I made this project just for fun and because i had some free time. I could've made USB 2.0 hub but this was a bit challenging thus i made this!!

    75 partsMIT
  • 6 layers98 × 97 mmOvc5, the printed circuit board in 3D

    Ovc5

    osrf/ovc

    the Open Vision Computer

    202 parts207Apache-2.0
  • 4 layers214.1 × 131.7 mmQsic, the printed circuit board in 3D

    Qsic

    dabridgham/QSIC-verilog

    QBUS Storage and I/O Card

    186 parts11
  • 2 layers88.9 × 76.2 mmCnc hmi usb power, the printed circuit board in 3D

    Cnc hmi usb power

    tangentaudio/pico-cnc-hmi

    Raspberry Pi Pico HMI for LinuxCNC using USB Raw HID

    95 parts3