Sunday, March 20, 2016

GameBoul: Software

I am currently installing the software necessary for my Pi to play old video games. I am using RetroPie. RetroPie is a program with pre-installed emulators. It uses EmulationStation to play these emulators. Once one has RetroPie set up, they are able to download ROMs (games for the emulator) and play them directly through the program (if I'm not mistaken).

Originally, I wanted to use EmulationStation on my Pi and not RetroPie. I wanted to use it because it would allow me to just download emulators I wanted. Since RetroPie comes with 30 already installed, I was forced to download them all, which I didn't want to do (and actually didn't have to). However, I was unable to successfully install EmulationStation. I kept getting an error that said the build was incomplete. I looked on github for answers, but I was unable to resolve the issue. By the 4th failure, I tried installing RetroPie and I've gotten a lot farther.

On the website that I used as a guide, it showed me how to compile everything from source. Using this method, I was able to choose which emulators I wanted. However, this method is said to take up to 20 hours! I hope it doesn't, because I would love to show something working in class tomorrow!

Lastly, I've been thinking about what I can add to this project. I've been asking myself questions like what if I want to go on the internet, or what if I wanted to play a game that was already installed on the Pi? Well, to remedy this, I'm making my own GUI that will allow me to do more than just play games using RetroPie. My goal is to be able to play at least 3 games that are already on the Pi, browse the internet, and maybe do a little more... ;)

Sunday, March 13, 2016

GameBoul: Gamepad

To make the game pad, I used Fritizing. Fritzing allowed me to make the gamepad virtually using many of its tools, and then I was able to order a PCB (printed circuit board) from them. I based my PCB off the one I saw from the guide I am using.


I will go through the process of making my PCB.

Step 1: Getting the Components

First I got all of the components I needed and laid them out on the breadboard. I used the Cobbler, a battery, and 12 buttons. The battery is connected to the 5V pin on the GPIO.

Step 2: Connecting the Buttons

I then planned which GPIO pins I would use. At first I planned the GPIO pins on neatness. I wanted to be able easily see what button was connected to which GPIO. However, I later learned that some of the GPIOs were supposed to be used by the screen that I am using. I then had to re-plan which GPIO pins I wanted to use. I finally came up with the list below, and connected each button to its GPIO. The connections look messy on the breadboard, but you will see why I made it that way in the next step.



Step 3: Organize PCB layout

Once I finished the breadboard layout with the wire connections, I then switched to the PCB view. This is a preview of how the circuit board will look. I then placed the buttons in a way that resembled the model I was using.


Step 4: Make the Final Connections
After laying the buttons, I made the final connections for the PCB. There were two different ways to do this. One way was to right click a ratsnest (the dotted lines) and make a trace to where it was going. The other way was to have Fritzing do the tracing automatically for me. I chose to do the first method. This way I could edit the trace by bending it's lines as I went along, rather then editing everything afterwards. Also, I wanted to make the traces on the bottom layer, this is where the box header was but also, and the auto-trace feature didn't do that.


Step 5: Order It!

After I finished, I made the board the exact size I needed it to be and ordered it. It cost me a whopping 36.89 EUR! It's shipping from Germany, so I hope it gets here in time!


Final Project Progress 3/13/16

Over the break I made some progress on my final project. This post will consist of all the things I have done over break.

Lastly, I've been having troubles coming up with a name for my project. For now, I'm going to call it the Game Boul.

***UPDATE***

Below is a video of me showing all of the components for this project as well as a video of part of my case being printed. Enjoy!