Enclosures – 3D Printing’s Killer App (Part 3 – Designing Enclosures with Front Panels)

Clam shell with faceplate part2

In Part 1, I discussed how 3D printers are the perfect tool for prototyping and doing small runs of electronics enclosures and also identified CAD techniques as the main bottleneck to realizing the potential of 3D printers for making enclosures.

So, in Part 2, I did an in-depth tutorial on how to design and print a simple clam-shell style enclosure with the emphasis on the CAD design techniques and the end-to-end process of going from a blank page in CAD to having a physical object to hold in your hand.

In this Part 3, I’m extending the CAD-focused theme and up the ante substantially by showing you how to design a clam-shell style enclosure with a removable faceplate and front panel that has connectors protruding through the face plate.   As always, the design has to be printable so there’s a proof-point by 3D printing the resulting design and, as previously offered, the design files are all available on Thingiverse so you can download and print them directly or play with the designs and modify them at-will if you have ViaCAD.  The 3D print will be handled by my trusty LulzBot AO-100.

As before, the objective isn’t that this enclosure is specific to a real-world board, but the main objective is to show you what the process is to create an enclosure for an arbitrary PCB with connectors.  That way, you can adapt these techniques your specific board and hopefully, the tutorial will be much more useful to you.   There are many other details involved in making a real-world enclosure that we’ll get to in future tutorials, but just trying to make the first major leap from a simple clam-shell to an enclosure that has real functionality.

There are two videos in this tutorial – a part 1 and part 2 because the overall tutorial video was longer than was feasible to upload in one continuous video to YouTube.   So, this is Part 3 of the series of creating enclosures but has a 2-part video to show how it’s done.

The use-case starts with an arbitrary PCB I made that looks like this and has a DB9 and RJ45 connector on the board that we want to expose through the front panel of the enclosure.  


The task is to wrap this PCB in an enclosure exposing the connectors on a removable front panel as shown in the image above.

Without further ado, here are the two tutorial videos for this article:



Here are a couple of shots of the enclosure as it was 3D printed on a LulzBot AO-100.   I used a 0.35mm nozzle, .5 fill density and 0.25mm layer height to print this.  Also, I 3D printed the front panel, but it could just as well have been laser cut and depending upon use, may be better laser cut.



The faceplate was modified slightly after it was solid subtracted so that it would be thinner.  When you do a perfect solid subtract in CAD, then print the parts, the parts aren’t a perfect rendering, of course.  It’s critical to help parts fit together by adding a little bit of wiggle room for them, so I thinned down the faceplate after it was subtracted from the enclosure but before it was printed.



On a normal enclosure prototyping effort, after the first test print like this, the physical work begins: fitting it to the physical PCB, tweaking the fit and finish.  For example, because there’s some overlap in the layer height, etc, the DB9 screw holes were not large enough for a typical DB9 connector.  You can either make them larger in the model in CAD, or simply ream them out with a drill bit later (depending on how many of these you want to make.)  

Also, the faceplate itself was too thick after the first print to easily slide into the slots created by the solid-subtraction process shown in the video.  So, that got thinned down as a result – STL file updated on Thingiverse.

So, while this enclosure is in printable shape and can give you a good idea of the physical size and look it would just be the starting point for a refining process.  Nonetheless, this gets  you through a major part of a real enclosure design.

When I first slotted the faceplate into the shell, it was clear I attempted a too-perfect fit:

Misfit faceplate

For this first print, I simply belt sanded the edges of the faceplate much like you would if you stamped the faceplate from sheet metal – you debur it.   In essence I deburred the faceplate and then got a nice fit like this:


Since this is an enclosure for a fictitious PCB, if anyone really wants to refine this print, be my guest, but I will plan to leave it right here so you can see what the current state of the parts are and where they would need to go if this were a “real” enclosure design effort.

Download source files

Files are available on Thingiverse for downloading

Other articles in this series:

Part 1 of this series

Part 2 of this series



  1. Hugh Johnson says:

    How do you plan on attaching the two halves together acetone or glue or something? Or will you design a connector of some sorts?

    • landon says:

      Good question…the short answer is – it’s not done yet and needs more features.

      I have a tutorial in the works that will start dealing with all the details of enclosures such as feet, standoffs/bosses, latches, battery compartments, and of course, fastening approaches to attach the parts.

      For this tutorial, I didn’t want to get into all that quite yet as it would have made it too long.

  2. frans.geeraert@neways.nl says:

    Thanks for the tutorial. Another question, which version of viacad do you use? Because its has been a long time since viacad did get an update.

    • landon says:

      Version 8.0.3 (Build 1016). I bought various copies of it over the last couple years, but this one came from the Mac App store. You’re right, they don’t update it very often. Mainly I wish they’d improve the rendering. In lieu of that I bought Strata Design 3D to do photorealistic rendering when I need that…I think it works quite well for raytracing, etc. The nice thing about ViaCAD too, besides its low cost, is it’s multi-platform. So, I use it on a Windows box when I need to print to my laser which has drivers only on Windows.