Skip to the content
2 layers33.1 × 114.3 mmVbox mobo, the printed circuit board in 3D

Vbox mobo

CarVac/vbox6

A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

Size
33.1 × 114.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
74
Nets
53
Pads
286
Tracks, vias
714, 96
Pours
5
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
23 Oct 2023
Updated
10 Jul 2026

Overview

Vbox mobo is an open-source printed circuit board by CarVac, from the CarVac/vbox repository on GitHub. It is a 2-layer board of 33.1 × 114.3 mm with 74 parts on 53 nets, routed with 714 tracks and 96 vias.

It is built around the RP2040, W25Q128JVSIQ and X05A26H12G, with the XC6206-2.8V among its other parts. Its parts include 35 resistors, 17 capacitors, 15 connectors, 4 ICs and 1 diode. It belongs with the RP2040 boards of this library.

Main components

4

README

README.md

vbox

Overview of pcb and hand clusters

Angled view of hand clusters

A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface.

It's intended to be highly modular and configurable to fit different people's button layout preferences and hand sizes.

The left- and right-hand finger clusters and thumb clusters are mirror images of each other, with shared daughterboard PCBs, each side having single-sided layouts.

The switches used are Omron D2LS-21(20M), which are easy to hand-solder. The SMD JST PH connector was chosen for its low profile and ease of hand soldering.

Any switch location can be omitted if desired, and the housing printed with a blank where it would go.

The motherboard is designed to be as narrow as possible, with 4 JST connectors for button cluster daughterboards and one FFC connector for the USB-C breakout board.

It is derived from the Rana Labs Tadpole motherboard but with extremely heavy layout changes.

License

This project is licensed under the CERN Open Hardware License Version 2 - Strongly Reciprocal

This license:

  • Allows use, reproduction, modification, distribution, and sale of the design
  • Requires distribution under the same terms and attribution to the original designer(s)
  • Does not grant trademark rights
  • May be terminated for non-compliance

If you are distributing vboxes or derivatives, you must provide a way for the recipient to access the source files (this repository or your fork if you modify it).

All of these files are posted as-is. This source is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE.

BOM

PCBs

  • Motherboard (with SMT assembly)
  • QuRB) (with SMT assembly) (USB-C breakout)
  • 2x finger daughterboards (for hand assembly)
  • 2x thumb daughterboards (for hand assembly)

Electrical Parts

  • 20x (or more) Omron D2LS-21(20M) mouse switches
  • 2x S6B-PH-SM4-TB 6-pin right-angle surface-mount JST PH
  • 2x S10B-PH-SM4-TB 10-pin right-angle surface-mount JST PH
  • 2x A06KR06KR26E152A 6-pin 6" JST KR (PH-compatible) cable assembly, reversed
  • 2x A10KR10KR26E102A 10-pin 4" JST KR (PH-compatible) cable assembly, reversed
  • 1x 12-pin 0.5mm pitch ribbon cable, Xmm long

Printed Parts

The housings may be customized to include or omit different button locations. Adjust the python file (which uses Build123D) where it says EDIT THESE TO REMOVE BUTTON HOLES and run the file to generate new STLs.

Print as many keycaps as necessary.

  • Left Finger Cluster Housing
  • Right Finger Cluster Housing
  • Left Thumb Cluster Housing
  • Right Thumb Cluster Housing
  • 17x (or more) Short Keycaps
  • 3x (or more) Tall Keycaps

Housing TBD; there may be a non-folding version and a folding version.

Using the Motherboard with Other Button Clusters

You can use the motherboard with other finger clusters as long as you design them properly. The motherboard JST pinout is listed following, according to standard OpenFrame1 button locations.

Pinout

Left Hand Fingers

  1. GND
  2. Upper Row Index Finger (optional, GPIO 11)
  3. Upper Row Ring Finger (optional, GPIO 23)
  4. Upper Row Pinky Finger (optional, GPIO 25)
  5. L
  6. Analog Stick Left
  7. Analog Stick Down
  8. Analog Stick Right
  9. Upper Row Middle Finger (optional, GPIO 1)
  10. Start

Right Hand Fingers

  1. GND
  2. Right Hand Start (optional, GPIO 29)
  3. R
  4. B
  5. Y
  6. X
  7. Lightshield
  8. Z
  9. Midshield
  10. Analog Stick Up

Left Hand Thumbs

  1. GND
  2. Modifier 5 (optional, GPIO 10) (mirrored location of C-Stick Right)
  3. Modifier 4 (optional, GPIO 9) (mirrored location of C-Stick Up)
  4. Modifier 3 (optional, GPIO 8) (mirrored location of C-Stick Left)
  5. ModY (mirrored location of C-Stick Down)
  6. ModX (mirrored location of A)

Right Hand Thumbs

  1. GND
  2. C-Stick Right
  3. C-Stick Down
  4. A
  5. C-Stick Left
  6. C-Stick Up

Modifications

You may use as many or as few buttons as you would like, but keep in mind that if you are intending this for melee you should at least populate the standard 20 OpenFrame1 buttons.

When the JSTs of the button clusters are mounted on the top side of the outer edges of the PCBs (as in the reference design) or the bottom side of the inner edges of the PCBs, the pinout should be the same as on the motherboard, and you must use "reversed" cable assemblies which map pin 1 to pin 1 and pin N to pin N.

When the JSTs of the button clusters are mounted on the bottom side of the outer edges of the PCBs or the top side of the inner edges of the PCBs, the pinout should be reversed relative to the motherboard (1 to 10 and 10 to 1 for the fingers, and 1 to 6 and 6 to 1 for the thumb clusters) and you must use "non-reversed" (they simply omit the word reversed) cable assemblies that connect pin 1 to pin N. The correct cable assemblies are listed below:

  • 2x A06KR06KR26E152B 6-pin 6" JST KR (PH-compatible) cable assembly, non-reversed
  • 2x A10KR10KR26E102B 10-pin 4" JST KR (PH-compatible) cable assembly, non-reversed

Parts

74
QtyValueFootprintReferences
282kResistor_SMD:R_0402_1005MetricR1, R2, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25 +12
10100nFCapacitor_SMD:C_0402_1005MetricC3, C5, C6, C11, C12, C13, C14, C15, C16, C17
41uFCapacitor_SMD:C_0402_1005MetricC1, C2, C4, C10
4Conn_01x01MountingHole:MountingHole_3.2mm_M3_ISO14580_Pad_TopBottomJ8, J9, J10, J11
4Conn_01x02Connector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_VerticalJ12, J13, J14, J15
21kResistor_SMD:R_0402_1005MetricR10, R11
222pFCapacitor_SMD:C_0402_1005MetricC7, C8
227Resistor_SMD:R_0603_1608MetricR8, R9
2Conn_01x06Connector_JST:JST_PH_B6B-PH-SM4-TB_1x06-1MP_P2.00mm_VerticalJ4, J5
2Conn_01x10Connector_JST:JST_PH_B10B-PH-SM4-TB_1x10-1MP_P2.00mm_VerticalJ6, J7
110kResistor_SMD:R_0402_1005MetricR7
110kResistor_SMD:R_0603_1608MetricR6
110uFCapacitor_SMD:C_0402_1005MetricC9
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
15.6kResistor_SMD:R_0603_1608MetricR5
1BootButton_Switch_SMD:SW_SPST_SKQG_WithStemSW1
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1
1DuPont ConnectorConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1JTAG_TC2030PCM_marbastlib-various:CON_TC2030_outlinedJ2
1RP2040qw-footprints:RP2040-QFN-56U3
1Schottky DiodeDiode_SMD:D_SOD-123D1
1W25Q128JVSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU4
1X05A26H12Gfootprint:FPC-SMD_X05A26H12GU2
1XC6206Package_TO_SOT_SMD:SOT-23U1

More from CarVac/vbox

12
  • 2 layers109 × 55 mmVbox fingers, the printed circuit board in 3D

    Vbox fingers

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    20 parts6
  • 2 layers67 × 46.5 mmVbox thumbs, the printed circuit board in 3D

    Vbox thumbs

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    12 parts6
  • 2 layers89.6 × 56 mmVbox fingers choc2 right, the printed circuit board in 3D

    Vbox fingers choc2 right

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    9 parts6
  • 2 layers93.4 × 59.7 mmVbox fingers framework right, the printed circuit board in 3D

    Vbox fingers framework right

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    9 parts6
  • 2 layers89.6 × 56 mmVbox fingers mx right, the printed circuit board in 3D

    Vbox fingers mx right

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    9 parts6
  • 2 layers112.6 × 56 mmVbox fingers choc2 left, the printed circuit board in 3D

    Vbox fingers choc2 left

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    7 parts6
  • 2 layers116.6 × 60.2 mmVbox fingers framework left, the printed circuit board in 3D

    Vbox fingers framework left

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    7 parts6
  • 2 layers112.6 × 56 mmVbox fingers mx left, the printed circuit board in 3D

    Vbox fingers mx left

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    7 parts6
  • 2 layers70.6 × 47.5 mmVbox thumbs choc2 left, the printed circuit board in 3D

    Vbox thumbs choc2 left

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    6 parts6
  • 2 layers73.8 × 52.4 mmVbox thumbs framework right, the printed circuit board in 3D

    Vbox thumbs framework right

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    6 parts6
  • 2 layers70.6 × 47.5 mmVbox thumbs mx right, the printed circuit board in 3D

    Vbox thumbs mx right

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    6 parts6
  • 2 layers70.8 × 32.8 mmVbox thumbs framework left, the printed circuit board in 3D

    Vbox thumbs framework left

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    3 parts6

Similar boards

  • 2 layers172 × 107.7 mmRana Tadpole V2, the printed circuit board in 3D

    Rana Tadpole V2

    rana-sylvatica/rana-tadpole

    Pocket-sized digital controller

    153 parts20
  • 2 layers152.7 × 136.2 mmHybridBoxNew, the printed circuit board in 3D

    HybridBoxNew

    jmjass/Cubstraption

    Hybrid Box/GCC Controller for Super Smash Brothers

    67 parts3
  • 2 layers253.3 × 113.3 mmCut slope, the printed circuit board in 3D

    Cut slope

    hazels-garage/cut-slope

    119 parts29
  • 2 layers344.7 × 123.6 mmSlime88, the printed circuit board in 3D

    Slime88

    zykrah/slime88

    A F13 TKL Multi-Layout Hotswap H88-Compat Type-C PCB

    243 parts29
  • 2 layers288.8 × 160.1 mmGRAM SLIM, the printed circuit board in 3D

    GRAM SLIM

    GRAMCTRL/GRAM-SLIM

    Open source low-profile leverless design with an integrated RP2040.

    64 parts24GPL-3.0
  • 2 layers347 × 156.5 mmIntegrated OF1, the printed circuit board in 3D

    Integrated OF1

    quark-works/Integrated-OF1

    Design files are available in this repository. Production files for JLCPCB in the releases page. Tested working and fitting previously mentioned Frame 1 cases.

    81 parts11MIT
  • 2 layers203.3 × 221.2 mmPanelized Board, the printed circuit board in 3D

    Panelized Board

    GRAMCTRL/GRAM-PRISM

    A modular and scalable design based on WunWae's Prism Controller

    87 parts10GPL-3.0
  • 2 layers38.1 × 49.2 mmOpenRectangleTemplate, the printed circuit board in 3D

    OpenRectangleTemplate

    quark-works/OpenRectangleTemplate

    RP2040 template for use with box style controllers for the GC

    40 parts9MIT

Questions

How big is the Vbox mobo PCB?

It measures 33.1 × 114.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Vbox mobo use?

74 parts, built around the RP2040, W25Q128JVSIQ, X05A26H12G and XC6206-2.8V. 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 Vbox mobo KiCad files?

From the CarVac/vbox repository on GitHub, at the commit this page was made from: the board is KiCad/mobo/Vbox_mobo.kicad_pcb and its schematic KiCad/fingers/Vbox_fingers.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Vbox mobo design in my own project?

Its repository states no licence, so its author keeps all rights: ask CarVac before reusing the design.