Making a Retro Gaming Device with Pi Zero

Hi everyone, I have started putting together a Retro Gaming device and thought I would post the journey here. All major parts are from Core Electronics so makes sense to use their forum.
Parts Include:

  • Raspberry Pi Zero W
  • Adafruit Mono 2.5w Audio Amp PAM8302
  • Powerboost 1000 Charger
  • 2x Polymer Lithium Ion Battery 3.7V ( 2400mAh And a 1100mAh)
  • Waveshare 2.8 LCD
  • Mini Oval Speaker 1watt
  • Tactile Switch Buttons x20 and Slide Switch x2
  • as well as using some basic wiring, solder and Protoboard

I’ve never done anything like this before so pretty excited to tackle this. I’ve already received help from Trent and James from the support team. Hopefully I can get a bit more help along the way from anyone here :slight_smile:

I’ve put together my plan for the GPIO pins. Using the information on the Waveshare Display wiki page along with some tutorials on getting audio from the Pi Zero. And just put the Buttons that I plan to attach in the available slots (Which I’ve highlighted in Blue to indicate the tactile buttons).
I dont plan on using any of the 4 buttons on the Waveshare display as they dont suit the end design I want.

As I’m still a noob and learning as I go. If any of the Pins arent allowed to be used in a way I plan please let me know. Cheers.

4 Likes

Hey James,

Sounds like an awesome project!

Do you have a link to the display that you are using?
Nothing jumps out as being in the wrong spot and the audio being on PWM0 is excellent. I didnt do a comprehensive check but all that I looked at is all good.

I cant find the exact video where this was discussed, Zack Freedman used an I2C IO expander in one of his projects to get out multiple button streams from the one board (a similar one can be found here)

An excellent reference for using the GPIO is pinout.xyz, they provide explanations for all of the pins along with any alternate functions and attached hardware (pullup resistors, PWM output etc). A much more comprehensive list is on the processors docu page:Raspberry Pi Documentation - Processors

5 Likes

Hi Liam!
Thanks for the reply :slight_smile:
here is the display I am using:

I’ve managed to get a decent frame rate on it using the fbcp-ili9341 drivers.
here’s my exact install for it incase anyone wants to replicate it later on.


#-------------------------------------
#fbcp-ili9341 driver for Waveshare 2.8
#-------------------------------------

sudo apt-get install cmake

cd ~

git clone https://github.com/juj/fbcp-ili9341.git

cd fbcp-ili9341

mkdir build

cd build

cmake -DILI9341=ON -DGPIO_TFT_DATA_CONTROL=22 -DGPIO_TFT_RESET_PIN=27 -DSPI_BUS_CLOCK_DIVISOR=6 -DSTATISTICS=0 -DDISPLAY_ROTATE_180_DEGREES=ON  ..

make -j

sudo ./fbcp-ili9341

after this you’ll need to edit the config.txt and /etc/rc.local files a bit so the driver runs on boot up.
if anyone wants those details I can add them in. But shouldnt be too hard to find via Google.

I’ll definitely check out those videos and references. Thanks heaps

5 Likes

Awesome project :slight_smile:
FYI, there are a few Retropie console build writeups in the core community projects, they’d be worth a look at. There’s at least 2 handheld custom retropie consoles, and someone built a retropie console inside an NES cartridge!

3 Likes