Skip to content

Designing 3D Printed Project Enclosures

3D Printed Enclosures

Project Overview

A guide to designing and printing custom enclosures for electronics projects. Covers parametric design in Fusion 360 / OpenSCAD, snap-fit joint techniques, ventilation, and material selection for different environments.

Design Philosophy

Every electronics project deserves a proper enclosure. A well-designed case:

  • Protects components from dust, moisture, and physical damage
  • Provides proper mounting for connectors and displays
  • Allows ventilation for heat-generating components
  • Looks professional on a desk or shelf

Tools & Software

Tool Purpose
Fusion 360 Parametric enclosure design
OpenSCAD Script-driven parametric models
PrusaSlicer Slicing for FDM printing
Bambu Lab X1C Primary FDM printer
Digital Calipers Precise component measurement

Key Design Principles

1. Snap-Fit Joints

Rather than using screws for every closure, snap-fit joints provide a clean look and easy assembly:

// Snap-fit cantilever hook
module snap_hook(length=10, width=3, thickness=1.2, hook=0.8) {
    union() {
        cube([length, width, thickness]);
        translate([length, 0, 0])
            rotate([0, 0, 0])
            linear_extrude(width)
            polygon([[0,0], [0, thickness + hook], [-2, thickness]]);
    }
}

2. Ventilation Patterns

For enclosures housing heat-generating components (voltage regulators, motor drivers), honeycomb vent patterns provide excellent airflow with structural integrity.

3. Tolerance & Fit

  • Interference fit (press fit): offset by -0.1mm
  • Sliding fit: offset by +0.2mm
  • Loose fit (removable): offset by +0.4mm

These vary by printer calibration — always print a tolerance test first.

Material Selection

  • PLA+: Indoor projects, low heat
  • PETG: Outdoor projects, moderate heat resistance
  • ASA: UV-resistant outdoor enclosures
  • ABS: High heat environments (near engines, etc.)

Example: Sensor Node Enclosure

For the ESP32 weather station project, I designed a Stevenson screen-style enclosure:

  • 12 horizontal louver fins for passive airflow
  • Internal snap-in mount for the PCB
  • Cable gland hole for the USB-C power cable
  • Sloped top to shed rainwater
  • PETG material for UV resistance
Parameter Value
Layer height 0.2mm
Infill 20% gyroid
Perimeters 3
Top/bottom layers 5
Support Tree supports where needed
Brim 5mm for large flat parts

File Organization

I keep all enclosure designs in a Git repository with the following structure:

enclosures/
  weather-station/
    v1.0/
      case-bottom.step
      case-top.step
      assembly.f3d
      README.md
    v1.1/
      ...
  keyboard-case/
    ...

This makes it easy to track revisions and share designs with others.