Machine Overview
The following gives a general overview of the main component needed to put together an arcade system. Those components required are:
-
Housing – To “house” all the components together. In this build, I will show you my laser cut version. I do have several other versions available but in general, the same build principle applies.
-
Raspberry Pi Ver. B+ rev 2 – This is the “brain” of it all that manages the joysticks and runs the emulator. It’s basically a computer and can be substituted with actual computer. On the Raspberry Pi, it should have
- At least 8gig mini-SD memory card which acts as the hard drive.
- Arcade Emulator – In all my build and for ease of build, I have opted to use Raspbian (website: https://www.raspberrypi.org/downloads/) standardize using
Emulation Station as it will run on my other build for the Arcade
- HDMI cable to output to Video Card Adapter to display to an external monitor
- Sound cable to output the sound to an external speakers
-
Video Card adapter – HDMI Output from Raspberry Pi to an external video display unit
-
Monitor – For display
-
Joysticks and Buttons – I have adopted the 10 buttons systems, which should cover most of the games and up to PS2 as well as SNES.
-
Speakers – I have opted to tear out perfectly new Dell speakers to used as the speakers. If you see that it is made in China, don’t ask me. That question should be directed to Dell.
-
Power – As the Raspberry Pi B+ rev. 2 takes 5V, 1.2amp and the monitor takes 5V (to 12V), 5amp, and speakers that’s requires 5V, 500mA, I needed a power supply from the wall socket of 220 V – 240 V and step down to the mentioned voltage and amperes to manage all the stated components. For ease of maintenances and adaptability, I have opted to use an external 5V, 5amp multi-USB adapter that takes 100V – 240V so it can simply be plug into a wall socket.
Some of the components are left out but will be elaborated somewhere below. The final BOM (Build Of Materials) is mentioned at the end of this document.
Housing
The housing warrants an explanation as it’s holds all the main components in place. There are various builds for the housing all over the internet but I wanted something that have a wood finish but yet retain it's retro feel and touch. Over the months, I have tried out many different cuts and housing and finally opted for one that I can quickly put together at ease and have the ability to put on different "skin" (to highlight the different grains of wood) when needed and thus ended with the version that I have. The housing was developed from ground-up through Google Sketchup and with help from Joven Tan (wood "genius" - more mention of him scattered across the sites). Below show the sketchup drawing and the actual finish cut without the "skin". The edges near the buttons and screen are run through with a rounded router to give it a curve finish.
The material for my housing are from a 9.0 mm 1220.0 mm x 2440.0 mm ply fed into a 60W laser machine. As my laser cutter is small, I have to "process" my 1220.0mm x 2440.0mm ply and cut them to a size of 400.0 mm x 600.0 mm to fit into my laser cutter. It takes about 3½ pieces of 400.0mm x 600.0 mm panels to make a full housing for the 1-player version and approximately 5 pieces for the 2-player. Per housing takes about 90 - 100 minutes to cut and probably another 15 minutes to clean up the sides (ie to remove soots and burn marks as they are lasered) plus touchup on the defects (more explanation later down). After that, the housing are assembled, sanded and varnish. I usually give it 1-2 coat of sanding and varnishing depending on how bad, or how good =), the ply are and that process takes me about 2 hour or so.
As the 4’ x 8’ 9mm ply are bought in bulk and not process, some of the ply has defects and are warps. I do visually inspect them and pick out the better ply but the defects are more obvious once they are cut out. Better ply (i.e. like Marine ply) or woods (i.e. teak, maple etc) but that would bring up the cost of building. Through the building process and with the help of my wood genius (ie Joen Tan), I am now able to just adapt more exotic wood (ie skin) onto my housing with a little more work and truely highlight the "beauty" of the wood natural grains. Stay tune for the "blink-blink" version on my site in a very near future to see the housing with different "skins".
For this section, I’ll focus on the process on how the housing are made. Similar method applies for the 2-player wood cut but differs in cut size and assembly. The way the woods are prepared, treated and process is the same for all my wood cut housing.
Samples of “defects” on the ply
With this option, there is therefore a need to process the cut ply to get them to an acceptable and presentation state before assembling and putting on the final touches to them. As not all ply are “equal” they are residue patterns or eyes on them, which give each, finish a “different” feel and look. Below are some samples of patterns and eyes and not defects.
Sample patterns and “eyes” on the ply which are NOT defects
The 1st step for the 4’ x 8’ is to cut them to 400.00mm x 600.0mm to fit them into my laser cutter (as mentioned in the beginning of this section). Prior to cut, I would do sand them first (as the ply are flat and easy to reach all corners) and give it 1-2 layer coat of lacquer for the lacquer to “eat” into the wood to prevent further moisture absorption and then laser cut them. As the woods are laser cut, there are some left over soot and burn mark left on them. After each finished housing, I would then clean out the edges to remove the residue soot (else they will leave markings on the wood during assembly), assemble them, do a once over sand down and lacquer them again for slight gloss finished and to cover all places that I might have missed.
Processing the cuts to get rid of soots and burn marks and prior to assembly, light sanding and last coat of lacquer.
During the assembly process, I will look out for defects such as holes, scratches and marks. At this point, I’ll do my patches and apply black marker stain on any missed spot.
Process for patching up holes
Commercial or wood bits mixed with wood glue can also be used
Mix well and apply to “holes”
Sand down with 500 grid or more sand paper
Let the wood dry out and hardens
Use marker to touch up the bad spot
The “marker” patch would look something as such
Sand is down once more and coat another later of marker if need to for consistency
Finished patch would look more blend into laser cut patch
The last part involves the assembling of the panel, which I’ll summarize pictorially.
NOTE: For those that are buying the kit from me to do self-assembly, please note that the finish wood do have a little warp in them and thus the need to clamp them down at the assembly stage. The fitting should be snudge and there is a need to press them tightly together when glueing. At times, there might be gaps inbetween the joints but nothing over 2.0mm. For self- assembling, I’ll provide a more in-depth process on where to apply the glue and on the build.
The Brain (aka Raspberry Pi)
The brain of arcade is powered off on Raspberry Pi. You may use Raspberry version A to the latest, which is B+ rev 2 that I use for my entire console. If your ideal is to just run M.A.M.E. games (like Pac-Man, Donkey Kong etc) and just SINGLE player (I stress on the word single), you may use the A and B versions. But if your intention is to run have a 2-player system and play up newer games like Super NES and even PS2 PS2 (Sony Play Station 2) games, you would need B+ and up.
The hard drive for the Raspberry Pi is the mini-SD card unit and you would need at least 8 gigabytes of card; 4 gigabytes for the OS which is running Raspbian (a light version of Linux) with Emulation Station (the emulator that runs all the games). Remaining 4 gigabytes are reserved for the games but do bear in mind that a typical PS2 (Sony Play Station 2) like Resident Evil and easily take up 500 megabytes of space. So if you run a hold series of Resident Evil games, you are about there with no space left for other games. As for M.A.M.E. games, they are a lot “lighter” and 4 gigabytes of space is more than enough to keep 100s of games. Do read the rules and regulations on rom downloading (information are all over the internet) to keep yourself legal.
I'll step through the software installation fairly quickly as there are tons of information on installing linux (ie Raspbian) and Emulation Station on Raspberry Pi. The following are mostly quoted from bits and pieces from the web and due credit is as listed).
-
Download the latest RetroPie (http://blog.petrockblock.com/retropie/) SD card image. This is a preconfigured setup for the Pi running EmulationStation (http://aloshi.com/emulationstation), which is basically a pretty front end for navigating and launching games for multiple emulators (also included). You could install all the emulators manually but using the pre-made image saves a great many hours of work.
-
Write the image to your SD card. You will need at least a 4GB card just to run RetroPie. Buy a bigger card as you will need space for the games and any future updates. All my console are sold with a 8GB card with Raspbian and Emulation Station installed. There are many ways to write SD card images, but the simplest options are to use third party utilities like Image Writer (https://launchpad.net/win32-image-writer) for Windows or Pi Filler (http://ivanx.com/raspberrypi/) for Mac. The process is fairly straight forward.
-
Pop the SD card into the Pi, make sure you have a keyboard plugged in and power her up! It should boot straight into EmulationStation and ask you to configure the keyboard for the menus. Now's a good time to make sure all the hardware is working as expected.
-
NOTE: Do read the rules and regulations on rom downloading (information are all over the internet) to keep yourself legal. Download ROMs. You're on your own for this step. I should note that it is illegal to play game roms that you don't already own in physical form and I can't condone it. I have heard its possible to torrent large batches of roms but you'll have to ask google for more information on that. Moving on.
-
Transfer games to the SD card. Do this over the network using something like CyberDuck (http://cyberduck.io/?l=en). Game roms are stored in the appropriate folder on the Pi and will be read automatically by EmulationStation.
-
Configure your controls.
-
[Optional] Add a custom splash screen.
Before you can tackle this part. It involves figuring out the ports that each button is wired up to and then editing the controls config file to map the keys to the right buttons in-game. The websites linked further down cover this in a lot more detail. Big shout out to the tutorials found on Lifehacker (http://lifehacker.com/how-to- turn-your-raspberry-pi-into-a-retro-game-console-498561192) and SuperNintendoPi (http://supernintendopi.wordpress.com/2013/01/23/an-a-to-z- beginners-guide-to-installing-retropie-on-a-raspberry-pi/) - these go into more detail on the Pi setup and were instrumental in helping me figure out what I was doing! The RetroPie forums (http://blog.petrockblock.com/forums/forum/retropie- project-forum/) are also very useful if you get stuck - chances are somebody else will have struggled through the same problem at some point!
Just a note, the brain can be substitute with a PC or mini ATX PC. The advantage of that is that you can easily expand it’s hard drive and have tons of rom in there. But again, do check out the legal rights to usage of rom as I do not provide any of the rom upon purchase of my console.
Joystick And Buttons (the controller)
This step can vary in difficulty depending on how many players you are making your console for and how many buttons you’re using. You can also minimize cost by simply buying ribbon cable and soldering the wires from the buttons/joystick to the GPIO pins on the RPi. There are other subsitute like IPAC2 USB interface kit and more which you can buy.off the self which can get your joystick and button system up and running via USB port. You can get away with as little as 6 buttons, but we recommend using at least 10 for the more complex emulators. I like using connecting from "scratch" as I can swap out buttons as well change nobs on the joystick for my "blink-blink" version of my arcade.