DIY Retro Game Console Based on Raspberry Pi Zero


Although there are many works of retro game consoles based on Raspberry Pi, they are also easy to buy. But it is still necessary to recommend the following - a retro game console based on the Raspberry Pi Zero.

Because it shows us two versions, including the version built on a breadboard, it is easier to understand the principle of building a game console, and greatly reduces the threshold for DIY, and the materials used are also easy to obtain.

The main features of this project are as follows:

Use PAL format display

Powered by a Raspberry Pi Zero with RecalBox OS, which also comes with some pre-installed games

Powered by IP5306 IC, which is a 5V 2A constant boost IC for power bank circuits, ideal for powering Raspberry Pi Zero

The first half of the project is the breadboard version and the second half is the PCB version.

Bill of Materials

Raspberry Pi Zero × 1

16 GB memory card (8 GB is also available) × 1

TV screen × 1

HDMI to micro HDMI adapter × 1

5V 2A charger/power supply can output 2A × 1 stably

Keyboard × 1

USB to microUSB adapter × 1

RecalBox OS Image File/ Raspberry Pi Image Flasher × 1

Normal key × 1

Custom PCB Board × 1

IP5306 IC × 1

10uf 0805 Capacitor × 1

USB port × 1

microUSB port × 1

Li-ion battery with CON2 connector cord × 1

CON2 connector × 1

10k 0603 resistor × 1

2R 0805 Resistor × 1

Vertical button × 1
1. Preliminary idea

The device consists of a PCB board and a 3D printed housing, which are connected by screws.

On the front is the display and buttons, using a 4.3-inch display that's about x in size, bigger than a normal Gameboy screen, and on the back is a Raspberry Pi Zero with a boost converter circuit and a lithium-ion battery.

2. Configure the RecalBox system

Download the Raspberry Pi image file

choose here

choose here

After the installation is complete, connect the Raspberry Pi to the TV screen and keyboard.

Start the device and RecalBox should work.

3. GPIO wiring schematic diagram

Note: In the schematic diagram, one end of the button is connected to the GPIO port, and the other end is grounded.

4. Display and GPIO control

There are many types of monitors, including HDMI ports and ribbon cable ports. Here, a PAL standard car monitor (with a PAL port) is selected from the perspective of cost. Because the working voltage of the car display is 12V, and a 5V or 3.3V display is required here, it is necessary to modify the internal buck circuit of the display. Here, the 12V to 3.3V buck chip is removed, and VCC is added to the capacitor at the Vout end. and GND to supply 5V to the display.

In order for the PAL port to run the monitor, some things need to be edited in the configuration file. Use the keyboard to enter the SSID and password in the network settings. (connect it with winSCP)

The following needs to be edited:

Settings for SDTV output

The Raspberry Pi to which the HDMI display is connected will output its video signal, but under the PAL port, the SDTV output needs to be set.

Go to > Change Defaults, remove from and add , and add before . (As shown in the figure, check and copy the contents)

GPIO Control

GPIO port and button settings.

Enter > > >

Use the following two steps to enable GPIO external buttons

Set (was 0 before) and change to ( is the second player)

After changing the default settings (in the picture, check D2 GPIO Controlers), then rebooting, the RecalPi will work with PAL ports and custom buttons.

5. Perfecting the Breadboard Version

The customized GPIO adapter is used here, and the wiring has changed. Refer to the picture to connect one end of the button to the GPIO port, and one end to ground. After completion, you can test whether the button is working properly by connecting to the TV. If there is no problem, replace the TV with a car monitor and a car monitor. The VCC is connected to 5V, the ground wires are connected together, and then use the 5V 2A power supply to supply power, and the car display will display the picture successfully (note the previous SDTV settings).

6. Design the circuit board

Draw the PCB file according to the circuit built by the breadboard, including 13 buttons connected to the Rpi Zero, plus the power circuit driven by the IP5306 IC. Among them, IP5306 is a power management chip suitable for 3.7V lithium-ion battery, which can adjust the output voltage, here it is raised to 5V 2A suitable for Raspberry Pi and car display.

The design process is as follows:

First design the overall structure in Fusion360, and then use Fusion360's PCB Layout to model the PCB Outline in My PCB Cad software. (Here extra hotkey buttons are placed in the classic Gameboy layout)

Seven, circuit board proofing

Send the production file Gerber to the PCB manufacturer for proofing.