Close
0%
0%

Pocket SNES

Miniature version of the Classic SNES Controller.

Similar projects worth following
242 views
0 followers
Greetings everyone, and welcome back! Today, I’ve got something fun and tiny to share—the Pocket SNES, a miniaturized version of the classic SNES controller, built entirely from scratch using Custom PCBs and 3D Printed Enclosure. This project has come a long way. I originally created an extra-large version powered by an XIAO SAMD21 Microcontroller encased in an extra-large Enclosure.

For the smaller version, I intend to use the RP2040-Tiny mini development board, which is an SMD or Module version of the Raspberry Pi PICO. This RP2040 Tiny Module was mounted on a controller-shaped PCB with Small SMD tactile buttons on one side and the RP2040 controller on the other. To improve the controller's grip, I added an enclosure attached to the bottom side of the PCB, making it comfortable to hold.

Despite its small size, the Pocket SNES works fairly well. We initially used the controller to play Broforce; we had to map its buttons to control our avatar or character. Basically, we can use this controller in any game; we simply need to map the keys.

Next, we tried this controller with our MAC Pi setup, and I played a few games on the PPSSPP emulator, including Moto GP 3 and Dead or Alive Paradise. In this case, we also had to map the controller in the PPSSPP Emulator settings.

Overall, this tiny controller works similarly to a standard-sized SNES controller, with 12 buttons. The best part about this project is that we can finish it in a few simple steps because it is just a PICO connected with 12 buttons.

DESIGN

We begin by creating the project's model, which was a major challenge.

We created an XL version before developing the Tiny version. The XL version has an unrestricted area, allowing for unrestricted component layout without regard for space.

In our Tiny version, the initial idea of assembling an enclosure and placing components inside proved impractical. Instead, I designed a PCB that accommodates all components on both sides, with a frame-like part attached to the bottom. This frame provides protection for the adapter board and improves user grip.

The SMD buttons are positioned on the top side of the PCB, while the right-angle tactile switch and the RP2040 Tiny Dev board are placed on the bottom. The USB adapter board is mounted on the back, secured by screw bosses integrated into the frame.

Once the model was finalized, we exported the mesh file for 3D printing using transparent PLA, allowing the onboard RGB LED to illuminate through the material. Additionally, the board’s DWG file was exported for use in the PCB editing process.

RP2040-Tiny micro development board

We are using the RP2040-Tiny mini development board, which is based on Raspberry Pi's RP2040 core. It includes a separate programming adapter board that keeps the type C USB port separate from the circuit, reducing overall thickness and size, making it easier for users to integrate into their projects.

In terms of technical specifications, it's essentially a Pico with an RP2040 microcontroller chip and a few modifications, such as the Onboard FPC 8PIN connector, which connects the module to the Type C adapter board, and the addition of Castellated holes or pads, which allow soldering directly to carrier boards.

We also have a WS2812B 2020 Package LED added on the board, which is connected to GPIO16.

Overall, this board shares its technical parameters with PICO 1, which includes the RP2040 Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz, 264KB of SRAM, and 2MB of onboard Flash memory.

For in-depth details about this Dev Board, you can check out its Wiki Page fropm the link below.

https://www.waveshare.com/wiki/RP2040-Tiny

As for where I got it, we got it from PCBWAY's Gift Shop, which is an online marketplace for getting electronics modules and dev board sensors at their genuine pricing, or you can get them through PCBWAY's Reward system known as beans.

Checkout PCBWAY's Giftshop from here

https://www.pcbway.com/project/gifts.html

PCB DESIGN

As previously stated, the PCB design for the Game Controller was truly simple; it is essentially an RP2040 Tiny Dev Board connected to 12 SMD Push buttons, each of which is attached to an RP2040 GPIO Pin. All SMD Button Terminals are linked to GND. When a button is...

Read more »

joy v17.step

step - 569.59 kB - 05/29/2025 at 13:31

Download

SCH.pdf

Adobe Portable Document Format - 105.37 kB - 05/29/2025 at 13:31

Preview

BPDY.3mf

3mf - 77.01 kB - 05/29/2025 at 13:31

Download

  • 1
    PCB ASSEMBLY-SMD SWITCH ASSEMBLY
    • We begin the PCB Assembly process by placing SMD switches on the top layer of the PCB. This is carried out by applying solder paste to each component pad one by one with a solder paste dispensing needle, in this case using normal  Sn/PB 63/37 Solder paste.

    • We use an ESD Tweezer to pick and install all SMD tactile switches.
    • We next pick up the circuit and place it on our Miniware Reflow hotplate, which heats the PCB from below up to the solder paste melting temperature, allowing us to solder all of the components in their proper locations.
  • 2
    PCB ASSEMBLY—RP2040 Tiny Assembly

    The RP2040 Tiny Assembly process differs slightly from the previous reflow process in that we cannot use a hotplate to heat the surface of the PCB since it contains SMD components on the top side, preventing us from using a hotplate to solder components on the bottom.

    • We use our soldering iron here; first, we dip the solder wire in flux before melting it on the first pad on the RP2040 tiny's footprint.
    • We use tweezers to pick and place the RP2040 in its location, then use a soldering iron to heat up the previously soldered pad. This will melt the solder and attach the RP2040 to its footprint.
    • We then solder the opposing terminals of the RP2040 Tiny, securing the module with its PCB Footprint. All that remains is to solder all pads with a soldering iron.
  • 3
    PCB ASSEMBLY—THT Switch Assembly
    • We install the THT switches from the bottom side of the circuit.
    • next we solder their pads from the top side of the board with a soldering iron.
    • Finally, we use a wire cutter to trim the THT Vertical Switch Pads that are visible from the top side.

View all 8 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates