We've got a whole bunch of Raspberry Pi 3 Cases here at Core Electronics. From the Official Enclosure that's perfect for most uses, right through to the gilded PiBow Coupe from Pimoroni. All of the cases we see have one or two impressive features, but our problem was that none of them ticked all the boxes when it came to a case. We've set out to create our own case, using our Raspberry Pi Expert - Sam as the tester. We are going to be using the dimensions of the Raspberry Pi alongside Fusion 360 to create a case for our Pi that - we hope - will tick all the boxes for a 3D Printed Pi Case. To actually bring the case to life from the .STL files, we will be using a Lulzbot 3D printer. Let's get into it!
Step 1: Gathering Requirements
We are going to need to ensure that our Pi 3 Model B will fit inside of our case. To do this we grabbed the .DXF files from the Raspberry Pi Foundation. You can grab them yourself here. Other things we want to be available in our case:
- Space for heatsink and cooling fan
- Access to GPIO Pins Easy access to USB, HDMI, USB, microSD Card, RJ45 and 3.5mm Jack
- Holes in case to allow fan airflow Slot for CSI and DSI ribbon cables
- VESA mount capability (Decided on 75mm VESA Standard)
In our opinion, if a case had all of these features. You couldn't possibly ask for anything else. So with all these factors in mind, we will need to decide on some items to design around.
Step 2: Design Options
The Aluminium Heat Sink we decided upon is the beefy 30x30mm heatsink from DFRobot.
The Cooling fan we decided on was a 50x50mm Fan we saw in a littleBits fan module, we wanted something bigger than the typical 30mm fans you see in cooling packs for the Pi and this seemed to work perfectly.
Access to the peripherals will be done using the case design. We got the dimensions for the height of all the connectors from this handy PDF, alongside some Digital Calipers of course.
VESA Mounts are the rectangular patterns you see on the back of flat screen displays that are used to mount to walls and other places. We decided to make out Pi mountable to your screen using the same mounts, keeping it tucked away from your desktop. To get the dimensions and important specifications relating to the VESA mounts we used the Wikipedia entry for VESA Mounts (there's a great table there). We decided on 75mmx75mm VESA Mounts, however, there's always the option to change this later on. Or even possibly make a few different revisions for different sized VESA holes.
From past designs, I know that I need to allow for tolerances of around .5mm when I print parts (particularly holes in parts) with ABS, so that will be a part of my design considerations.
Also, we are going to be using the Core Electronics Logo as our fan vent holes. We converted the .png of the logo to a .svg file (vector graphics can be inserted as sketches in Fusion 360), we can go through that process a little later on.
Step 3: Creating the Model
First off, we will start by inserting our DXF of the Raspberry Pi into our design in Fusion. Essentially this will be a dimensionally accurate sketch of the Pi's components. Remember to insert it using one sketch per layer, though, that way you can turn off unnecessary sketches.
Now, using this information and the information in the PDF linked in step 1, you will have all the dimensions for your Pi Model B. All you need to do is build a case around it!
Personally, I chose to use the BOARD_OUTLINE sketch as the basis of most of my design. I created an offset of around .5mm (due to the tolerances required for 3D printing) and used that sketch dimension to build the case.
I designed my case in a top/bottom orientation and used some simple (really simple) clips to hold the two together.
I won't go through the step-by-step process of the design. However, I did take advantage of the 3D printer to design, reiterate, redesign and print my model a few times to make sure all the dimensions were perfect fits.
Step 4: Prototype and redesign
A few of the big issues I encountered with the design were:
- Initially, I created the micro-USB hole as a 'perfect' fit, however, the nature of most micro-USB connectors is that they have plastic housings. I made the hole 'countersunk' into the wall of the case so that I could easily plug in the official Rpi Power Supply.
- The HDMI plug on the Pi board needed a little extra space than I first anticipated from the specifications. I just widened that part of the model to accommodate.
- The microSD slot was particularly interesting. I made it so you could easily insert your SD card, however when I took another look at the design, removing the card was not so simple. To accommodate, I extended these parts of the model. The clip together mechanism of the design was a little confusing at first, with a few tweaks I got it to work well.
- I had to find the screw specifications for the VESA mount I designed. I found this to be an M4 screw, but the holes I designed were closer to 4.5mm wide.
- The design of the top of my case required some thinking, especially the section around the GPIO opening. I wanted to be able to access the GPIO as well as mount a 50mmx50mm Fan on top of the heat-sink. This took some prototyping to narrow down the best way to do it.
Step 5: Pretty it up
Once I had my design to a standard that would fit a Pi and allow reasonable access to the peripherals. I needed to manage the design considerations. I had added the holes for mounting the fans into the model of the top half of the case but hadn't fitted the devices yet. So I grabbed out a Pi, A heatsink, and the fan and got to work. I needed to use M4 Screws to fix the fan and they had to be at least 12-13mm long. Making the mounting profile was as easy as a few sketches on the inside of the case, ensuring the bored holes didn't show through on the opposite side of the case.
Step 6: Reprint without pesky warping
After I had touched up nearly the entire design to fit the Pi in really well and have holes for fan mounting etc, I decided I would reprint the case and try to avoid any warping while I was at it (probably should have done this from the beginning!)
I had to repair a blocked hot end on our Taz 6, and had to test out some new PLA filaments so I chose to use some PolyMaker PolyLite PLA on my new print. The reasoning behind it was to avoid warping, plus Lulzbot Green Filament just looks cool.
The result of this? A Lulzbot Green, Core Electronics Logo'd, Raspberry Pi case with all the bells and whistles!
This was a lot of fun to make, I found that the most difficult part of the entire thing was getting the dimensions on all the cut-outs just right. If you have any questions, feel free to get in touch and ask! I'd love to answer any queries you've got.