Inspired by similar projects online, I’ve been working with a neighbour to build a pair of coffee-table MAME-based retro gaming tables. The more compact one is mine; the larger with two sets of controls is his. Photos ofboth are used in this instructable.
These use a Raspberry Pi computer, flat-screen monitor or TV, and arcade controls mounted inside an old wooden coffee table, and are simple to make, provided you have some skill with a soldering iron and know your way around Linux. The total cost to me was about NZ$300, so about US$250 – though this is largely because of using cheap secondhand display and table.
This is what you will need:
1. Raspberry Pi computer – about $50
2. 4GB SD memory card – about $8 or less.
3. I-PACve USB controller from Ultimarc http://www.ultimarc.com/ipacve.html – $35
4. Arcade controls – 7 buttons, one joystick, extended length. about $100. You can get multiple sets if you want multi players or additional control buttons (for example, a ‘snapshot’ or ‘pause’ button). The IPAC will allow two joysticks, two sets of 8 fire buttons, plus 2 coin, 2 start and 4 control buttons. You can also remap the keys within MAME or AdvMenu if you want.
5. Power supply for the Pi. A 1A micro-USB phone charger (do not get a 500mA one!) – about $7
6. (optional) 4-way USB hub and USB extension cable, to allow an external USB port for upgrades. – About $3
7. (optional) wireless USB keyboard – $10
8. Flat-screen TV (HDMI capable) or monitor (DVI or HDMI capable). NOTE: NOT ALL screen will work with the Pi! Many cannot follow the weak video signal put out, even with the hdmi boost enabled. If you find that the red or all video is missing or static then you have this problem. Also, you want a TV/Monitor which powers up into active mode, not standby. I picked one up second-hand from eBay for $70
9. HDMI or HDMI-DVI cable (depending on your choice of screen) – $11
10. Power socket, power junction box, spare power cable. – $4
11. Amplified speakers for a PC. These may not be required if you have an old HDMI TV for your screen, as the sound can then be sent via HDMI. You may want it, though, as then the sound can be controlled via an external switch. About $10
12. Spare cable for connecting controls. I used a few feet of CAT5 network cable as it is handily colour coded.
13. (optional but recommended) piece of toughened glass the size of your screen. This cost me $50.
14. Wooden table, about 80×80 or 90×90 cm. You can pick these up from eBay for $40-$90 or so. Make sure it is fairly solid. I picked one up on eBay for $16 but realistically you’d expect to pay more.
15. Metal strips (for mounting screen). Could use wooden bars, or small box-section steel instead.
1. Soldering iron and solder
2. Cable cutters and stripppers
3. Powered saw
5. Drill, with 28mm hole cutter
6. Screwdriver, with screws (small #4 and #6 ones)
7. Cable clips
9. Hot glue gun
10. Black paint
Step 1: Prepare the table
Measure the screen size of your display, and work out where you will mount this under the table. Make sure to leave enough space for the controls, particularly the joystick, as it has a wider base (about 10cm).
Once you know where you want it, mark this out on the table and cut out the opening. Drill through the corners and cut between the holes. Optionally, use a router to inset the edge in order to hold a sheet of toughened glass to lie flush with the surface of the table and protect the display.
Check this is the correct size and position before continuing.
Drill out 28mm (check the size of the arcade controls you are using!) holes to mount the buttons, and for the joystick to go through. I put four on the table side (coin, 1P, 2P, ESC) and three on the top (three fire buttons). The ESC is important as this is the ‘exit out’ button to leave the game and go back to the menu. You may also want a pause button on the top.
Also, drill out a small hole to mount the USB cable (if you want an external USB port) and a hole for the power socket, if you want one.
The picture here shows the screen held in place over the hole by two metal straps. You can also see the (silver) USB cable poking through the hole, ready to be held in place with hot glue.
Now you have the holes all cut, and the screen mounted, time to fit all the buttons and joystick(s) in place. The joystick will likely need the extended length arm, especially if the wood is thick.
The microswitches on the controls all have 3 terminals. The top ones are ground, and should all be connected together, and then connected to GND on the I-PAC.
The middle terminal is the one you have to solder the signal wires to. Note which wire is for u, down, left, right, etc (remember you’re looking at the bottom of the table!)
Connect these wires to the appropriate place on the IPAC terminals. The coin button should go to 1COIN, and the 1player and 2player start buttons to 1START and 2START. The ESC button should go to 2B, and a pause button (if you have it) to 1A. I used 1B for a snapshot button during development. If you’re interested, the key codes for each terminal are here http://www.ultimarc.com/ipac2.html
Attach the IPAC to the table GENTLY using some small (#4 or #6) screws. Fix the cables in place using cable nails.
You can similarly fix in place the Raspberry Pi, and USB hub (if you use one). DO NOT use hot glue for this! The heat of the glue can damage the circuitry, and makes it difficult to make changes later…
Run the video cable from the Pi to the display, and (if you want one) the USB cable from the hub to the external hole. Connect the IPAC directly to the USB port on the Pi, and the USB hub as well. Put the IPAC into the top USB port, so that it is always Keyboard0 even if you also plug in a second keyboard.
Now we need to provide power.
I’ve set up a euro socket on the side of the table (the sort of plug/socket generally used by desktop computers and kettles) to make things simpler. This goes to a white junction box (to keep nasty 250V electricity away from children’s fingers) and is split out to cables which go to the display, the USB charger, and the speaker amplifier (not shown).
The charger had to have the case opened, and the integral plug snipped off. The two power wires were then joined to the black cable. Note that internally it uses red/black for live/neutral; most cables use brown/blue. Don’t mix the two up.
When put into place, all cables are fixed down to hold them in place and prevent movement.
The charger and display power supply are fixed down with hot glue.
The final cable out of the box is soldered to the back of the power socket, which is then held in place with hot glue.
For more detail: MAME gaming table with Raspberry Pi