NES Cartridge Display
The first prototype

I was flipping through Nintendo designs on Thingiverse and found this project:

https://www.thingiverse.com/thing:2159241

I already had an extra Pi W zero, so it was just a matter of purchasing the screen:

https://www.amazon.com/Waveshare-3-5inch-LCD-Compatible-Resolution/dp/B00OZLG2YS/

Adding the Waveshare

I first tried all of this with the current Bullseye version. After getting the slideshow to work properly on my monitor, I tried adding the Waveshare. I saw a few parts of the install were failing and warning. Upon reboot, the HDMI was scrambled and there was no picture on the Waveshare (black screen) although the touch appeared to be working.

I went back to Raspberry Pi Imager and grabbed Legacy Buster version. I skipped patching during install and went straight to trying the Waveshare again:

git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/
./LCD35-show

The system auto rebooted and successfully brought up the Waveshare this time! The HDMI output could still be used as well to mirror the image to the monitor. I decided to continue with the below instructions with the new resolution. I didn’t think it too uncomfortable, but if you feel claustrophobic, you could install the slideshow first and then finish by adding the Waveshare.

Setting Up the Slideshow

The instructions here can be loosely followed:

https://pimylifeup.com/raspberry-pi-photo-frame/

Following is my condensed and corrected version of the above. In particular, note the need to add “shopt –s extglob” in the start-picture-frame.sh file in step 6 of the above linked directions.

  • Complete steps 1-4 under the Setting Up the Raspberry Pi Photo Frame Software section.
  • Complete step 1 in the following section (sudo apt install feh)
  • Skip Step 2 (it is unnecessary)
  • Step 3 is optional for testing: Note that the “-Z” in the command should actually be “-z” (this randomizes the slideshow)
  • Complete steps 4 & 5
  • For step 6, include the following line after #!/bin/bash: shopt –s extglob
  • Also for step 6: only the following flags are required: -q -p -z -F -Y -D 15.0
  • Complete steps 7-10

Enable SSH if you want a way back in later to add photos, kill the process, or perform other maintenance:

sudo raspi-config

The config menu will open. Do the following:

5 Interfacing Options > 2 SSH > Yes > Finish

The keys will be generated and SSH is now enabled.

Adding the Cover Art

I downloaded most of the labels from The Vault:

https://vimm.net/vault/NES

Many of these are actually cover art. On most games, the cover art was identical although the text and logo position may differ. After downloading my favorites, I had to go through an editing process. I took each of the photos and rotated 90 degrees left and then resized to 480×320 without maintaining aspect ratio.

I transferred the files to the Pictures directory and pointed the script there: /home/pi/Pictures/

Putting It Together

After cleaning and trimming a print, I inserted the screen and the window was a great fit. There was a bit of play in the screen cavity, but I could center the screen easily. I used a few dabs of hot glue to hold it in place. Lastly, I printed a base with 80% infill to make it heavy. I painted the Nintendo relief for the finished look:

The finished project

Final Notes

Another great archive site for all systems is The Cover Project:

http://www.thecoverproject.net/index.php

A third archive site for all systems is VG Museum:

http://www.vgmuseum.com/scans/nes.html

Nintendo logo base from Thingiverse:

https://www.thingiverse.com/thing:5445965

Leave a Reply