Learn to 3D Print: Retro Controller Raspberry Pi Case

This discussion has a more recent version.
edited October 2022 in 3D Printers

Written by @jbobo319

Raspberry Pi is known for it’s tiny but powerful computers.  You can do anything from making your own security camera to controlling your 3D printers with these little guys. I've had this one for a few years now and I’ve finally decided to give it a permanent job: retro gaming. I went ahead and installed RetroPie on it and I was off to the races (want to set up your own gaming Pi? we've got a guide for that)! But after a few sessions, I got a little bored with the stock case it came with and decided to design one with a little more flair. To go with the theme of retro gaming I went with an old NES controller. I'll break down my process for designing and printing this case, but if you want to print your own, you can get the files over here.

At the beginning of any design project, you need to take measurements of anything your project will be meant to interact with. In my case, that was the Raspberry Pi Zero W, and while I could have taken the measurements myself I found that there was already a model on the educational resource called GrabCAD. It’s free and easy to make an accountant start downloading dimensionally accurate models. 

Once the model has been imported to the design software of your choice, you can start modeling away. My favorite CAD is Fusion 360, as it's free for hobbyists and I can export files onto my home NAS (not just in their cloud). The first thing I did in the software was to create a basic box for the Pi to go into, taking into account the need to add tolerances for the toolless design to snap together properly. Then comes the fun part: actually making it look like an NES controller. I found a reference image, imported it, and scaled it up until it was fairly close to the size of the case. Once scaled you can use the sketch feature to draw the face plate design and extrude everything that would be black. Once completed, make certain to put a tolerance for the faceplate (for me it’s 0.4mm). You then use the already created sketch to extrude out the faceplate and then the buttons.

There it is, the design is done! Well, okay kinda. Finding the best orientation to print a design like this can be a bit of a pain. For the bottom and the face plate, things are pretty simple. Just chuck it into Cura (or your preferred slicer) and orient it so that the biggest side is on the build plate. With that said, however, the top is a bit more complex. We have 2 features that we don't want to ruin with those nasty little support pox: the snap tabs and the indent for the face plate. With that in mind, I put the top of the case on its long side and used both a brim and tree support. I used the Creality Ender 3 Pro (modded with a Creality BL Touch) with these settings:

Initial Layer height: .24mm

Layer height: .12mm

Initial layer build plate temp: 60° C

Build plate temp: 50° C

Hot end temp: 200° C

Print speed: 50 mm/s


Changed settings for lid


Build plate adhesion: brim

Enable support: yes

Support type: tree

That’s pretty much all there is to it! While your own project may have its own quirks and challenges, that's the basics for creating your own custom 3D print. And when you know the basics, there’s nothing stopping you from making whatever pops into your head!

Looking for more information about 3D Printing? We’ve got a 3D Printing Community, a whole section of 3D Printing How-Tos, as well as articles on How to Choose a 3D Printer, and an in-depth look at the differences between 3D Printer filaments. And if you can’t find what you’re looking for, don’t hesitate to post a new discussion and the Community will be happy to help!


We love seeing what our customers build

Submit photos and a description of your PC to our build showcase

Submit Now
Looking for a little inspiration?

See other custom PC builds and get some ideas for what can be done

View Build Showcase


If You Can Dream it, We Can Build it.

Services starting at $149.99