Designing 3D Printed Project 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
Print Settings¶
| 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.
