pi tin

[a project by alley cat engineering - jackw01 and soaporsalad]

the open source raspberry pi handheld retro gaming console

Get notified when kits are available Download STL files Download SD card image

Pi Tin Hardware

Important: Read through all the instructions thoroughly before building. This includes the software setup guide and the final assembly instructions for your chosen build option.

required parts

for 3D printed case version

for Altoids tin version

required tools and materials

for Altoids tin version

3D printing instructions

All parts except the button membranes should be printed in PETG or ABS with 0.2mm or 0.1mm layer height, using either a 0.4mm nozzle with 4 perimeters or 0.6mm nozzle with 3 perimeters. If using 3D printed buttons, they should be printed with 0.1mm layer height. The button membranes should be printed in 95A durometer TPU with 0.1mm layer height. If printing in TPU is not possible, a rigid material can be used, but the buttons will be louder and clickier and the rounded nub on the D-pad membrane may have to be trimmed as it is designed to compress slightly when printed in TPU.

All parts have a flat face and should be printed with this side facing down. All parts should be printable without supports on a well-tuned printer, but we recommend printing the case back and display bezel (3DP case version) or rear housing (Altoids tin version) with the “support on build plate only” option to achieve better quality counterbore holes.

Important: If using PETG, it is important to dry the filament before printing as these parts have somewhat tight tolerances and stringing or blobbing caused by wet filament can make them unusable.

STL files for all 3D printed parts can be downloaded here (ZIP file). They are organized in folders based on build variant and button type (3D printed or DS Lite buttons). Some parts have “x2” or similar at the end of the filename; this means that multiple copies of this part are required. There are separate versions of the faceplate for opaque and translucent materials - the version for opaque materials has a hole exposing the battery indicator LEDs.

The photos below show all the parts required for each build option, assuming 3D printed buttons. If using DS Lite buttons, the TPU button membranes (black) will look different.

3D printed parts for 3D printed case version

3D printed parts for Altoids tin version

All the parts shown in the photos were printed with a 0.6mm nozzle, using Bambu Lab PETG and PolyMaker PolyFlex TPU95.

1. solder the Raspberry Pi to the main PCB

Important: Use a conical or chisel type soldering iron tip that is narrow enough to fit inside one of the 40-pin header holes on the Raspberry Pi.

Before starting, apply a thin layer of flux to the array of 40 square pads on the Main PCB.

Mate the Raspberry Pi to the Main PCB as shown, with the blank side of the Pi facing upwards. Using small spring clamps or binder clips, clamp the PCBs together at the mounting hole next to Raspberry Pi pin 2 (circled) and the opposite corner of the Raspberry Pi, keeping the Raspberry Pi aligned with the outline on the Main PCB.

Important: Be very careful handling the PCBs until more than a few of the Raspberry Pi pins have been soldered as it is easy to accidentally rip the pads off the Main PCB.

Inspect the PCBs. If the Raspberry Pi is no longer aligned with the white outline on the main PCB or the two PCBs are not flush with each other where pin 2 is located, carefully reheat and reposition the solder joint. When the Pi is properly aligned, the white outline should be barely visible underneath the Pi in all three areas outlined below.

Important: The Raspberry Pi must be lined up exactly with the outline printed on the Main PCB. Otherwise, the PCB assembly may not fit correctly into the 3D printed parts. It is very difficult to correct any misalignment after more than one Raspberry Pi pad has been soldered, so it is critical to ensure that the PCBs are aligned after soldering the first pad.

Once the first solder joint is complete, continue soldering the rest of the 40 through-hole pads on the Raspberry Pi to the Main PCB using the same steps used for Pin 2. We recommend soldering the opposite corner pad next while squeezing the PCBs together tightly to account for any warping of the PCBs, then soldering the remaining pads working from the outside of the array inwards.

Important: The surface of the solder joints must be flush with the Raspberry Pi PCB. Any solder blobs or spikes that protrude from the surface may cause damage to the battery. Using enough flux should prevent this from being an issue.

2. test the solder joints

Following the diagram below, use a multimeter to test for continuity between each test point and the corresponding pad on the Raspberry Pi to ensure the Pi is soldered correctly.

If any pads do not show continuity with their test point, add more flux to the solder joint and melt the solder again, holding the soldering iron tip inside the Raspberry Pi plated hole for at least 10 seconds.

3. display PCB assembly

Before inserting the display FPC (flexible printed circuit) into the connector on the Display PCB, ensure that the black retention tab on the connector (circled in the photos below) is in the open position (not pushed into the white connector housing). Insert the display FPC into the connector with the contacts facing up. It should not require any force to insert the FPC. If it does, the retention tab is likely not in the fully open position.

Carefully push in both sides of the retention tab at the same time until it is flush with the connector.

Lift up the black retention flap on the display interconnect cable connector. Insert the cable with the contacts facing down and flip down the retention flap. The cable should be held in securely.

4. front panel assembly

Insert the buttons into the back of the front panel as shown. The A/B/X/Y buttons can only be inserted one way. The buttons should fit loosely; if using DS Lite A/B/X/Y buttons, the flanges of the buttons may need to be carefully trimmed with a craft knife or flush cutters.

Insert the speaker into the front panel with the contacts facing upwards and to the left (away from the D-pad).

If using 3D printed buttons, place the 3D printed TPU A/B/X/Y and D-pad membranes over the buttons as shown.

If using DS Lite buttons, insert the 3D printed TPU plugs into the A, B, X, Y, start, and select buttons and fit the D-pad membrane over the peg at the center of the D-pad.

5. functional test

We strongly recommend testing the functionality of the Raspberry Pi, Pi Tin PCBs, and display at this point. First, connect the display cable to the Main PCB following the same procedure used to connect it to the Display PCB. Connect the battery to the connector at the corner of the Main PCB and ensure there is no SD card in the Raspberry Pi.

Connect the Main PCB to a power source using a USB-C cable. The green LED should illuminate to indicate that the battery is charging. If it does not, either there is something wrong with the USB-C cable or power source, or the PCB and/or battery is damaged. Disconnect the USB-C cable and the battery.

Note: The green LED indicates that the battery is charging. It turns off when the battery is fully charged. The orange LED indicates that the battery voltage is low. The Raspberry Pi will automatically shut down when the battery is critically low.

Without connecting the battery, connect the USB-C cable and press the power button (the bottom-rightmost button, circled below). The display should turn on immediately and display a blank white screen. If it does not, the display is not receiving power. Double-check the display and cable connectors and all solder joints on the Raspberry Pi.

Note: The power button cannot be used to shut down the Raspberry Pi until it is properly configured in software. If the Pi is powered on without the SD card installed or without the software configured, both the battery and USB-C cable will need to be disconnected to power it off.

Disconnect the USB-C cable to turn off power.

next steps

Follow the software setup guide to install RetroPie on the Raspberry Pi and verify functionality.

Once you have installed RetroPie and verified that the hardware is working, continue to the final assembly guide for your build option.