These directions are for the current “Gen 3” Cupcade kit.

A handful of images from different Cupcade revisions might still be present in the following pages. Don’t panic if your Cupcade looks slightly different…it should all work the same. Lighting and staging photos is time-consuming!

Fitting all the electronics inside the case is the most challenging part of this project. Our advice:

  • Don’t force anything. If something refuses to fit, it might simply be in the wrong position.
  • You might need to temporarily disconnect some parts (like the buttons or joystick) to re-route the wires in a less tangled manner. Sometimes repeatedly. If the wiring seems to magically change from one of our photos to the next, that’s exactly what happened.
  • Take your time. If things aren’t cooperating and you get frustrated, walk away, try again after a break.
Why not just design a case that’s easier to asemble?

It makes sense once it’s all together. There are just a few visible screws on the sides, and the area around the controls is perfectly smooth, with no screw heads scratching at your fingers. An easier case would have a lot more visible fasteners, some of them in uncomfortable positions!

With the Pi powered off, disconnect all of the separable parts:

  • Raspberry Pi board
  • PiTFT+ display
  • Arcade Bonnet board
  • Ribbon cable
  • Speaker
  • Joystick
  • Buttons (4)


Remove all of the nuts and washers from the four buttons. You can leave the quick-connect wires attached.

Early on, we mentioned a choice to be made: centered or off-center joystick? Now is your last chance to decide.

There are two acrylic parts required for the controls. Select the pair that matches your desired control layout. The other two can be stored somewhere in case you want to switch it out later.

If you want the joystick on the right, just flip these pieces over.

Insert the two red buttons into the chosen control cutout. The two black buttons then go in this cabinet front piece.

Notice the piece with the red buttons has two “bites” along the top edge. If they’re at the bottom, and using an off-center joystick, undo the buttons and flip this piece over.

Reinstall the washer and nut on each button from behind. Tighten these with finger pressure only. Don’t use tools or you’ll crack the plastic!


When installing the joystick on this support piece, make sure these two bumps are at the bottom.

Insert three screws as shown (not four), front to back, and then add a nut to each.


Look closely and you’ll notice the speaker enclosure is asymmetrical. It needs to be turned the correct way for the speaker cone to be centered over the grille cutout.

The speaker mounts behind this piece of the case. Insert two screws from the front, passing through both the case piece and speaker mounting holes. Then add two nuts from the back.


Shown in a vertical orientation here, these parts are assembled the same regardless whether you’ll use a horizontal or vertical screen orientation. We’ll just turn the whole assembly one way or the other in a later step.

Turn this screen support piece around until you find the correct alignment for the buttons and GPIO header.

Place the display atop this piece with the header settling into the large center hole and these two mounting holes aligned. Insert two screws front to back. Add nuts at the back.

If you plan to install the screen in a vertical (portrait) orientation, clip just a tiny bit (about 1/8" or 3mm) off the tip of this one screw that’s aligned with the GPIO header.


The base piece has board outlines scored on the top surface, and six mounting holes. The three “inner” holes (outlined in green) are for Raspberry Pi Zero boards, while the “outer” holes (outlined red) are for a Pi 3, Pi 2, etc. We’ll use just one set or the other, depending which board you’ve got.

Insert a screw, coming up from the underside, through each of the three mounting holes…whichever set you’re using…then add a nut from the top side.

Don’t tighten these nuts all the way. They should be positioned only about halfway along the screws’ length.

Now set the Raspberry Pi atop the screws. Only three of the board’s four mounting holes are used (the fourth would interfere with other parts of the case).

Make sure the SD card slot is aligned with this semicircular “bite” in the base. I’ve built this project dozens of times now and still get this wrong sometimes, then have to go back and re-do these steps!

The Raspberry Pi’s mounting holes sit fairly close to some components. Close enough that we can’t just spin a nut down into place to secure the board, because the components interfere. There’s a trick to making this work…

Instead, set a nut on the tip of one screw, and observe how it bumps up against nearby parts (such as the end of the GPIO header). You’ll always find some orientation of the nut where it clears all the parts. Hold it in this orientation, then tighten the screw up from the bottom. The board will then be neatly sandwiched between the two nuts!

On the Pi Zero especially, you’ll need to do this just a few turns at a time, alternating between each screw…you can’t crank down each screw all the way because they bind as the board gets tilted.

Here’s how it looks when properly installed. Nuts are flush with both sides of the board, not pinching down on components. And the board is elevated at just the right height for the SD card slot and side cutouts to work.

If using a Pi Zero…

The left side of the Cupcade case has a cutout for the USB and Ethernet ports on the Pi 3 / Pi 2 / etc. If building with a Pi Zero, this leaves a big empty hole in the side.

This small piece, along with two screws and nuts, can be used to seal the hole. It’s not vital to the system’s operation, just looks nicer this way.

This guide was first published on Apr 04, 2014. It was last updated on Feb 21, 2014.

This page (Cabinet Part 1) was last updated on Mar 19, 2018.

Text editor powered by tinymce.