loading

Fully functional micro arcade machine using a Raspberry Pi model B or B+.

I always wanted a tiny arcade machine for my desk, I decided to build it as small as possible. It may look simple from the outside but a lot of engineering went into building it. After months of development and 8 printed prototypes later, its finally ready. I decided to post the build steps here and links to the 3D printed parts so anyone can build one for themselves.

3D printed parts are available in more colors, check the link below.

Painting instructions are optional, you can paint it anyway you want.

enjoy :)

Parts list:

Shapeways.com

update: added vent holes on the back panel.

Adafruit.com

  • 1X Raspberry Pi B (#998) or B+ (#1914)
  • 1X NTSC/PAL 2.5" TFT (# 912)
  • 1X LED Sequins warm white, pack of 5 (#1758)

Digikey.com

  • 1X slide switch (CKN5004-ND)
  • 1X 2.1mm jack (CP-010A-ND)
  • 1X 15 pin D-sub connector (609-4042-ND) (optional plug for controller)
  • 9X tactile push buttons (679-2431-ND)
  • 1X mini joystick (GH7455-ND)
  • 1X 5vdc wall adapter (237-1385-ND)

Amazon.com

    • 1X HMDX HX-GO3 speaker case
    • 1X SD card (8Gb or larger)
    • 1X Roll 24 AWG wire or 1X PC IDE ribbon cable
    • 1X Pack of Crimp female D-sub pins (B000BSN7D8)

    Tools:

    • Soldering iron & some solder
    • Needle nose pliers
    • Sharp tweezers
    • Mini file set
    • Epoxy glue
    • PC/MAC
    • USB thumb drive
    • Keyboard and mouse

    Painting supplies (optional)

    • Paints/markers
    • Paint brush
    • X-Acto knife
    • Sand paper 200 & 400 grit
    • Krylon Crystal Clear varnish / Testors Dullcote varnish
    • Inkjet water-slide decal paper, I use: 120 White Inkjet Decal Film, from:

      http://www.bare-metal.com/Experts-Choice-Decal-Fil...

    • Micro Set decal fluid

    Step 1: Disassemble speaker

    Start with getting the audio board and speakers out of the Mp3 player case.

    I would recommend to test it first and make sure its working before proceeding.

    • Pop off the inner liner behind the speakers, unscrew the panels and PCB board, be careful not to rip the speaker cables when dissembling
    • De-solder the battery compartment connections
    • De-solder the audio cable and replace it with longer cables.

    Step 2: Connect electronic parts

    Connect the screen audio board to the raspberry pi

    • Solder the 3 audio and 2 video cables to the under side of the Pi, see pictures for connection info
    • Connect to DC power to the LCD, amp and raspberry Pi GPIO pins double check the polarity (+/-)
    • Connect keyboard and mouse power it on.

    Step 3: Testing hardware and software

    Test all the hardware/software to make sure it works. there are many tutorials and videos online on how to set up emulators on the raspberry pi, the following will cover only the general steps that I did to get it working.

    • Connect keyboard, mouse and the USB for power (I used a backup battery) I had test buttons plugged into the GPIO pins, this is not necessary, use the keyboard for controls.
    • Plug in the SD card into your PC and install operating system and emulators with test game: http://blog.sheasilverman.com/pimame-raspberry-pi...
    • Plug the Raspberry Pi into a monitor for better viewing resolution.

    • Plug in the SD card into the Raspberry Pi, boot it up, run the test game to make sure it works.
    • Press ESC and exit to command line. type in (no quotations) "startx" and press enter, this should start the OS which will show a desktop.

    • Download Retrogame https://github.com/adafruit/Adafruit-Retrogame and copy it on to the Raspberry Pi with a thumb drive.

    • Extract on the desktop and install Retrogame, (follow the install instructions) this will allow cabinet buttons to connect directly to the GPIO pins on the raspberry pi, instructions can be found here: https://learn.adafruit.com/retro-gaming-with-rasp...

    • To set button configuration, edit the retrogame.c file and run the "make" file

    Step 4: Test fit the 3D printed parts

    I started with the purple color cabinet, keep in mind its also available in white for custom painting.

    If you ordered the white unpolished material, rinse it thoroughly to clean off all the loose powder and dry it with a hair dryer.

    Do not separate the buttons yet, leave them attached for easy handling and painting.

    • Clip on the inner top panel, this will hold the audio amp.
    • Attach and press the rear panel, this will hold the Raspberry Pi. There are 6 clips simply press them in from the back, it should snap on.
    • To take it apart press on the clip from the inside. It may be hard to snap on the first time, take it apart and snap it back on, do it a few times until it loosens up.
    • To attach the top panel hook up the front and clip on the back, do this in reverse to take it off.

    Step 5: Painting, finishing

    The 3D printed parts can be painted anyway you want, its made of nylon, it wont dissolve with alcohol or acetone. You can use pens, markers, acrylic, enamels, car paint, almost anything.

    For a smooth surface finish, before painting the case, wet sand the parts first.

    Always cover the paint with clear varnish, this will keep the paint protected from repeated handling. Make sure any paint is completely dry before applying any clear varnish this will prevent the paints from reacting with the varnish.

    The following steps describe how I made mine:

    • Color the T molding black with permanent Sharpie marker, then spray many coats of Krylon Crystal Clear.
    • When the clear varnish is dry, wet sand it with wet/dry sand paper, wet sanding works faster and gives better result.
    • After sanding spray several more layers of Crystal Clear and sand it again.
    • Repeat the varnish and sanding step 3 times, use progressively finer sand paper (100-200-400 grit) this will gradually create a smooth surface, then leave the surface sanded for decal application.

    Step 6: (optional) Apply decals part1

    • Print the decal, follow decal paper instructions, the steps are different for each band. I recommend printing multiple copies just in case the decal doesn't apply properly. for inkjet water-slide decals remember to spray thick coats of clear varnish on the printed decal before immersing it in water.
    • Use a brush to apply decal fluid, Micro Set, on the 3D printed part.
    • Dip the decal in water when the decal is loose, pick up the decal with the paper backing from the water and place both on the part, carefully slide one edge of the decal to the part and position it properly, then pull the paper backing out from under the decal, then brush it smooth with a paint brush.
    • Push all excess fluid out from under the decal, do not peal off the decal to re-position it, it will curl up. Try to slide it around the surface if it doesn't work you may have to peal it and re-start with a new decal.
    • Wait for the decal fluid to dry before trimming the decals. Decals may wrinkle a little bit when its wet, it will smooth out as it dries.
    • When the decal is dry cut the decal around the T molding with a sharp new X-acto knife, and pull the excess decals off, more Micro Set may be applied around the edges as needed.

    Step 7: (optional) Apply decal part2

    • For the button panel, cut the decal out around the design.
    • Punch holes on the decal sheet at the center of each button, this will help line up the decal for placement and application around the holes
    • Apply Micro Set on the part where the decal would go on.
    • Same as before, dip the decal in water, when the decal is loose, pick up the decal with the paper backing from the water and place both on the part, carefully slide one edge of the decal to the part and position it properly, then pull the paper backing out from under the decal, then brush it smooth with a paint brush.
    • Wait for decal to completely dry.
    • Cut slits around the button holes and apply more Micro Set, fold the decal through the holes to the back with a brush.
    • When the decals are all dry, spray a final layer of clear varnish on top.

    Step 8: (optional) Paint and apply decal on buttons and marquee

    • Painted some of the white buttons with yellow acrylic paint, this will be the coin button.
    • Printed little icons for the buttons, apply the decal using the same technique as before.
    • Apply several layers of clear varnish.
    • For the marquee/sign cut out a piece of plastic packing 14mm x 70mm and sand the surface to create a frosted finish. Test fit by sliding into the slot, sand it to fit.
    • Apply decal to both sides, reverse the image for the back side, this will keep the colors vibrant when the LED shines through the artwork.
    • Spray clear varnish on the sign on both side.

    Step 9: Assemble the marquee

    • Clean off all loose nylon powder from the inside of the LED grips, use the sharp nose tweezers for this.
    • Insert the LED in one side, then press it down into position.
    • Apply black cloth tape on the inside top to prevent any light leaks.
    • From the back, solder the LED leads in parallel (positive connected to positive, negative connected to negative) and connect a long wire for DC power.(very important if incorrectly connected they will not turn on)
    • Slide on the sign artwork

    Step 10: Assemble the buttons

    • Clip the buttons apart, use a file to remove the clear varnish from the inside, use a tooth pick and make sure the inside edges are clean of loose nylon powder. sand around the button to make sure it wont jam inside.
    • Press the button in keep in mind the orientation (image2) test fit the button make sure its loose, if the button is jamming or not centered, take it out and rotate it 180 and insert back, sometimes this is a better fit.
    • Snap the tactile button, keep in mind the orientation so the connection pins fit.
    • Straighten out the connection pins this will help with soldering the wires later.

    Step 11: Glue the buttons

    • Scrape the varnish off the edges of the buttons with a knife (picture1)
    • Test fit the buttons into the cabinet make sure it sits properly.
    • Prepare the 2 part epoxy glue have a few toothpicks ready.
    • Use the toothpicks and apply glue around the edges of buttons, use tweezers insert the buttons into the cabinet. when the glue is dry, mix up and apply more around the buttons using toothpicks.
    • When the epoxy is dry, test the buttons make sure they stay in.

    Keep the push buttons clear of glue in case they need to be replaced, all you need to do is desolder the pins and snap them out from the back.

    Step 12: Make the wiring harness

    • Use an old PC IDE cable for the GPIO connection, for 6 cabinet button setup, tear off 7 wires one for each button plus the common ground connection.
    • Tear off 4 wires and cut the same length cable for the joystick.
    • Strip the insulation off the wire and connect it to a D-sub female pin, use pliers to crimp the connector pin around the wire, and solder the connector to the wire to secure it.
    • Do this on both side of the cable. The connector pins will aid in connecting the wires to buttons, joystick and GPIO in later assembly.
    • For the common ground connection, daisy chain the cables through the connectors see the last 2 pictures, make sure to solder all the connections securely.

    Step 13: Wire the controls

    • Start with the ground connections, this connects all the buttons together, Insert the pins into the gold connectors and solder them, do this one at a time (picture 1,2)
    • Use the same method to connect the rest of the GPIO connections, the black heat-shrink tubing is not required, they stiffen the wires making it hard to connect them.
    • Do the same with the joystick and snap it through the back of the cabinet.

    Step 14: Install the TFT screen

    • Disconnect the video cable from the TFT board.
    • make sure the screen is right side up and carefully fold the electronic board back and hold it as described in the second picture.
    • Slide the screen from the top of the cabinet, make sure it sits properly in the lower slot and snap the upper part of the screen into the cabinet.press in the 2 clips together (picture 4-5)
    • Snap the electronic board into the 3 clips
    • Connect the video cable.

    Step 15: Install plugs and power switch

    • Make sure its oriented properly, insert one end of the 15 pin sub-d connector as described in the first picture, then press it in (this player 2 controls plug is optional).
    • Insert the red power switch the same way into its position, turn the assembly around and slide the switch to fit it through the hole.
    • Press the switch into position, make sure the switch body protrudes through, see picture.
    • Press the black power plug into position.

    Step 16: Final assembly

    • Insert the Raspberry pi on the back panel and solder the power cables.
    • Connect all GPIO cables. One side of the buttons and the center pin of the joystick, are all connected to a single GND pin (I used the GND pin below GPIO18), the other side is connected to any of the pins that are labeled green. set the button configuration in the Retrogame software settings (retrogame.c)
    • Snap the speakers into the 4 clips on the bottom
    • Snap in the audio board and snap on the rear panel
    • Snap the top panel
    • connect the DC power cable
    • Turn on the switch on the back and enjoy!
    <p>You are the man</p>
    <p>diygizmo,</p><p>Nice build but you could definitely make this out of PLA using a filament style printer. Machines are getting more affordable and can be purchased for around $800. FlashForge and now QIDI Technology makes one as well. Check them out. This way you can sell the parts for less and make more profit. Food for thought.</p><p>Cheers!</p>
    <p>Hi,</p><p>I have a concept version that I printed with an ABS printer I have, it was a bit larger due to wall thickness, it had older button design that ultimately didn't work very well. harder to assemble, ended up breaking it a few times and fusing the parts with acetone, the result was not very visually appealing. I just don't have time to develop that version of it for now, maybe in the future.</p>
    The trick is to us PLA which is much easier to work with as it will not warp during print providing a straighter part. Use blue tape as a base and wipe it with a rag that has a splash of Alcohol, this will ensure the first layer wills stick. Then its a matter of design for best results and easiest assembly.
    <p>I have a few questions. If i'm using a raspi 2 model b, where would i solder the composite vid and the audio left and right? is audioL and audioR interchangeable? can i solder wire to the gpio pins? if so how? can the power switch be solder either way?</p>
    <p>Hi AnEgineersView,</p><p>I have not tested the cabinet design with other hardware, you may have to modify the case to fit. I cant guarantee it will work.</p>
    <p>So how much all together?I would like to make one but not sure if I can/should.Goid job by the way!</p>
    <p>Looks good but 90 euros for the cabinet? Thats silly money.</p>
    <p>It's the components. $45 for the screen, $25 for the Pi. You're already up to $70 from those two parts alone.</p>
    <p>NO. I said &euro;90 for the cabinet. NOT the other components. Its a great instructable but sadly the costs for the Shapeways parts make it less attractive. I know everyone has to make a living but sometimes (just sometimes) shapeways are a little too pricey.</p>
    <p>The reason for the high price is because its high resolution 3D printed nylon, most of the engineering work was trying to shave off as much material as possible to make it cheaper while retaining the integrity of the box. I will try to make it cheaper for the next model, it would still hover at around 70-80, its just the cost of manufacturing.</p><p>The original plan was to build just one for myself, hopefully the cost of 3D printing will go down as the tech becomes more widely available.</p>
    It's difficult to always express the right emotions over text.<br><br>I wasn't suggesting you where making a tidy profit from this. It was more a comment on the costs of shapeways.<br><br>I have a couple of parts on there and the cost is quite high without a profit (I make no money from mine).<br><br>I know everyone needs to make a living but &euro;90 for the volume of your cabinet is high...however the costs involved should reduce as you say with time.
    Also the two dongles in the raspberry pi, are they the keyboard as the thumbdrive
    <p>The two dongles are; the keyboard and wireless.</p><p>The d sub is for a second controller (player2), coming soon, still in the design phase.</p>
    Thank you, and how are the games downloaded onto the as card from the thumbdrive
    Sd card*
    <p>There are many tutorials on how to setup the software part of the build, I found this one on youtube: </p><p><iframe allowfullscreen="" frameborder="0" height="281" src="//www.youtube.com/embed/LssEe_xx3eI" width="500"></iframe></p>
    What is the 15 pin d sub connector used for. And is it connected to anything
    <p>This is incredible! I love tiny things! So tiny...</p>
    <p>I can't believe how small this thing is. I just built a Cupcade and thought it was a tiny build. Thought this looked cool and when it arrived I noticed it was half the size of the Cupcade. Still awesome easy enough to build thanks to the detailed instructions. Great project, look forward to seeing some other cool projects from you in the future.</p>
    <p>Parts updated to version 12-09-14</p>
    <p>I'm currently having issues with Shapeways new pricing structure, orders with &quot;polished&quot; materials will most probably be canceled due to connected parts separating in the polishers. (they don't like this for some reason even if they print fine)</p><p>I'm currently working with Shapeways to resolve the issue, I will be uploading a new part soon.</p><p>I sincerely apologize for the delays in ordering.</p>
    <p>Great instructables :) the first version of the cabinet has a bit of an issue with heat -- leaving it on for 24/hr a day.. kind of makes it hot -- where the back plastic becomes soft.</p><p>With that said, amazing work -- wrote a bash script to load random game every x minutes and run through demo -- looks great at my desk nice to watch different game on it running.</p>
    <p>Thanks for taking the time to build one! I hope you enjoy it.</p><p>Thats interesting, I never have the issue of it softening I also have it on 24hr, the main reason for the vents was to make it cheaper to print.</p><p>will you be willing to share the random game script?</p>
    <p>Thanks for taking the time to make the instructable, I do enjoy it, enjoyed it so much I bought 2 more from shapeways to make.</p><p>Find the script below with the link -- please remember the script is rough and based off directory structure for RetroPie 2.3 -- and only does Mame roms (easily adaptable) -- also since I have not coded in python in 5+ years I used some modules that did not come by default.. pexpect, glob.. you can use the following commands to install from shell.</p><p>pip install pexpect<br>pip install glob</p><p><a href="https://bad1dea.com/demo_mode.txt" rel="nofollow">https://bad1dea.com/demo_mode.txt </a> -- rename to .py </p>
    <p>Thanks for sharing!</p>
    <p>hey I was wondering if you would consider selling the 3D plans of this or discount the price for a mass order.</p>
    <p>I don't really have any plans for that. Its just a hobby for now.</p>
    <p>This is awesome. If you make a mini-cocktail cabinet, I will build it.</p>
    <p>Thanks! I'm designing more models, more to come soon. </p><p>Don't forget to vote for me!</p>
    <p>It's not only awesome because of how small it is... but it even looks cool! Are there any files though that you could post for people who have printers they can use instead of buying the prints?</p>
    <p>The short answer is, not in the near future. I have spent many months and dollars on designing and building it and it would be nice to make some money back.<br><br>I'm not making much from it, about 10% currently, the rest is printing cost through Shapeways. I'm in the process of modifying the file to make it cheaper to produce, stay tuned. I will be making more cabinet styles in the future which will sell at different prices based on their shape.<br><br>There are also practical reasons, the cabinet is designed and engineered to be printed specifically with SLS nylon. The main benefit of using this form of 3D printing is that it afforded very high resolution combined with part strength and durability.<br><br>One aspect of the design which wont work with home FDM or SLA printing methods would be the snaps and clips, these would simply break off or become non functional due to low resolution or material weakness and they are the main form of attachments for all the components.<br><br>Another example would be the top cover it may be a bit too thin for it to be printed successfully and it may not be durable.<br><br>The buttons may also present a problem which wont have the strength for extended use or resolution for it to function properly.<br><br>Thank you for your interest. </p>
    <p>Ahh thanks for the reply, it makes sense to me! I wish I had as much initiative as you do... problem is I'm just too lazy. Hah, anyway thanks again.</p>
    <p>Awesome project, Could you post a video?</p>
    <p>cool!how much did all the parts cost?</p>
    <p>Excellent, but where is the slot where the user puts in the 3 millimeter diameter quarters?</p>
    <p>This is one of the best Instructables I've ever seen! Super professional final product and very well detailed instructions and parts list. I may very well have to build one of these soon.</p>
    <p>This is one of the best Instructables I've ever seen! Super professional final product and very well detailed instructions and parts list. I may very well have to build one of these soon.</p>
    <p>Fantastic! one of my favorite! Thanks</p>
    <p>Simply epic. Brilliant execution</p>
    <p>Hi DIY,</p><p>Am inspired by your design. It reminds me of a niftier version of the old nintendo hand helds I owned as a child (and their predecessors like Galaxians Head to Head Two Player).</p><p>What is an approximate cost of the whole project ?</p>
    I made the same thing but used a $23 iarcadie iPhone cabinet.
    <p>any chance of getting the files to print on one's own 3d printer?</p>
    <p>Your a Rocker Bro! Kick ass work!</p>
    <p>Um, $93.50 for just the cabinet? This Instructable seems like nothing more than an infomercial for yet another over-priced piece of plastic...</p>
    <p>Gotta pay for the machine SOMEHOW.............Make it out of scrap MDF</p>
    <p>When you compare it to the price of a full-size game cabinet, it's dirt cheap.</p>
    <p>I agree. the cabinet price is WAY too steep to make this an affordable build (for me). But then if you want i guess you can make your own cabinet.</p>
    <p>Awesome work! Can you play Metal Slug on it?</p><p>Why don't you enter in others contests? </p><p>You would get my votes.</p><p>Bye!</p>
    <p>Thanks! Yes MS 1-4 will run on the Pi</p><p>Maybe I will enter other contests, check back later.</p>

    About This Instructable

    89,438views

    794favorites

    License:

    More by diygizmo:Micro Raspberry-Pi arcade cabinet 
    Add instructable to: