

ArcadeMain
Swappable control panels for a homebuilt arcade
- Size
- 74.9 × 98.3 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 16
- Nets
- 82
- Pads
- 162
- Tracks, vias
- 339, 20
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 10 Jul 2020
- Updated
- 21 Sep 2020
Overview
ArcadeMain is an open-source printed circuit board by LesserChance, from the LesserChance/ArcadeController repository on GitHub. It is a 4-layer board of 74.9 × 98.3 mm with 16 parts on 82 nets, routed with 339 tracks and 20 vias.
It is built around the SBH11-PBPC-D25-ST-BK. Its parts include 10 connectors, 3 resistors and 3 diodes.
Main components
1README
README.mdArcadeController
The goal of this project is to make an easily-swappable control panel for a homebuilt arcade. There are two PCBs that are designed to mate through a ribbon cable connection. By default, this setup will allow for any control panel to have a maximum of 2 joysticks and 14 buttons (22 total digital inputs), 6 axes (e.g. 6 spinners) and two USB devices. You can easily edit the program on the arduino to assure all of your control panels will work, though, for instance if you need more digital inputs and fewer axes.
As I build out more control panels I'll be adding pictures and diagrams of how everything operates.

Electronics
PCB: Panel
One Panel PCB exists for each control panel. The Panel PCB exists as the interface between the controls (joysticks, trackballs, spinners, USB devices) and the Main interface. It is split into various sections. Full wiring diagrams can be found in the docs directory.

Player One Connected to "Player One" Micro.
Up, Down, Left, Right, B0-5: Four directional wires, 6 button wires. (note that B6, B7 are not wired to anything)
X1, X2, Y1, Y2, Z1, Z2: These utilize interrupt pins on the arduinos, and are used for encoder connections (trackball, spinner)
Player Two Connected to "Player Two" Micro.
Up, Down, Left, Right, B0-5: Four directional wires, 6 button wires. (note that B6, B7 are not wired to anything)
X1, X2, Y1, Y2, Z1, Z2: These utilize interrupt pins on the arduinos, and are used for encoder connections (trackball, spinner)
+5v/Ground Pulls +5v and Ground from "Player One" Micro. Useful for LEDs/etc
USB These directly wire to USB connection on the main control panel. These can be used to directly connect USB devices to your computer. Unfortunately these dont seem to be working just yet!
DIP switch Used to identify which control panel this is. Allows for different programming on the arduinos per control panel.
For detailed wiring information see the pinmap.
PCB: Main
The Main PCB is what connects to your computer through USB. In total it requires four open USB ports. Only One Main PCB is necessary. The main panels houses two Arduino Micros.

Micro Headers These are the positions where you plug in Arduino Micros.
Screw in Terminals These can be used for shared functions e.g. Player 1/2 Start/Coin as well as menu or function buttons. 6 are connected to "Player One" Micro, and another 6 are connected to "Player Two" Micro.
Arduino
The program is built to run on an Ardunio Micro. Two Arduino Micros are required for two-player functionality. Player One and the two additional USB devices will work fine with just one, though, if you can get away with a maximum of 17 total digital inputs on any control panel.
When plugged in the Arduinos will be treated as a joystick/mouse/keyboard by the computer based on the code used for the control panel. The joystick, by default is 2 axis (X/Y) and 12 button.
Schematics were designed in Kicad. I print PCBS with JLCPCB.
Documents
Pinmap
The pinmap outlines how connections are bridged between the PCBs and how they function by default through USB. Panel->Main->Arduino->Function
Wiring
The wiring doc outlines standard wiring for trackballs and spinners directly into the Panel PCB.
Supplies
Prices are USD, do not include shipping, and are as of July 2020.
Buy extra screw-in terminals to make more control panels, and buy the Panel PCBs in bulk. Given the below prices you could create 10 easily-swappable control panels for ~$80, and you may be able to find those screw terminals more cheaply, or decide to bypass those, just solder in your connections and have it all for ~$40. Of course the price of buttons/joysticks/trackballs/steering wheels/etc is additional.
| Component | Part | Supply | Cost | Count |
|---|---|---|---|---|
| Main | Arduino Micro | Ardunio Store | $12.30 | 2 |
| Main | PCB | JLCPCB | $7.00 | 1 (price is per 5 though - minimum order) |
| Main | Micro USB | Digikey | $.87 | 2 |
| Main | Micro Pin Headers | Digikey | $.51 | 2 |
| Main | Micro connection headers | Digikey | $2.95 | 1 (cut each down to 17 pins) |
| Main | LEDs | Im sure you have some laying around | - | 3 |
| Main | Cable Header | Digikey | $4.56 | 1 |
| Panel | PCB | JLCPCB | $12.00 | 1 (price was for 10) |
| Panel | USB Header | Digikey | $1.07 | 1 |
| Panel | Ribbon Cable | Digikey | $3.27 | 1 |
| Panel | Cable Header | Digikey | $1.02 | 1 |
| Panel | DIP Switch | Digikey | $.69 | 1 |
| Main+Panel | Resistors | (3) 10k, 3 (220) | - | 6 |
| Main+Panel | Screw-in Terminal | Digikey | $1.73 | 5 (+4 for each additional panel) |
Why do the PCBs have the Slurm logo on them? I dont know, I just really like Futurama and happened to have this image handy...
Parts
16| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | Conn_01x17_Male | Connector_PinHeader_2.54mm:PinHeader_1x17_P2.54mm_Vertical | J1, J2, J4, J5 |
| 3 | 220 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R1, R2, R3 |
| 3 | LED | LED_THT:LED_D3.0mm | D1, D2, D3 |
| 2 | Screw_Terminal_01x10 | TB001-500-08BE:CUI_TB001-500-02BE | J7, J8 |
| 2 | USB_B_Micro | ryan-common-library:GCT_USB3131-XX-0230-X_REVB | J21, J24 |
| 1 | SBH11-PBPC-D25-ST-BK | ul_SBH11PBPCD25STBK:SBH11-PBPC-D25-ST-BK | J6 |
| 1 | Screw_Terminal_01x10 | TB001-500-10BE:CUI_TB001-500-10BE | J3 |
Questions
How big is the ArcadeMain PCB?
It measures 74.9 × 98.3 mm and has 4 copper layers, 1.6 mm thick.
What parts does the ArcadeMain use?
16 parts, built around the SBH11-PBPC-D25-ST-BK. 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 ArcadeMain KiCad files?
From the LesserChance/ArcadeController repository on GitHub, at the commit this page was made from: the board is PCBs/ArcadeMain/ArcadeMain.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the ArcadeMain design in my own project?
Its repository states no licence, so its author keeps all rights: ask LesserChance before reusing the design.
More from LesserChance/ArcadeController
1- 2 layers194.8 × 39.4 mm

Similar boards
- 4 layers24.5 × 14 mm

- 4 layers73 × 21.3 mm

- 4 layers26 × 54.4 mm

- 4 layers

- 4 layers18.6 × 76 mm

- 4 layers39 × 20 mm

MelonHD
mackieks/melonHD
Lontium LT6711A HDMI to USB-C DP Alt Mode Converter Module for portablizers
16 parts43 - 4 layers36.2 × 17.9 mm

- 4 layers
