Introduction: Portable Wireless MAME Controller

This project will allow you to fabricate a Portable Wireless MAME Controller. The MAME (Multiple Arcade Machine Emulator) box I used was a Raspberry Pi running Advanced Mame but any box supporting USB can be used.

The Idea:
Many years ago I made a upright MAME arcade cabinet with a personal computer and CRT monitor. It sat in my rec room and I loved it. Family and friends also played it when they came over. It was great but unfortunately it was quite large and took a lot of space. I sold it and miss it ever since.

I wanted to bring the retro gaming experience back in my rec room without the space requirements. I also wanted it to have the classic joystick and buttons. The idea of a small arcade cabinet came to mind but it still took too much space. A coffee table arcade was another idea but there again seemed too much of an investment. Then the idea of a portable arcade came to mind, but how to accomplish it and at low cost.

I've been playing with Raspberry Pi for a while. MAME on it was not new and worked well. It was very cost effective so the platform to run MAME on Raspberry Pi was decided. The problem now was how to add the classic joystick and button experience without taking much space. My first idea was a TV tray and I started to work on it. It was fairly small but 50% in the project I realized it was still too big and bulky, so I dumped it.

Like many people, we have a laptop and use a pad/tray when in bed or on the couch. Then it hit me, it's the perfect size, portable, light, and easy to put away. I put details to the idea, worked out the problems and made it happen.

Step 1: Difficulty and Tools

Experience Level: Low to Moderate

Some level of experience with electronics and tools is expected.
Some drilling is required.
Some fine soldering is required.


- Drill
- Soldering Iron
- Utility Knife

Step 2: Materials

- Arcade Joystick & Buttons (eBay)
- Wires (stripped ethernet cable works well)
- Laptop Pad/Tray (Nexxtech pad)
- Box (Plano Spoon Box)
- Wireless Keyboard (DX 94535)
- Battery Holder (DX 142708)
- On/Off Switch (DX 118179)
- Solder (0.4mm from DX 307662)
- Finish Washer (Canadian Tire 061-3187-2)
- Flat Head screws (Canadian Tire 061-7351-6)
- Black Paint (Home Depot 1000155364)

Options Materials:
- Large washers for Buttons (5) (Home Depot 1000138548)
- Fender washers (Canadian Tire 061-1762-4)
- Spray Adhesive (Home Depot 966600)

Step 3: Laptop Pad/Tray

  1. Strip all backing from the pad. I used a bit of Goo Gone (with Gloves) to get the glue completely off.
  2. Once clean, put the Pad upside down on a large paper (like wrapping paper white side up).
  3. Trace out the Pad on the paper.
  4. Pencil in where you want your buttons and joystick. Take your time on this and make sure you leave enough space between the buttons.
  5. To ensure it fits in the box, place the box on top of the paper. Make sure your holes are within the box and 1 half inch from the edge.
  6. Cut out the paper outline of the pad and holes.
  7. Place paper outline on pad and mark center of holes.
  8. Drill out holes with the correct size of your buttons. I used a hole saw set.
  9. Place box under Pad and mark the holes.
  10. Drill out holes again like in step 8.

Step 4: Background (optional Step)

If you plan to have a background like I did, follow these steps.

  1. Select your picture
  2. Have it printed slightly larger than the pad to allow of bit of play
  3. Place the picture on the table upside down
  4. Place pad upside down on picture
  5. Adjust position as desired and outline the outside edge and holes
  6. Cut out pad outline and holes
  7. Cut out an addition 1/2 from outside edge
  8. Have it laminated as thick as possible
  9. Cut out holes from the laminated picture
  10. Cut out outline 1/4 inch from edge of the picture
  11. Place on pad and make any additional cuts as required
  12. Glue the laminated picture on pad (Spray Adhesive)
  13. Use a soft cloth to rub the picture on the pad to ensure a good seal
  14. Leave enough time to set (as directed by the adhesive)

Step 5: Joystick and Buttons


  1. Strip out the board from the wireless keyboard.
  2. Using the rubber grid, identify the location of the keys you will be using for your buttons. I used the standard keys used by MAME identified by ipaq.
  3. This is the hardest part, solder wires to the board.
    How I did it:
    1. Use a fine/pointy soldering iron bit
    2. Heat it and put a bit of solder at the end (very clean)
    3. Put a small drop of solder to the board key locations (takes only a few seconds) (no wire)
    4. Put a little solder on the wire ends (very clean and not much at all)
    5. Cut end of wire leaving only 2-3 mm
    6. Hold wire against the drop of solder on board
    7. Push soldering iron on wire (on a few seconds)
    8. Pull off the soldering iron but keep holding the wire until solder is cool
    9. Do this for each wire


  1. Put Joystick and button in assigned holes on the tray
  2. Attach other end of the wires to the switches for the buttons and joystick
  3. I recommend testing all connections before soldering the wires to the switches. You can use your computer to do this via "Windows on-screen keyboard" or WinIPAC v2in test mode or Keyboard tester.
  4. Once all looks good, solder the wires to the switches.
  5. I also added some hot-glue on top of the solder points of the board (optional).


  1. Solder the battery case wires to the board.

Finish Touches (Joystick screw heads)

  1. Paint finish washers with black paint
  2. Paint Flat Head screws with black paint

Step 6: Video Demo

I plan to make a player 2 unit using the same steps. When I do, I will update this post.

Here's a few video:

Step 7: Raspberry Pi

This article is about the classic controller setup but I thought I'd put in a blurb on where you can get info to put MAME on Raspberry Pi. I didn't use PiMame/PiPlay. I used Rasbian and compiled Mame on it. At the time I found it worked much better. That may not be the case today as PiMame/PiPlay is updated regularly.

What I did:
+ a few tweaks like overclock, force hdmi, and added a splash screen.

Other links: