Skip to content

Yet Another Raspberry Pi Case (YARPiC) Customizable

Advertising
Advertising
?
Creation quality: 5.0/5 (1 vote)
Evaluation of members on the printability, utility, level of detail, etc.

  • 1k views
  • 10 downloads

License
3D design format
Folder details Close
  • YARPiC-20210131-master.zip
    • LICENSE.txt
    • README.md
    • examples/Octo_Pi/corners/OctoPi_corners_bottom.stl
    • examples/Octo_Pi/corners/OctoPi_corners_top.stl
    • examples/Octo_Pi/corners/OctoPi_corners_top_text.stl
    • examples/Octo_Pi/corners/README.md
    • examples/Octo_Pi/non-corners/OctoPi_bottom.stl
    • examples/Octo_Pi/non-corners/OctoPi_text.stl
    • examples/Octo_Pi/non-corners/OctoPi_top.stl
    • examples/Octo_Pi/non-corners/README.md
    • examples/README.md
    • examples/RPi_3_A_plus/README.md
    • examples/RPi_3_A_plus/yarpic_bottom.stl
    • examples/RPi_3_A_plus/yarpic_text.stl
    • examples/RPi_3_A_plus/yarpic_top.stl
    • examples/Tinker_test/README.md
    • examples/Tinker_test/yarpic_bottom.stl
    • examples/Tinker_test/yarpic_text.stl
    • examples/Tinker_test/yarpic_top.stl
    • maths/yarpic_model.scad
    • yarpic_customizer.json
    • yarpic_customizer.scad
  • yarpic_pi3_basic.stl
  • yarpic_pi4_basic.stl

Learn more about the formats

Publication date 2023-12-09 at 17:27
?
Published to Thingiverse on: 2019-03-03 at 00:55
Design number 1632306

Tomsc

3D printer file info

3D model description

[UPDATE: 31/01/2021]

Goddammit! Another update for January 2021. While playing around, trying to make a double fan top for one of my Pis, I noticed that I borked the dc_text intersection in the last update, meaning the grill went through the dc_text (and made rendering dc_text so much slower).

Here are the changes:

Fixed dc_text fan intersection.
Removed leftover code used for internal testing.

This really is the last update of January 2021... mainly because I probably won't notice any other bugs until tomorrow.

[UPDATE: 30/01/2021]

Okay, I lied. This really will be the final update of January 2021 (and for a while).

Added the option for double fans (some restrictions apply), which was suggested by Thingiverse user Muga.
Changed the camera cutout slightly (you can't have it when you have double fans).

That's it. No more updates until my big overhaul.

[UPDATE: 28/01/2021]

This should be the final update of January 2021 (and for a while).

Here's what's changed:

Moved all hinge parts into modules.
Created a test part for hinge so you can dial in horizontal expansion settings without having to print out a whole case.
Refined hinge slightly.
Added cutout for camera ribbon cable. (Suggested by Thingiverse user Gregkster.)
Updated .json file.

Future updates will come few and far between. I have some ideas; however, they'll take some time and will likely require a complete redesign.

[UPDATE: 25/01/2021]

Today, I bring you the long-awaited hinged cover for the microSD card slot. It's still experimental, and you may need to adjust your horizontal expansion settings in your slicer software. It is rather slap-dash at the moment, so it increases render times by between 20 and 25% compared with the "Open" option, but I will refine it over time.

Here are all the changes:

Changed sd_card options to include the hinged cover. ("Yes" is now "Open", "No" is now "Closed", and added "Cover (experimental)" for the hinged cover.)
Updated the .json file.
Minor bug fixes.

In the next update, I hope to refine the microSD card cover enough so you can print out a test of it without having to waste time and material by printing out a full case to get your horizontal expansion settings dialled in. I might also add an option for a camera ribbon cable cutout in the top of the case as well as camera mounting options; however, they're low on my priorities list right now.

[UPDATE: 21/01/2021]

Just a small update, with no new features, but tidied up the code.

Here are the changes:

Ports for different models merged together. (Using mostly inline conditionals, but some nested conditionals where needed.)
Moved front and side ports into separate modules. (So you don't have to render ports twice when new_io is set to "yes".)
Using inline conditional for building the main body of bottom() instead of nested conditional. (Had already done this for top(), but never got round to doing it for bottom().)

In all, 109 lines of code have been removed in this update.

Still working on a hinged cover for the microSD card. Might commit that to a new branch tomorrow.

[UPDATE: 13/01/2021]

It's been a crazy 9 months. Happy new year. Hope you're all doing well. Most of my time was spent doing nothing with YARPiC; however, over the last 2 months, YARPiC has gone through quite a few revisions that I've been too busy to finalize and upload (or "commit" as I think I recall it being known as on the GitHubs).

Anyway, here are the changes:

Option of a deeper side cutout to give better clearance to HDMI (because the Pi has to go in sideways with this option, I've added a cutout at the back when sd_card option is set to "no" to give clearance; if sd_card option is set to "yes", you can just insert the microSD card after installing the board) (only tested on Pi4B with corners option set to "yes"; might be some clearance problems with Pi3A and Pi3B with corners option set to "no" (I've tried to mitigate it, but, again, I haven't tested it)).
Tapered board screw holes when corners option set to "yes" to better guide screws.
(Almost) complete freedom to manipulate text; text can be moved anywhere and rotated any amount (in 0.5 degree increments); spacing between two lines of text can be increased or decreased; text can even be printed in the fan grill, but it won't cover the screw holes.
Added option for rail mounting from rear (SD card side) of the case for better clearance when mounting to Prusa i3 printers.
Option for cooling slots along the GPIO side of the case, as well as both the SD card side and GPIO side (untested).

I think that's everything that's been changed. Might have moved the USB and ethernet slightly, but nothing major. Oh, and I finally got round to sorting out the indents (that was a pain in the arse).

In the next update, I'll probably just tidy up the ports, which should get rid of between 50 and 70 lines of code. I was also working on a hinged cover for the microSD card; however, it was getting a bit too demanding, so I put that on hold; maybe that will be in the next update as well.

[UPDATE: 21/04/2020]

Small update. Here's the changes:

Removed the restriction for rail and corners together.
Added embedded screw hole to the rail.
Added new corner/rail combination to examples.
Changed the lip on the top of case so it no longer uses the Minkowski function (cuts about 2 seconds off the render time).

[UPDATE: 12/04/2020]

All the customizability you've come to expect from YARPiC, but now in a smaller form factor. Here's what's new:

Added support for the Raspberry Pi 1 Model A+ and 3 Model A+.
Lots of translates to make A+ work smoothly.
Added option to fully embed screws on fans and/or corners.
Removed most unused code.
Tidied up code (especially most of the misplaced indents caused by commenting out sections of code).

As always, feedback would be much appreciated.

[UPDATE: 30/03/2020]

Minor update.

Merged part translates from "touchscreen" branch because they're cleaner.
Merged GPIO/fan translate from mkgin's fork because it helps remove redundant code.

[UPDATE: 12/03/2020]

Another small update.

Redesigned nut trap for corners.
Fixed corner impinging on front cutout for Pi4.

[UPDATE: 09/03/2020]

Just a small update. I've tweaked the edge_detection function for "dc_text" and made it default. It doubles render times for dc_text (when set to bevelled), but that comes out at 6 seconds (much better than the 38 seconds in the last update). Unfortunately, when bevel is set to "no", it comes out at 16 seconds for reasons that I don't fully understand because it's completely illogical (it's still better than 38 seconds). As a result, if your text doesn't extend beyond the edge of the case, I recommend rendering dc_text with bevel set to "yes", even if you don't have bevel enabled on the case.

[UPDATE: 08/03/2020]

Lots of changes in this update.

Bevelled side cutout (power, HDMI, audio) to make printing easier.
Larger micro HDMI cutouts for Pi 4.
Option to remove access to SD card (suggested by @mikegi).
Moved corner nut housing up a bit (M3*16 bolts can be used instead of M3*20), made slightly wider (so nuts fit in better), and added a hexagon (so it holds nuts in place better).
Added supports for corner nut housing roof (can easily be removed in post processing with side cutters or a craft knife).
Added a full layer above corner nut housing as support for screw hole (can easily be removed in post processing with a drill, file, or even just a screw if you're lazy (like me)). (Can be adjusted for different layer heights.)
New embedded screw holes on top of case with corners set to "yes". (I.e. no more need for supports.)
screw_hole variable now sets the screw hole size for the stand offs when corners is set to "yes". (Was overlooked before because I never print with corners any more.)
Dual colour text edge detection. Now the text can extend beyond the edge of the case and dc_text will conform to it. (Must be set manually because it drastically increases render times.)
Minor code refinements to help reduce render times.

I think that's all the changes in this update.

Again, Thingiverse isn't giving out the correct file in the main download, so go to Thing Files and download YARPiC_March_2020.zip to get the most recent version.

[ORIGINAL]

I couldn't find a Raspberry Pi case that I liked or that met my needs, so I made one myself.

My basic requirements were:

Could house an Asus Tinker Board with stock heatsink
Could house a 40*40*10 fan as well
Used nuts and bolts (since clip together cases always break)
Not too thin and flexible (too many cases on here have, like, 0.5mm thick surfaces, which is just too flexible)
Could fit my chunky Amazon Basic USBs
Didn't look like it was trying to be a retro console (the most important thing)

After a couple of hours in OpenSCAD and a few prototypes later, I give you YARPiC.

To properly use it, you will need:

4 x M3*16 bolts (for the fan)
4 x M3*20 bolts (for the lid)
8 x M3 nuts (for the fan and lid)
4 x M2.5*5 screws (for the board)
1 x Raspberry Pi (1 B+, 2 B, 3 B, 3 B+) or Tinker Board (or any SBC with the same form factor)
1 x 40*40*10mm fan (ideally 5V; I went for the Noctua one)

Tree supports in Cura are awesome, but they're not perfect, so you might need to tidy up the nut housing; I used a craft knife, small circular file, and a pair of tweezers to get it looking nice.

[UPDATE: 15/03/2019]

I've included a customizable OpenSCAD file, so you can customize YARPiC to your needs.

What you can now do:

Change fan size.
Add slot for GPIO.
Bevel the edges.
Add exhaust slots.
Add embedded text.
Add dual colour text.
Change wall size.
Render bottom, top, and text separately.

If you have any questions, complaints, or suggestions, feel free to leave a comment.

[UPDATE: 19/03/2019]

I wanted to mount this case to my printer because I wasn't happy with the case I had. As a result, I had to find a way to add a V-slot rail to it, which meant I had to get rid of the corner screws and find another way to fix the lid in place. Thus, I give you "YARPiC No Corners". This is the intermediary stage (without the V-slot rail), and a preview of things to come.

What you'll need:

4 x M3*16 bolts (for the fan)
4 x M3 nuts (for the fan)
4 x M2.5*8 screws
Raspberry Pi
40*40*10mm 5V fan

Again, you will need to slice with supports (ideally tree supports in Cura) so that the embedded screw holes don't collapse when printing.

In the coming days, I will add the alterations to the customizer so you can add text, change fan size, add V-slot rail etc.

[UPDATE: 23/03/2019]

As promised, here's the updated version of the YARPiC customizer so you can make YARPiC without the corner screw holes.

Here's what's new:

Option to remove the corner screw holes and add through-board screws for the top.
Add V-slot mounting rail for 3D printers that use 2020, 2040, 4040 extrusion. (NOTE: V-slot cannot be used with corners.)
Up to two lines of text.

Bug fixes:

Fixed bevelled edge with GPIO set to "yes".

As always, I hope you enjoy, and look forward to seeing your creations. If you have any questions, suggestions, or complaints, leave a comment.
[UPDATE: 04/04/2019]

Did someone say "VESA mounts"? Okay, no one said "VESA mounts", but I decided to add them anyway.

Updates:

VESA mounts.

As always, if you have any complaints, comments, or suggestions, leave them in the comments.

[UPDATE: 02/04/2019]

Bug fix:

Increased the size of screw holes from 2.6mm to 3mm to reduce stress on (and subsequent breakage of) the top when "corners" is set to "No".
Fixed screw towers going through text on lid.

[UPDATE: 25/06/2019]

Added support for the new Raspberry Pi 4 Model B. This is untested. While I do have my Pi 4, all my printers are out of action at the moment. As a result, feedback would be greatly appreciated.

[UPDATE: 22/08/2019]

My main printer is working again, so I've been able to work on this again.

Change log:

Modified fan grill to decrease render time (by up to ~43%) and increase airflow (~6.5% better cooling)
Smaller power port when Pi4 is set to "No"
Deeper screw holes on the bottom
Modified top mounts to make them stronger
Added screw hole test

Things I still have to do:

Rewrite the entirety of the top of the case because the code is a mess and drastically increases render times.

[UPDATE: 25/08/2019]

I notices there was a problem with the standoffs breaking (caused by the deeper screw holes bug fix in the last update), so this is a quick bug fix for that.

Changes:

Changed diameter of standoffs from 6mm to 8mm to stop breakage. (Untested, but should work)

[UPDATE: 06/09/2019]

Right, I've done a massive overhaul. Here are the changes:

Removed the reliance on the third-party bevel library for the bevelled edge option
Fewer, larger cooling slots on the back to increase airflow slightly
Embedded screw holes that no longer need supports
Added cutout for easier insertion and removal of Pi4

I think that's all the changes. As always, feedback would be much appreciated.

[UPDATE: 18/09/2019]

I finally installed OpenSCAD 2019.05 and discovered the amazing Customizer in there, so I've made yarpic_customizer.scad compatible with that. I think it makes my code more of a mess, but it makes it easier to use with the built-in Customizer. And, with it, I've included a .json file with some pre-configured YARPiCs (including the one I use to test render times).

Speakin

Advertising


Issue with this design? Report a problem.

Would you like to support Cults?

You like Cults and you want to help us continue the adventure independently? Please note that we are a small team of 3 people, therefore it is very simple to support us to maintain the activity and create future developments. Here are 4 solutions accessible to all:

  • ADVERTISING: Disable your banner blocker (AdBlock, …) and click on our banner ads.

  • AFFILIATION: Make your purchases online by clicking on our affiliate links here Amazon.

  • DONATE: If you want, you can make a donation via Ko-Fi πŸ’œ.

  • WORD OF MOUTH: Invite your friends to come, discover the platform and the magnificent 3D files shared by the community!


Sharing and downloading on Cults3D guarantees that designs remain in makers community hands! And not in the hands of the 3D printing or software giants who own the competing platforms and exploit the designs for their own commercial interests.

Cults3D is an independent, self-financed site that is not accountable to any investor or brand. Almost all of the site's revenues are paid back to the platform's makers. The content published on the site serves only the interests of its authors and not those of 3D printer brands who also wish to control the 3D modeling market.

100% secure payment by credit card, PayPal, Apple Pay, Google Pay, etc.
View all payment options.