This is my Portable Raspberry Pi game console. It's 3,6 cm thick, 9,6 cm wide and 13,6 cm long. Inside is a Raspberry Pi 2 running Retropie OS which allows it to emulate games from pretty much every single game-system from 1977 to 2003. It has both Raspbian and Kodi installed too.
The screen is a cheap composite backup camera screen from amazon. It has a resolution of 480x320 which might not sound as much, but it's no problem at all when playing retro games. Because the screen is made to work in your car it does need 12V to run out of the box. This however can be fixed easily, so that it runs of 5V :)
Battery wise it has a 6000mAh rechargeable Lithium ion battery which gives it around 4-5 hours of play time.
To charge the battery it has an Adafruit PowerBoost 1000C which can charge the battery in about 5-6 hours.
The two built in speakers come from an old broken Nintendo DS Lite I had lying around (those could be replaced by the mini metal speaker from Adafruit). The audio signal coming from the Raspberry Pi is too weak to power the speakers on it's own, so it needs to be amplified. The amplifier is from an old cheap pair of external speakers for an mp3 player that I had lying around too (It could be replaced with a pam8302 amplifier from Adafruit). To turn the volume up and down it has an analog "slider" from an old pair of headphones (You could probably find something similar pretty easily).
BUILT IN CONTROLLER
The built in controller was the hardest part of this project, or more specifically the ANALOG thumb stick. The built in controller I made myself, it's a breadboard PCB with tactile switches, and an analog thumb stick on it. The tact-switches were pretty easy to connect, but I had a lot of trouble with the thumb stick!
ANALOG THUMB STICK
Because it's analog the Raspberry Pi cannot understand it right away. The signal from the thumb stick must be converted to a digital format first. If I had been a master programmer I could probably have gotten away with buying an ADC (analog to digital converter) and then writing a driver for it myself. But that did not work for me :(
So I did some research on the internet, and found that the Arduino could convert analog signals to digital, but since the Arduino was way too big to ever fit in my design I decided to go with an arduino "clone" called the Teensy, because of the much smaller footprint.
After tens of hours of frustration I finally managed to write a working script in a programming language I had never tried before, and get it on to the Teensy! :) (If you have a similar problem you can download the script from the download list "Controller_script_for_Arduino")
Everything except for the components and the four action buttons are designed in Autodesk 123D Design, and 3d printed on an Ultimaker 2. I can definitely recommend both 123D Design and the Ultimaker 2, they've been a solid team all the way through this project.
I WOULD NOT RECOMMEND ANY NON-3D MODELLER TO BUILD THIS PROJECT, SOME OF THE PARTS WILL BE HARD/IMPOSSIBLE TO GET, SO YOU WOULD HAVE TO DO SOME MODIFICATIONS. This is 100% possible since I've included the 123D Design file. But it's on your own risk ;)
Retropie is the main operation system, and you select game system and game trhough Emulationstation. Retropie is a great operation system, so go and check it out, if you think it sounds interesting: http://blog.petrockblock.com
Though Retropie is the main operation system, it has both Kodi (XBMC) and Raspbian installed, which means that you can play movies, series and music right on the console! You can even surf the web through Raspbian too, if you have a keyboard connected. Those two operation systems can be launched through Emulationstation as well.
SPECIAL THANKS TO FLOOB from Youtube and Petrockblog/Retropie forum, who helped me through the entire configuration of the built in controller. I could not have made it without his help.