Skip to main content

4-Player Arcade Control Panel Build

Overview

The  4-Player Arcade Control Panel is a gaming interface with joysticks and buttons for up to four players. It allows multiplayer interaction and competition in arcade games, enhancing the classic gaming experience.  This page documents building such a device.

Goals

  • Supporting up to 4 players.
  • Including a computer to run applications.
  • Portable and affordable.
  • DIY using 'off the shelf' parts.
  • Controls to use standard x-input for easy configuration.

Design

  • 4 button 'New-Geo CD' layout

Parts

  • 9mm MDF Panel Standard 1200 x 900mm (cut to 260 x 900) ($28 from Bunnings)
  • Player Buttons (4 x red, yellow, green, blue) (Aliexpress)
  • Function Buttons  (1P, 2P, 3P 4P, 4 x Coin)
  • 4 x Joysticks 
  • 4 x USB Encoder Boards
  • 1 x Raspberry Pi 4


USB Encoder Board

I have two models of encoder boards that I'm using.


image.png

image.png




Button colour setup

image.png



sega2_s.png


image.png


Software Configuration

  1. Install Lakka on the Raspberry Pi

Correct DragonRise USB Controls

DragonRise USB encoders may disconnect automatically.  The following steps resolve the issue.

SSH into the machine and run command dmesg, this will show output details about controllers for example:

[  613.372366] usb 1-1.3: new low-speed USB device number 7 using xhci_hcd
[  613.474904] usb 1-1.3: New USB device found, idVendor=0079, idProduct=0006, bcdDevice= 1.07
[  613.474931] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  613.474941] usb 1-1.3: Product: Generic   USB  Joystick
[  613.474950] usb 1-1.3: Manufacturer: DragonRise Inc.
[  613.491012] input: DragonRise Inc.   Generic   USB  Joystick   as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:0079:0006.0005/input/input5
[  613.491419] dragonrise 0003:0079:0006.0005: input,hidraw0: USB HID v1.10 Joystick [DragonRise Inc.   Generic   USB  Joystick  ] on usb-0000:01:00.0-1.3/input0
[  613.491495] dragonrise 0003:0079:0006.0005: Force Feedback for DragonRise Inc. game controllers by Richard Walmsley <[email protected]>

From here you can check the vendor ID and product ID as per https://retropie.org.uk/forum/topic/31488/solved-repeated-disconnect-of-zero-delay-usb-encoder-dragonrise/2

Mine will be usbhid.quirks=0x0079:0x0006:0x00000400

Run  nano /flash/cmdline.txt and add it to the existing line

or

nano /usr/lib/modprobe.d/usbhid.conf 


  1. Configure controls as per https://old.reddit.com/r/RetroPie/comments/rkrgra/power_issues_with_pi4_and_usb_arcade_joysticks/
  2. image.png
  3. File location is "/usr/lib/modprobe.d/usbhid.conf" or "/flash/cmdline.txt"
  4. If flash is in a read only state it can be remounted with: mount -o remount,rw /flash


Rom corrections

https://docs.libretro.com/guides/arcade-getting-started/#optional-clrmamepro-tutorial


Enabling 240P on Batocera

  • SSH into the device
  • Run: mount -o remount,rw /boot
  • nano cmdline.txt https://wiki.batocera.org/batocera-and-crt