My objective was to build a portable console & media center for my daughter. The gameplay on the mini designs like the PSP or Nintendo clones seems too far from the idea of the old arcade cabinets. I wanted to join the nostalgia of the buttons in the old cabinets with the convenience of portability and a screen not too small.
So, these are the initial requirements of this project:
- Small, a 7-years-old girl should be able to move it effortlessly.
- Single player.
- Control panel in a comfortable position (raised).
- Illuminated buttons. I want to program games in Python taking advantage of the colors of the buttons, like QuizzPi, a instructable I made recently.
- Portable. My daughter wants to watch movies in her bed, I want to play to Ghost and Goblins in the balcony, and my wife wants to watch Youtube videos in the kitchen. Sometimes we'll have a plug nearby, but sometimes not, so we need a battery.
- As cheap as possible.
Once the project requirements were defined, I went into the thinking room and I created a project with these characteristics:
- Cabinet not too big, aprox. 20-25cm x 20-25cm x 20cm (front x height x depth).
- A 7-inch LCD screen from a broken car DVD player.
- A long duration battery, there are two posibilities, to buy a powerbank, or a DIY battery width 18650 cells from an old laptop battery.
- Joystick, 4 action buttons to play, 2 buttons for pinball games, and 4 control buttons (intro, esc, pause, tab).
- Optional illuminated buttons, lights can be switched ON/OFF width a switch.
- Raspberry Pi 2/3 inside.
- Recalbox frontend to play and Kodi Media Center to watch youtube videos and movies.
- Approximate cost: <100$
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: The Cabinet...
I spent a lot of time looking for a cabinet that would adapt to my requirements. I wanted the control panel was in a comfortable position, ideally in an angle of 45 degrees, and the cabinet could contain the screen and all the electronics inside. Unfortunately I did not find any similar, but I realized that turning 90 degrees a cabinet design called Nanocade (you can see it Koenigs Page) the result was quite similar to what I was looking for.
As you can see in the second image, if you lift the Nanocade from the front, making the back of the Nanocade touch the ground, it becomes in my design. The control panel of the Nanocade will house the screen, and the place where the screen is in the Nanocade will become my control panel. I had to make some adjustments making the space for the screen bigger. The interior of my design is totally new and it don't matches with the Nanocade. I modified some measurements to fit the screen in the cabinet.
Once the plans were made (you can be seen in the image), I cut the wood and mount the structure with wooden glue and the help of some clips. I used 15mmx15mm wood to reforce the joins. When the glue was dry I mount the screen.I used its original plastic holder.
The control panel is a piece formed by a piece of 10mm plywood and other piece of 5mm plywood glued in a 90 degrees angle. I printed the layout of the control panel to see how the buttons and joystick fitted in the control panel (you can see in the first image).
I did not make the holes for the buttons until I had the printed arts.
The main work in the cabinet was finisihed. The cost of the wood and glue was 5$ aprox.
Step 2: The Screen...
I used a 7 inch screen from a an old broken car DVD player. I bought it some years ago in a second hand store. It cost to me 20$, the DVD player and two 7 inch screens. I only used one of then in my car.
The problem was it hadn't RCA or HDMI inputs. It had a S-VIDEO port, so I looked the pinout of the s-video connectors and the pinout of the Raspberry Pi RCA video output connector and I made a cable as you can see in the picture. I joins the 3.5mm audio/video output from the Raspberry and a 12v power, to the input S-VIDEO connector. You can see the schematics in the images.
Once the cable was prepared it was time for a test.I connect the screen to the Raspberry and LET'S GOT TO PANG...
Step 3: Give Me Some Power...
The most important requirement of this project was portability, I need a battery. We need two voltages, 5v to power the Raspberry Pi and 12v to power the screen and the leds. I was looking for a 12 volt power bank that would allow simultaneous charging and uncharging, but the price was prohibitive (40$ and more), but I found a DIY alternative. With three 18650 cells (you can find them in old laptop batteries) and a charge/discharge protector I made a 12v 2700ma battery. It cost to me 3$. You can see the PCB protector here. If you don't have any old laptop battery you can buy the cells in this link.
You only have to connect the three 18650 cells in series following the diagram provided by the manufacturer, connecting each link to the PCB protection board. Finally you must to connect a male or female connector to the positive and negative poles as indicated by the manufacturer's diagram, and put some hot glue and tape to make the battery more robust. You can see the final result in the pictures. We have a 12v 2700ma for 3 bucks (4$ or 5$ more if you must to buy the 18650 cells).
We have 12v to power the screen. Next step is getting a 5v font from this 12v battery to power the Raspberry Pi. I used a cheap car charger for smartphones. These chargers gets 12v from the car battery and transforms in the output to 5v to power smartphones. This is all we need. I used one I found at home, but you can get one of them for 2$ here.
Once we have the 12v and 5v fonts is the moment to explain the power system. As you can see in the diagram in the first picture, we start from a 12v laptop power supply, this connects with the connector of the cabinet. In the cabinet, power goes to our DIY 12v battery, when we have the power supply connected the battery is charging and it powers the system, when we don't have power supply the battery is used to power the system.
Positive pole from the battery goes to the main ON/OFF switch of the cabinet. From this switch we have four wires with 12v: screen, marquee leds, button leds and 12vTO5v car charger for the Raspberry Pi. We have another switch (illumination switch) so we can power on/of the marquee leds and the button leds.
Finally, I made some DIY cables to save space because the original were too long for it purpose. You can see them in the last pictures.
The duration of this battery powering Raspberry Pi and screen is about 3.5 - 4 hours playing games or watching videos. If you switch on the illumination system and wifi for Youtube videos the duration is about 2.5 - 3 hours.
Step 4: Finishing It: Control Panel Layout, Buttons, Illumination and Arts
I wanted 4 action buttons, 2 pinball buttons, 4 control buttons (esc, intro, tab and pause) and independent switches for power on/off and illumination. I get some buttons, joysticks and arcade encoder from this links:
I made the holes for the buttons with a 25mm drill. The I connected the buttons to the encoder and the encoder to the Raspberry Pi with the USB cable. I wired the leds in the buttons with the 12v font.
I needed 2 switches too, a 3.5mm connector for power supply and some wires. I buy too some led tires for the marquee. The powering of the leds was described in the previous step. They works with 12v so no transformation was needed. You can see the leds in the marquee in the pictures.
The main theme of the arts is Fairies, my daughter likes it and she choose it. I works for 2 days in the design of the arts and de results can be seen in the pictures. I ordered to print it in adhesive vinyl at Pixart Printing. It cost only 10$ to me a 1meter x 1meter piece.
I painted the cabinet with black acrilic paint, and then I put the vinyl. Finally I made the holes and put the buttons. The finished work is shown in the pictures.
Step 5: Frontend: Recalbox and Kodi
Last step was to find a Raspberry Pi SD image with a arcade frontend and Kodi. I was not sure because there was two good frontends, Retropie and Recalbox. I decided on recalbox because it is simpler to configure. I found the SD image in a internet forum. I burned the image in a SD card. In the first run you can configure the buttons to match with our machine. You can find the SD image best matches to you in Youtube or any forum.
This is all. You can see in the video my project working: Running Fairies Arcade
I hope you like this instructable as much as my daughter and my wife liked it. I'm waiting to play PANG for a while but they don't let it free.
Any questions I'll be happy to answer it. Greetings and thank you!
Participated in the
Game Life Contest