Raspberry Pi Video Game Emulator

Being an enthusiast about computers and video games, the Raspberry Pi emulator had to be on the top of my list when it comes to project selection. I scrambled around with many other ideas, from clocks to robots, but I was especially intrigued about the emulator. When I first encountered this idea, there was no doubt in my mind that I would choose the project that included two of my passions into one.


Justin Liang

Area of Interest

Electrical Engineering / Computer Science


Alameda High School


Incoming Sophomore

Demo Video

Overall, Bluestamp was a very rewarding experience for me. I learned that I really enjoy electrical engineering especially the feeling that comes from making a functioning circuit. I also learned to deal with multiple problems at a time and to make the best out of my situation. The time I have spent was definitely worth it and it taught me what I really want to pursue in the future.

Third Milestone

For my final milestone, I wanted to try out my custom controller with the raspberry pi and in one of the games, I installed. Sadly, the controller didn’t work with the raspberry pi because there might be a problem with the Linux working with the Arduino sketches. On the bright side, it works with the USB game controller on windows. The buttons are wired up with red and black wires, the red ones leading to each input pins, and the black ones leading to ground to complete a circuit when the buttons are pushed. The joysticks are leading to analog pins which read the amount of voltage going through it to update the x and y values. 

Second Milestone

My second milestone for the project is to complete my modification which is a custom controller that I made using an Arduino and breadboards. I first started by learning simple circuits and how to connect a single switch to turn an LED on and off for example. Then I used that and duplicated that process 8 times to accommodate the 8 buttons I wanted to include. This was the same process I used for the big buttons on the top of my controller. For the joysticks, it took a little longer because there were more complex steps such as telling the joystick to be able to read the x and y-axis movement to have it do what it’s intended for. Coding the buttons was a simple process. I first had to help the Arduino recognize the button by configuring an input pin for each of the 8 buttons. Each pin is configured as a pullup pin. Normally, power is still going through it but when a button is pressed down, it completes a circuit that turns the pin on. Each button is connected to its own pin and back to ground on the breadboard. The joystick was simpler than I had initially thought. I configured the analog pins to each go to a different axis, one x and one y. Then I wrote code that helped the Arduino update every time the joystick moved. It read and updated the values of the joystick, helping it move farther to the left or right and up and down depending on the voltage that was going into the pin.

First Milestone

For my first milestone, I wanted to get my Raspberry Pi working and to be able to play games on it. I first started by downloading the Retro-pie file, which includes all the emulators that I would need to play any retro game I would want in the future, from the website, and later used etcher to download it onto the micro SD. When that was all done, I inserted the micro SD back into its slot in the Raspberry Pi and checked for any display showing on my monitor. Along the way, I encountered many problems, such as a black screen and difficulties installing the ROM game files. ROM files include all the data from an older video game cartridge that when downloaded, can be read by a more modern computer, such as an emulator to play your favorite arcade games without the actual arcade machine itself. Installing the ROM files was quite tricky as I didn’t understand the instructions clearly which led to the Pi not showing anything and just a black screen. That also led to me starting at the very beginning and redownloading everything including the imager and retro-pie once again. I eventually understood that the ROM files had to be placed in a specific folder and got it to work from there, playing my first game with my project.

Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering