Snap Fit Enclosure

This enclosure is designed to secure the PyGamer PCB without any hardware screws. The PCB rests on bottom half with built-in standoffs. The top half features cutouts for the thumb stick, buttons and display. The two halves snap fit together and clamp shut. Features on the edges of the snap allow the case to firmly stay shut but also allow it to re-open.

Accessible Ports

The case features a notch near the top to allow access to the various ports on the PyGamer. There's access to the following ports.

  • MicroUSB port
  • MicroSD card slot
  • Reset button
  • Audio jack

Case In Hand

The case features a 1mm chamfer on the top and bottom edges to allow for comfort. The bottom fillets follow the contour of the rounded edges on the PyGamer PCB. The case measures in at just 12.8mm thick, making it slim, and it fits well in your pocket.

Parts

You can get the PyGamer Starter Kit or order the parts you want:

Adafruit PyGamer Starter Kit with PCB, enclosure, buttons, and storage bag
Please note: you may get a royal blue or purple case with your starter kit (they're both lovely colors)What fits in your pocket, is fully Open...
Out of Stock
Angled shot of Adafruit PyGamer for MakeCode Arcade, CircuitPython or Arduino.
What fits in your pocket, is fully Open Source, and can run CircuitPython, MakeCode Arcade or Arduino games you write yourself? That's right, it's the Adafruit...
Out of Stock
Angled shot of 10 plastic button caps colored reddish-orange, yellow, white, and black.
These Reese's Piece's lookin' bits fit perfectly on top of tactile buttons with 2.4mm square tops and give a satisfying 8mm diameter surface area for your fingers to...
$0.95
In Stock
Mini Oval Speaker with Short Wires
Hear the good news! This wee speaker is a great addition to any audio project where you need 8 ohm impedance and 1W or less of power. We particularly like...
$1.95
In Stock
Lithium Ion Polymer Battery 3.7v 350mAh with JST 2-PH connector and short cable
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This...
Out of Stock
Fully Reversible Pink/Purple USB A to micro B Cable
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also fully reversible! That's right, you will save seconds a day by...
$3.95
In Stock
1 x Starbond Super Glue
EM-150 Medium

Prerequisite Guides

If you're new to soldering and CircuitPython, we suggest you walk through the following guides to get the basics. 

3D Printed Parts

The parts in this kit are designed to be 3D printed with FDM based machines. STL files are oriented to print "as is". Parts require tight tolerances that might need setting adjustments. Reference the suggested settings below.

Transparent PLA

The top halve of the case was 3D printed with a translucent PLA filament. The top surface is only a millimeter thin, about 6 layers thick. This allows the silkscreen to show through the top! Check out the links to the filament used in this project below.

CURA Slicing

Parts were sliced using Ultimaker's CURA software and tested with an Ultimaker 3 and Flashforge Inventor II. The kit requires a minimum build volume of 150mm cubed. No support material is necessary for any of the parts. Double check parts are positioned in the center of the build plate before printing. 

Settings

Use these settings as reference. Values listed were used in Ultimaker's CURA slicing software.

  • 0.2mm Layer Height / 0.4mm nozzle
  • 0.38mm Line Width (inner & outer widths)
  • 40mm/s printing speed
  • 20% infill
  • Supports: No

Designing Things

The fusion 360 source file is included and features original sketches and feature timeline along with easily editable user parameters. The parts can further be separated into small pieces for fitting on printers with smaller build volumes. Note: a STEP file is included for other 3D surface modeling programs such as Onshape, Solidworks and Rhino.

Layer by Layer

Interested in CAD tutorials? Check out my playlist on YouTube – There's over 100 of them! My personal favorite is the snap fit tutorial for cases and enclosures. 

Braille Alphabet

You can make additional accessories for the Adafruit PyGamer like these for accessibility. These buttons are 3d printed with the Braille alphabet so folks can touch and feel the buttons.

3D Printed Braille Buttons

We made a full set of these button caps to press fit over the PyGamer switches. They’re printed flat side down with the stem facing up. All 26 buttons fit on the bed of the 3D printer and only took a half hour.

Slicing Sets

They’re printed flat side down with the stem facing up. All button covers fit on the bed of the 3D printer and only took a half hour to print a whole set. The button caps can be printed in a separate set. These were laid out with a bit of spacing between each cap.

Button Covers

The braille alphabet will be printed on little cover pieces and super glued on top. Each cover piece has it’s own set of dots so you can pick and place any letter you like. 

Installing Covers

While picking out the covers, it might be a bit tricky to make out the alphabet, so I suggest a cheat sheet. You’ll also need to be cautious of the orientation when placing the covers.

Just a small drop of superglue is all each key needs to bond to the caps (so be sure of your choice and orientation). Once you get them on, you can test out the button presses and get a feel for the dots.

Customize

The alphabet consists of dots in a 2 by 3 configuration. These dots are quite small, but we were able to fit them on buttons with a diameter of 9mm. I think it’s interesting how your well fingertips can sense such fine details like these little dots.

Bezel Installation

The bezel is designed to hold the screen in place. This prevents the bezel from coming off the display. In order to permanently attach the bezel to the case, we'll use super glue.

Apply Super Blue

The glue super we're using here is called Starbond medium - em150. This adhesive features a fine tip, perfect for precision application. Apply a very small amount to the edge of the bezel.

Apply Pressure

Reference the photo and match the orientations. Place the top half of the case over the bezel. Gently position the case with the bezel so the edges are lined up. This glue has a work time of about 30sec before curing. Once aligned, apply pressure to the edges.

Haze Free Curing

Super glue tends to haze up the surface of material. To avoid this from happening, apply a consistent amount of air to the parts – Use a desktop fan to keep the fumes away until the parts are fully dry.

Close It Up

Place the top half over the PyGamer PCB. Gently press down on the case so the thumb stick, buttons and screen are fitted through. Then firmly press the halves together to snap fit it closed. 

Button Caps

These button caps fit perfectly on top of the PyGamers tactile buttons. They feature 2.4mm square tops and give a satisfying 8mm diameter surface area for your fingers to press. 

Install Button Caps

The button caps snap fit on top of the square actuations. The PyGamer has A, B, Start and Select buttons. Pick your desired colors and snap them on!

Opening It Back Up

It's easy to open the case and get the PyGamer PCB out. There are snap fit indicators along the sides of the case. Use fingers to press on the edges and separate the halves. Start with the sides near the top. It'll pop open if both sides are done together.

Game On

Give the PyGamer a good gaming session to put the case through it's paces.

This guide was first published on Jun 12, 2019. It was last updated on Mar 08, 2024.