RetroPie Zero NES Controller

by bfesser, published

RetroPie Zero NES Controller by bfesser Jun 20, 2016

Verified Files

Design Tools

Tinkercad Inkscape Autodesk Fusion 360 Autodesk NETFABB

A part of these Groups

View All

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

18008Views 2023Downloads Found in Video Games


This is my design of a replacement back for an original Nintendo gamepad, for use with a Raspberry Pi Zero V1.2, Raspberry Pi Zero V1.3 (camera), or Raspberry Pi Zero W V1.1 (wireless) running RetroPie. I've designed this for genuine NES-004 controllers, so it's probably incompatible with the modern 'retro' hardware from China. This isn't strictly a remix, but I like to credit those who came before me.

Print with support inside the recesses for the case screws, and depending on how well your printer handles bridging, inside the port openings. I recommend PLA with 0.4mm extrusion, 0.18mm layers, 2 perimeters, 25% infill. Taking the outermost perimeter slowly will reduce ringing artifacts on most printers, for cleaner port labels and mushberry.

My favorite cables to use with this:


Zach from howchoo has written an excellent project guide:
GamePad Zero: a Raspberry Pi Retro Gaming Rig inside an Original NES Controller

Thanks, Zach!

If the audio isn't coming through to your TV, run the following command:
sudo sed -i '/hdmi_drive=2/s/^#//' /boot/config.txt

How I Designed This

Designed from scratch in TinkerCad, you can modify it here:

Fusion 360 version:

Some of my design considerations (not nearly comprehensive):

  • simplicity, rigidity, comfort
  • HDMI output near center so it's not awkwardly weighed down on one side
  • proper support for PCB under buttons gives the best tactile feel and durability
  • assembles without modification to original case top
  • compatibility with either revision of the Pi Zero
  • thicker than original controller; more comfortable for adult hands
  • edge and corner radii matched to original case
  • precise off-the-print-bed fit to top-half with no trimming, sanding, etc.
  • stainless Torx screws; not inferior Phillips drive [original screws are JIS, not Phillips]
  • clearly labeled ports for friends and family who aren't RasPi-holics
  • 'Mushberry' RetroPie logo, because it was perfect and the new one sucks
  • durable enough for my 3 and 4-year-old nephews

Legal Notice

ROMs & Emulation

The boneheads at Nintendo consider any duplication of their ROMs to be illegal, so what you do with this thing is up to you.


That being said, it's compatible with NES, Game Boy, and Game Boy Color games — those requiring only two buttons and a D-pad.

Some free (legal) NES games to get you started [my favorite is Alter Ego]:

Model & Design File Licensing

I've released this model and the design files under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license. Please respect the license; I've put countless hours of work into refining these models. Also, if you happen to see this thing for sale anywhere, please let me know in the comments.

More from Video Games

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Which one of the 3 is the best? Should I use the "fusion360_mushberry.stl"???

The Fusion 360 files are the better, of the three. fusion360_mushberry.stl should be sliced with supports turned on.

Thank you.

Chiming in with the crowd to let you know how awesome this design is, and how double-awesome a SNES version would be.

Thank you for sharing. I dont know if my current pi will fit this but i think ill make it just because :-) Thanks again!

By far, one of the most elegant and well thought out PiZero emulation platforms. I've been looking to enjoy RetroPie in a portable package with an oem controller, this did not disappoint. 15 minutes to assemble, comfortable in the hands.
Would donate for SNES/SEGA.

Butter Pig aside, this has been my most exciting print.

Thank you so much for the kind words! I'd love to see photos of your controller. :)

SNES/Sega progress has been slow, but not abandoned.

Just wanted to say I agree with all 9600's complements and +1 their request for an SNES version.
The fact that this build retains and uses the original buttons and switches is fantastic!

The only thing that could possibly improve upon the design is adding a way to connect an unmodified NES
or SNES controller into it so player 2 could also use a classic OG controller.

Thanks for publishing this!

Thank you for the feedback.

These should provide for the second controller:
I can't think of a more streamlined method for original hardware.

That works!

Will this and the wiring line up with a 3rd party replacement controller, like the tomee?

I used this for my build off the newer USB controllers, and yes, it does fit. I had to remix it to add a hole for the switch, but otherwise it fit perfectly.

Thanks!! Appreciate the heads up.

I'm unfamiliar with that brand. It's unlikely to work without modification to support whatever shape PCB they use. Source files are linked in the "How I Designed This" section.

TinkerCad: https://tinkercad.com/things/1mLws3kjBLr
Fusion 360: http://a360.co/2i62ytA

I hope this helps. :)

Thanks! I was able to get my hands on an original controller and this fit perfectly.
Side question, what did you use to connect the PiZero to WIFI when running RetroPie? I purchased a wifi dongle from Edimax and have had no luck.

Thanks in advance!

Jan 31, 2017 - Modified Jan 31, 2017
bfesser - in reply to KyleMohr

I've used these:


What does your /etc/wpa_supplicant/wpa_supplicant.conf look like?

[edit] Also, try a different power supply to the RasPi, to be sure insufficient power to the WiFi isn't the cause of your problems.

Thanks!! This was a big help. I'm actually using the Edimax N150+Bluetooth: http://amzn.to/2keUz01

Ended up getting it to work by downloading the drivers via tethered internet from a phone through usb connected to the hub.
A little backwards, and definitely not plug N' Play, but working now none the less.

Appreciate the help and great design! Looking forward to the Sega Genesis and SNES versions!!

Would love to see a SNES version of this.

The curvy geometry of the SNES controller is an order of magnitude more challenging to reverse-engineer than the simple rectangular NES controller. Once I'm competent with Fusion 360, I'll be working more on the SNES and Sega controllers. Thanks for the feedback; just knowing that someone would want the thing is a helpful motivator.

Oh, I understand that. I think someone has already reverse-engineered the stock SNES controller elements as Thingiverse files already. Could you work from those? Project #337896


SNES controller
by srepmub

I've seen that thing before, but I've been hesitant to work from it—I've been dissatisfied with the precision of reverse-engineering done by others in the past. I'm also not very good with SCAD, but I'll give it another look.

Excellent job with this. It fit perfectly on my controllwer

Thank you very much for the comment and tip; both are greatly appreciated! I'm glad to hear of your successful build, and would love to see a photo. Enjoy your retro-gaming! :)

hey! Definitely would love to see these cases on a sega genesis/megadrive controller.

Hi, Bryan; thanks for the comment! I'm hoping to do a Sega version as soon as I learn Fusion 360.