This time, I’d like to show you my old times arcade version
using Raspberry Pi Zero, based on Picade Desktop Retro Arcade Machini, as seen in this site:
The goal of this project is to build a retro vídeo game as a gift to my brother that was portable, easy to use, beautiful and very funny.
- Raspberry Pi Zero W. It is highly recommended to use the Raspberry Pi Zero W, since this device connects to the Internet over Wi-Fi.
- Joystick and buttons. It is not necessary the zero delay board, since in this project the joystick and buttons will be conected directly to the Raspberry Pi Zero W GPIO.
- 12V x 5A switched power supply.
- 5V x 3A homemade power supply (project included). This part is unecessary in case one prefer using a 5V x 5A switched power supply.
- 7 inches LCD monitor.
- Laser cutted acrylic and MDF parts.
- USB DAC PCM2704 board.
- A pair of speakers.
Step 1: Electronics
The heart of the project is a Raspberry Pi Zero W. Despite it’s size, it has the power to do things happen. The tiny computer runs a bundge of emulators like Nes, SNes, Neo Geo, Mame, etc., offering a wide options of retro-games.
The device is equipped with a USB DAC PCM2704 board that provides digital sound in a satisfactory volume.
The controls are connected to the computer by the GPIO, which needs some work to set up the system to function properly.
And finally, this material is worth nothing without a screen. As the idea was to make something portable, all the fun is guaranteed by a 7" LCD monitor.
To power the system, a 12V x 5A switching power supply is used in this design while a 5V x 3A regulated power supply reduces the voltage for the Raspberry Pi Zero W and the monitor board.
Step 2: 5V X 3A Regulated Power Supply
The circuit is based on the LM 350 transistor, that provides 5.6V at 3A output current, that powers the Raspberry Pi Zero W and the LCD screen.
The assembly has no difficulties, as can be seen in the Eagle files.
Step 3: Joystick Connections to GPIO
Instead of using a zero-delay USB card to connect the controls to the computer (the Raspberry Pi Zero W has only one USB port, which was used as digital sound output), the GPIO was the logical way to solve the problem.
The picture shows the Raspberry Pi Zero W GPIO connections to the joystick and buttons of the device. Since we will need only one player, only the green pins are used for the game control (it’s worth to say that the ground pins is necessary to close the circuit and make things happen).
For more information, see: https://github.com/recalbox/mk_arcade_joystick_rpi...
Step 4: The Assembly
The retro-arcade was made by laser-cut MDF and acrylic, mounted with plastic angles. After the pre-assembly, all the MDF parts was painted black, which led to the final assembly.
As one can see, a black plastic mask covers the acrylic front, displaying only the speakers and LCD screen.
The pictures show the assembly process.
Step 5: Configuring the RetroPie
The following steps was provided by https://www.instructables.com/id/Breadboard-RetroP... and https://github.com/recalbox/mk_arcade_joystick_rp...
First, it’s necessary to download the RetroPie image, which can be done by the following link: https://retropie.org.uk/download/
Select "Raspberry Pi 0/1" option to download the image for Raspberry Pi Zero W.
The installation process, as well as all RetroPie instructions, can be found at the following link: https://retropie.org.uk/docs/First-Installation/
Step 6: Configure the GPIO Controller
To set up the GPIO controller, one will need to download the mk_arcade_joystick_rpi files:
git clone https://github.com/pinuct/mk_arcade_joystick_rpi/tree/customgpio
Compile and install module:
sudo mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5/
sudo cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5/
sudo -E dkms build -m mk_arcade_joystick_rpi -v 0.1.5
sudo -E dkms install -m mk_arcade_joystick_rpi -v 0.1.5
Step 7: Auto-loading the Driver at Startup
Open /etc/modules :
sudo nano /etc/modules
and add the line you use to load the driver :
Then create the file /etc/modprobe.d/mk_arcade_joystick.conf :
sudo nano /etc/modprobe.d/mk_arcade_joystick.conf
and add the module configuration :
options mk_arcade_joystick_rpi map=1
Use the following command to test joysticks inputs :
Further instructions can be found in the following links:
Step 8: The Final Result
As you can see, this is the end result of the project, which works well and is ready for a lot of fun! Enjoy!