Raspberry Pi 4B case

My latest crazy project is adding a Raspberry Pi 4B running OctoPi. Massive overkill, but a fun project to work on.

I'll need a case for the board I can put on or near the solidoodle, so I decided to design one in OpenSCAD to be easy to customize. My initial design uses a 60mm Noctua fan (more overkill) and has holes to glue in magnets so I can just stick it to the solidoodle case.

I made it all snap fit (though I have my doubts about how well the board will snap in, but it hasn't arrived yet, so I won't be able to find out about that for a while) so no screws required.

Here it is fully assembled:

Before adding the fan:

The two box parts:

The top has pegs up front that slide into notches in the bottom and a springy clip in the back to lock it down. It seems very secure, no rattling around or falling apart when pulling on it.

The push fit grill for the fan:

The actual board won't arrive till later this week, but I couldn't resist going ahead and printing everything. I'll find out if that was a mistake when the board gets here.

I've put the current files up on thingiverse as Raspberry Pi 4B case

My board finally arrived, and there is only one problems with this design: There is no way to get the board into the case :-).

Time to modify the design a bit. I'll slice off the side where all the ports are, leaving an opening with beveled edges. Then I'll make the side part a separately printed piece with mating bevels as well as a couple of new interior struts so clipping the top on will hold it down, and a slot in the struts to grab the edge of the board. That should allow everything to slot together and be held in place securely.

In case that isn't secure enough, I'm swapping out the standoff pins with standoffs that have a 2mm hole and an M2 nut trap on the bottom (in case I think I need to more positively lock the board down).

OK, the new case bottom and side are printed and this design worked much better, I can shove the side piece onto the edge of the board, then slide it and the board straight down. Once that is pushed all the way to the standoffs, I can clip the same old top on and everything is secure. Once again no rattling or falling apart, so no need for the M2 bolts.

One additional problem I found was the sdcard opening wasn't high enough because the bridge printed across the top sagged enough to prevent the card from going in. I just filed it down, but I'll also change the model to make the opening a bit higher so it shouldn't be a problem when printing another copy.

I also had to do a bit of light filing on the side piece to get it to fit really well, but nothing that seems worth changing in the model.

Here are all the parts:

The new side pice fits on the edge of the board like so:

Then the board and the side piece can be shoved straight down into the case:

It is slightly simpler to connect the fan power before putting the top on:

With the top on, everything is secure and held by the clip:

Here is the new case plugged in and working:

I put individual connectors on each fan wire, and have +5 (yellow) and Gnd (black) plugged into corresponding gpio pins to provide power for the fan (which is spinning away nicely). I also added connectors to the PWM and Tachometer signals in case I get ambitious enough to hook them up someday for controlling the fan (but I'd need extra 3.3V <=> 5V circuitry to make that work, so I doubt it will happen anytime soon).

 

Turns out the short HDMI adapter cable I ordered had an even bigger shroud on the plug than the long cable I had previously measured, so along with all the other changes, I made the HDMI connector holes bigger.

I've now glued in the magnets after drilling out the holes to exactly 1/4 inch:

Stuck it on the back of the solidoodle, plugged in the solidoodle USB cable and the power supply. I have the solidoodle power and raspberry pi power both connected to the same Z-Wave appliance controller, so with the click of an icon I can turn them both on or both off:

Turning them on, I can manually control the solidoodle from the web interface, so everything seems to be operational.

I found the cura to octoprint plugin and it seems to work. I found octoprint plugins for the dashboard and a pretty gcode viewer, and they seem to work (once I enabled hardware acceleration in google-chrome), I printed the little string test I used when doing calibration and cura was able to send it directly to octoprint where I could watch the animated viewer, so everything seems to be working just like I want it.

Go back to my main Solidoodle page.

Page last modified Sat Nov 20 15:51:00 2021