KevsArcade

Build your own miniature Arcade with Raspberry Pi's and a laser cutter


 1 November 2024   |     4 minute read   |   By Kevin McAleer   |   Share this article on

Video

For every project I create, I often make a corresponding YouTube video. Sometimes, there might be more than one video for a single project. You can find these videos in this section.

Explore more through this this dedicated video.

KevsArcade - a Raspberry Pi powered arcade cabinet

As a kid growing up in the 80s, I always loved going to arcades; the nearest arcades were in Manchesterm which was about an hours bus ride away. I remember seeing Teenage Mutant Ninja Turtles, Operation Wolf, Outrun and Pacman for the first time. I was hooked.

I always wanted to build my own arcade cabinet, but never had the space or the money to do it. Now, with the advent of the Raspberry Pi, I can build my own arcade cabinet, and so can you.

KevsArcade is a project to create my own Arcade (yes, with multiple machines) using Raspberry Pi and a laser cutter. The wood I’m using is 2mm basswood and one cabinet only requires 2 sheets of 300x300mm stock.


Bill of Materials

Item Description Item Cost Qty Total
Raspberry Pi 5 Raspberry Pi 5 2Gb. £38 1 £38
2mm Basswood A 300x300 sheet of 2mm basswood. £1 3 £3
Arcade Buttons 2x arcade buttons. £1.50 1 £3
Joystick 1 KY-023 joysticks £1 1 £1
Display Hyperpixel 4.0 non-touch £50 1 £45
Stand offs 7x 10mm stand offs £8 1 £8
Screws 7x 6mm M2.5 screws £8 1 £8
Raspberry Pi Pico Raspberry Pi Pico £5 1 £5
        Total Cost: £111

Assembly

The cabinet is designed to be cut from 3x sheets of 2mm basswood. The front control panel is designed to hold 2 arcade buttons and a joystick. The Hyperpixel 4.0 display is mounted to the inside of the cabinet on top of the Raspberry Pi 5 (you can switch this out of a raspberry pi 4 or earlier if you prefer).

The overall design is to use a tab and slot method to hold the cabinet together, with each panel being glued to the sides. Its easiest to add each peice to the left side panel, glueing as you go, and then finally marry up the right side panel (which can be a bit fiddlely at first).

Joystick


Software

The software I’ve chosen is RetroPie, the controls are mapped to the joystick and buttons.


Custom joystick and button control panel

As the HyperPixel 4.0 display takes up all the Raspberry Pi GPIO pins, I decided to use a simple Raspberry Pi Pico running CircuitPython 9.2.0, as this can present as a HID (Human Interface Device) to the Raspberry Pi, and can be used to read the joystick and buttons.

The code is available on my GitHub.

Simply flash CircuitPython to the Pico, and copy the code.py, boot.py and hid_gamepad.py file to the Pico. The Pico will present as a USB keyboard to the Raspberry Pi. We can configure RetroPie to use this as the default controller.


DXF Files

File Description Qty to cut
base.dxf Base of the cabinet 1
carosel.dxf Carosel for the joystick 1
control_plate.dxf Control plate for the buttons and joystick 1
front_plate.dxf Front plate of the cabinet 1
front.dxf Front of the cabinet 1
left_side.dxf Left side of the cabinet 2
pi_holder.dxf Raspberry Pi holder 1
right_side.dxf Right side of the cabinet 2
top.dxf Top of the cabinet 1
speakers.dxf Speaker holder 1
top.dxf Top of the cabinet 1
screen.dxf Screen surround 1

Wiring up the USB HID controller

Connect the two arcade buttons to the Pico:

  • A goes to GPIO-00
  • B goes to GPIO-01
  • VRX goes to GPIO-26
  • VRY goes to GPIO-27
  • SW goes to GPIO-02

Wiring diagram


RetroPie

RetroPie is a great piece of software, and I’ve been using it for years. I’ve got a few Raspberry Pi’s running it, and I’ve always wanted to build my own arcade cabinet. I’ve got a few more ideas for this project, so stay tuned.

Setting up RetroPie

I’ve created a specific tutorial on setting up RetroPie on the Raspberry Pi, you can find it here.

Setting up retropie

Setting up retropie

Setting up retropie



Code

View Code Repository on GitHub - https://www.github.com/kevinmcaleer/kevsarcade