PI Zero Nes Controller

by tomvdb, published

PI Zero Nes Controller by tomvdb Dec 13, 2015

Design Tools


Use This Project

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

23083Views 1114Downloads Found in Toys & Games


I very much enjoy retro gaming and retropie has made retro gaming so much easier. This is my attempt at building a Raspberry PI Zero into a real NES Controller. The nes controller is wired onto the gpio and I'm using the gamecon_gpio_rpi software for interface to the nes emulator.

I decided not to dremel the back part of the controller, but rather design and print a new one with proper pizero ports.

Print Settings






Nothing fancy or difficult about this print :)



(1) Print Back Cover
(2) Hot glue pizero into case
(3) Connect nes controller wiring to gpio
(4) Setup Software
(5) Play Games!

More from Toys & Games

view more

All Apps

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

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

Great project. Unfortunately, it doesn't work for me. I tried 2 different NES controllers on 2 different raspberry pi zeros. No luck. The gamecon_gpio_rpi module will not load on boot. I've been following this instructables guide: http://www.instructables.com/id/RetroPie-Inside-an-NES-Controller/step5/Software-Setup/

Did anyone else struggle to get this working? if so what did you do to fix it?

Many thanks

Same problem here, controller works in emulationstation, but not in game. How do I uninstall SNESDev ? Do I make a clean install, and if so, how do I install ONLY gamecon_gpio_rpi driver ?

Does anyone know how i'd wire up a usb nes controller? the usb version only has 4 wires not 5

This looks like a fun project but due to the size I can not print on my makerbot mini? Does anyone know if a 2 piece option for this print?

Feb 9, 2016 - Modified Feb 10, 2016

There is a problem with the base plate design. Screw holes are too high and pi zero sd ready hits the nes controller chip. I used my dremel tool to adjust the height. Now, everything works find but I am having problems with the audio through HDMI. No audio on the NES Emulator. Any help?

Can you maybe also design a top half, or a full controller. But then with the micro HDMI port in the middle of the controller? And could you tell me how did you programm the controller when you soldered it directly to the pi zero? Is there an instructable for it?

Lots of interest for an instructable so I'll look into putting one together. I guess its possible to design the top half, but what would you do for the pcb and buttons ?

Can you tell me when the instructable is done? Because I really look forward to it!

you could salvage those from a old controller, but its more about that lose hole in the top half that could be closed. Was it also possible to move the holes more to the other side, so the hdmi port is in the middle. And i would love to see the instructable, can you post it here?

Awesome ! An instructable would be awesome too :D
Great job.

Will put one together :)

Yay !! Can't wait to learn from it ! :))


Yeah i would also love to see an instructable

I'd recommend getting a mini-hdmi to hdmi cable with a signal amplifier chip, e.g. Redmere. They are much slimmer and lighter.

Thank you. Not just for the make, but for the inspiration. I do have a couple questions.

I got a Pi Zero and installed RetroPie, installed gamecon_gpio_rpi and connected an NES controller to the GPIO as you've shown above.

All the actions work in EmulationStation, and also when tested with jstest, however when I am in the ROMs I am having less success.

Super Mario doesn't work at all, Contra will do the directional pad and A/B buttons, but not Select or Start.

Are you having varying success with different ROMs?

After reading a lot about NES controllers being either 3.3 or 5v I'm considering abandoning the NES pad and upgrading to the SNES.

w3ace - in reply to w3ace

Solved my problem, DO NOT install SNESDev unless you are using PetRock's GPIO Adapter. Working great now.

tomvdb - in reply to w3ace

Awesome, sorry for the late reply. I haven't used the SNESDev either, only the gamecon_gpio_rpi driver. Thanks for the information. If you printed the enclosure then please do post it :)

w3ace - in reply to tomvdb

I made one my version. I ended up making the design from scratch and didn't call it a remix because I didn't want to get caught by your creative commons declaration if I ever wanted to do something commercial with it. Thanks again for the great idea and inspiration.

RetroPiNES Zero - NES Controller with a Pi Zero running RetroPie
by w3ace
tomvdb - in reply to w3ace

Nice, looks good! :)

Would something like this work in an SNES controller? Can RaspberryPi Zero run an SNES emulator?

Hi, You would need to change the 3d printed design, but apart from that I don't see any reason it wouldn't work. Unfortunately I haven't been able to source a snes controller, but I want to still build it into a snes controller as well.

Very good man, could not be any simpler or effective.

Great low cost (probably lowest cost I've seen) emulation rig! Well done, sir... well done.

really nice!! but you should change a bit in the stl file to colver the old cable output in the remaining original part of the controller :)

Yes, that is still on my todo list :)

What screws do you use? Can you use the screws of the controller itself? And if not, how would I go about modding it to accept those screws?

Yes. It is designed to use the original screws from the controller.

You could add some M3 holes so that the Pi can be held down with screws rather than glue. That might add a little more bulk though. Really cool idea.

Screws out the back seems a bit rough though. But I can add in something that will hold the pi in place, without using glue. Will look into it :)

Do you have plans on one for a snes controller?

I want to. But Snes controllers are hard to find in SA :(

Here in the Netherlands they arent so hard to find, If you pay for it and could help me with perfectioning your nes case design, i could send one to you

That would depend on the cost. Our current exchange rate is making it very expensive to buy stuff outside of South Africa. But feel free to send me cost details of a controller and we can see if we can make a plan.

it wil be about 700 rand for the controller and shipping

Thanks, but yeah. Thats way to expensive. I'll keep on searching around here for one though :) Thanks for the effort.

Hahahaha no problem, i already thaught so, didnt thought the shipping was that expensive

Thats okay, i will look into it tomorrow.

This is by far the best original Nintendo emulator I have seen yet. Great job!

hehe, thanks. much appreciated :)