PokePi Game Console

by Arnov Sharma in Circuits > Raspberry Pi

961 Views, 9 Favorites, 0 Comments

PokePi Game Console

Pokemon Game Console PokePi Raspberry pi zero W
19.gif
22.gif
23.gif
02.PNG
dgsfdg.jpg

Greetings everyone and welcome back. Here's something fun and engaging.

The PokePi is a Pokémon-themed emulator that will be used to emulate Pokémon games on GBA and GBC consoles.

In this case, we are utilizing a Raspberry Pi Zero W running Retropie, on which we have installed every Pokémon game.

Since the Pi Zero has a USB Micro OTG connector, we created a custom breakout PCB that expands that port to two USB ports, allowing users to connect one or more game controllers. The entire project was 3D printed and constructed entirely from scratch.

Because we are using a Raspberry Pi Zero, which only has 512GB of RAM. Certain games will not be playable, but titles like CONTRA, PAC Man, Legend of ZELDA, and SUPER MAERIO will run well. This project makes use of Retropie OS, which means it can run other games as well, although not many.

This Instructables is about the in-depth build guide for this project, so let's get started with the build.

Supplies

These are the materials used in this project.

  1. Custom PCB (Provided by Seeed Studio Fusion)
  2. 3D Printed Parts
  3. 12V to 5V Buck converter
  4. USB Micro B Breakout board
  5. USB Ports
  6. DC barrel jack
  7. Raspberry Pi Zero W
  8. HDMI Adaptor
  9. Connecting Wires
  10. JST Wire Harness UC2515

Design Process

01.PNG
02.PNG
03.PNG
04.PNG
05.PNG
06.PNG
07.PNG
08.PNG

The custom USB breakout board and a basic enclosure with a place for the Raspberry Pi Zero are the main components of this project's design. Two USB ports have been added to the front face of the device, which are used to connect game controllers.

We have included an HDMI port opening and a DC barrel Jack for power supply on the back side.

We have added a Pokeball logo to the top side of the model, which will be bonded with glue to the enclosure's lid. To create an accurate-looking pokeball, we additionally modeled the entire thing and printed it in the three shades of PLA RED, WHITE, and BLACK.

Two M2 screws are used to secure the lid with the main body.

Grey PLA was used to print the base body, and transparent PLA, was used to create the top lid. The same settings were used for both: a 0.4 mm nozzle, a 0.2 mm layer height, and 20% infill.

Custom USB Breakout Board

SCH_page-0001.jpg
Capture.PNG
brd.PNG

We began by creating the schematic for the USB breakout board PCB, which was divided into two sections: the USB breakout part and the power section.

A DC DC converter module, which has connections to CON2 on both its input and output sides, is part of the power section. Here, the setup will be powered by a 12V adapter, and the DC converter will provide a steady 5V/3A supply to the Pi Zero.

The USB D+ and D-ports were connected in parallel before being joined with the CON5 header pin, making up the USB breakout section's two USB ports.

We will be manually connecting the USB OTG of the Pi Zero to the CON5 header pin.

We modeled the PCB and positioned the USB ports correctly using the PCB layout from the design. We then completed the board file.

Raspberry Pi Zero W

IMG_20240922_105436.jpg
IMG_20240922_105450.jpg
IMG_20240922_105505.jpg
IMG_20240922_105516.jpg

We are using the Raspberry Pi Zero W, a small and inexpensive single-board computer that expands the Pi Zero family with wireless LAN and Bluetooth capabilities, for this project.

Its a 1GHz single-core CPU with 512MB of RAM and Mini HDMI and a micro USB OTG port for connecting peripherals, which in our case will be a game controller.

Additionally, to keep the processor cool, we added an aluminum heatsink on top of the processor.

We utilize an outdated USB Micro B breakout board, which has VCC, D-, D+, and GND points on it, to break out the USB OTG connection for an additional gaming controller device. This allows us to attach a USB PCB to the breakout board.

For the HDMI Port, we use a Mini HDMI Adaptor, which has a regular full-size HDMI Port on one side and a micro HDMI Port on the other.

Seeed Fusion PCB Service

IMG_20240827_131431.jpg
01.gif

After finalizing the PCB, we exported its Gerber data and sent them to Seeed Studio Fusion for samples.

An order was placed for White Soldermask PCB.

PCBs were received in a week, and their quality was super good considering the rate, which was also pretty low.

Seeed Fusion PCB Service offers one-stop prototyping for PCB manufacture and PCB assembly, and as a result, they produce superior-quality PCBs and fast turnkey PCBAs within 7 working days.

Seeed Studio Fusion PCB Assembly Service takes care of the entire fabrication process, from Seeed Studio Fusion Agile manufacturing and hardware customization to parts sourcing, assembly, and testing services, so you can be sure that they are getting a quality product.

After gauging market interest and verifying a working prototype, Seeed Propagate Service can help you bring the product to market with professional guidance and a strong network of connections.

Next is the PCB assembly process.

PCB Assembly Process

02.gif
03.gif
04.gif
05.gif
06.gif
07.gif
  1. Using a solder paste dispensing needle, we first add solder paste to each component pad, one by one.
  2. Next, we pick and place all the SMD components in their places on the PCB using an ESD tweezer.
  3. With extreme caution, we lifted the complete circuit board and placed it on the SMT hotplate, which increases the PCB's temperature to the point at which the solder paste melts and all of the components are connected to their pads
  4. Next, we added the THT components, which included the two USB ports, and soldered their pads using a soldering iron.

Pokémon Logo Assembly

10.gif
11.gif

The black pokeball base component is initially assembled, which includes the white center piece, the red bottom area of the pokeball in the lower section, and the white part on the upper section of the pokeball.

Here, we have made the part with very low tolerance, so they fit perfectly in place.

Base-USB Breakout Board Assembly

12.gif
IMG_20240923_202227.jpg

We started the base assembly process by placing the USB breakout board inside the main body and securing it in place using two M2 screws.

Raspberry Pi Zero: Base Assembly

13.gif
14.gif
15.gif

Raspberry Pi Zero is added in its place; we use four M2 screws to secure the Pi Zero with four screw bosses modeled on the body.

We see that the HDMI adaptor flexes a little after the Pi Zero is secured; this movement could lead to wear and tear on the PI Zero's micro HDMI port when the HDMI cable is plugged in and out. We use hotglue to secure the adaptor in place in order to fix this.

Wiring Process

IMG_20240923_215706.jpg
IMG_20240923_220218.jpg
IMG_20240923_220310.jpg
  1. The initial step in the wiring process is to connect the Pi Zero's USB OTG breakout to the CON5 terminal of the USB Board.
  2. We linked the USB OTG breakout's VCC to the USB Board's VCC, as well as GND to GND, D-to-D-, and D+ to D+.
  3. Next, we connected the positive and negative terminals of a JST UC2515 wire harness to the USB breakout board's 5V output connector.
  4. To supply Pi Power, we hook the JST connector onto the GPIO pins 5V and GND of the PI Zero.

DC Jack Assembly

IMG_20240923_220530.jpg
IMG_20240923_220701.jpg
IMG_20240923_220719.jpg

Next, we install the Barrel DC jack on the back side of the main body and then connect its positive and negative terminals with the USB Board's 12V and GND terminals.

We will be using a 12V power adaptor to supply 5V to Pi Zero.

Top Lid Assembly

16.gif

We apply super glue on back side of the Pokeball Logo and added the Logo on top of the Lid Part.

Final Assembly Process

17.gif
18.gif

We slide the lid in place on top of the main body.

Two screw bosses have been added to the main body, and two M2 screws are used to fasten the lid to the main body via these screw bosses.

Result

19.gif

Here is the end result of this little build: a completely functional, portable gaming console with a Pokemon theme. Here, a Pi Zero Snuggly is securely mounted inside the enclosure. On the front side, there are two USB ports where users may connect one or more controllers. On the rear, there is an HDMI connector for connecting an external monitor and a DC barrel jack for supplying 12V power.

RetroPie: Setting Up

25.gif
20.gif

Here, we are utilizing RetroPie, a well-known open-source OS that lets you transform a single-board computer, like the Raspberry Pi, into a retro game console. Enjoy old games from systems such as the NES, SNES, Sega Genesis, PlayStation, and many more. It is made to simulate a broad variety of retro gaming devices and platforms.

It's worth noting that while RetroPie itself is legal, the legality of downloading and using ROMs (game files) from copyrighted systems is a gray area and may vary depending on your country's laws. It is essential to ensure you have the right to use the game files before adding them to your RetroPie system.

  1. We begin by connecting a 64 GB microSD card to a computer using an SD Card Reader.
  2. Retropie can be manually installed by downloading the ISO file from their website, or it can be installed using Raspberry Pi Imager, which is by far the best method for doing so.
  3. Here, we download and set up the Raspberry Pi Imager.
  4. The SD card is then inserted into the microSD card converter, which is then connected to the PC.
  5. The welcome screen will appear on the first boot, followed by the process of mapping gamepad keys. After mapping the controller, we arrive at Retropie's home screen, where a list of all the consoles is displayed.

For adding games, we first use a blank pendrive, flash drive, or HDD and create a folder named "RetroPie."

  1. We added the pendrive into the Raspberry Pi USB port, and the pendrive will start to blink, indicating that the computer is creating folders on the drive. After the blinking stops, we can unplug the pendrive.
  2. We attach the pendrive to the computer once more and access the retropie/roms folder, where we can see all the console's folders. Finally, we paste the rom into the correct console folder.
  3. As soon as we connect the pendrive to the Raspberry Pi, it begins blinking once more, indicating that the ROMs are being copied into the Pi. Depending on the size of the ROM, this procedure can often take between two minutes and two hours. Once the copying is complete, the pendrive will stop blinking, allowing us to remove it.
  4. The Pi will be restarted after the ROMs have been copied into it, and the game list will then be updated.

There's a well-documented wiki made by Raspberry Pi about this process and other steps of using Retropie, which you can checkout at the below link.

https://www.raspberrypi.com/tutorials/retropie-raspberry-pi-tutorial/

Pokémon Gold & Pokémon Emerald

21.gif
22.gif
23.gif
24.gif

First Ran Pokemon Gold on our setup, which was developed by Game Freak and published by Nintendo for the Game Boy Color. Released in Japan in 1999 and internationally in 2000, it is part of the second generation of the Pokémon series, paired with "Pokémon Silver.".

This is definitely considered to be the best pokemon game among fans, as this game contains two regions, the Johto Region and the Kanto Region, along with an additional 100 new Pokémon to the existing 151, making the total pokedex number 251, and we really have to catch em all to complete the pokedex.

Pokemon Gold ran pretty smoothly, as the game itself is just 12MB in size and is a super low requirement game.

Next, we ran the Pokemon Emerald, which is a later edition pokemon game made for the Game Boy Advance and was first released in Japan in 2004 and internationally in 2005.

In this entry, the players explore the Hoenn region, aiming to become the Pokémon Champion while thwarting the plans of two criminal organizations, Team Aqua and Team Magma.

This also did run pretty smoothly without any major setback or problem.

Conclusion

Pokemon Game Console PokePi Raspberry pi zero W
IMG_20240923_234150.jpg

All things considered, this little console is really lightweight and easy to carry around, which is helpful because I frequently move states because of work.

With an HDMI port, this can be connected to any TV with ease. It is powered by a 12V barrel DC jack adaptor, which is widely available.

In a future version, I would like to address the problem of the external monitor, add a small display to this setup so that users can play games on it instead of adding an external monitor, and perhaps replace the Pi Zero with a smaller Compute Module 4 so that users can also emulate PS2 games.

All the details regarding this project including files are attached which you can download.

Leave a comment if you need any help regarding this project. This is it for today, folks.

Thanks to Seeed Studio Fusion for supporting this project.

You guys can check them out if you need great PCB and stencil service for less cost and great quality.

And I'll be back with a new project pretty soon!