Network-connected 3D print server
My 3D printer lives in a corner of my workspace, which is not where my computer lives. The stock workflow — plug in a USB drive, walk over, confirm the print, walk back — turns every print job into a small errand. I wanted to fix that without buying a new printer.
The result: a Raspberry Pi 4 running OctoPrint, mounted in a custom PETG enclosure I designed in Fusion 360, connected to the printer over USB and to the rest of the house over ethernet.
Why OctoPrint
OctoPrint is the de facto open-source print server for FDM printers. It exposes a web UI and a REST API, supports webcam monitoring, and has a mature plugin ecosystem. The only thing it doesn't come with is hardware — that's where the Pi and the enclosure come in.
Designing the enclosure
The Pi 4 runs warm under print load, so the enclosure needed ventilation without being ugly. I modeled a vented shell in Fusion 360 with a honeycomb side panel, a recessed channel for the USB and ethernet cables, and a friction-fit lid so I can access the SD card without a screwdriver.
- Material: PETG — better heat tolerance than PLA, less brittle than ABS
- Infill: 30% gyroid for strength without excessive weight
- Print time: ~14 hours split across two sessions
- Fit: designed to 0.2mm tolerance; lid required one reprint to dial in
Wiring it up
The Pi connects to the printer via USB-B. OctoPrint auto-detects the printer port on boot. I gave the Pi a static IP on the local network so the bookmark never changes, and set up a lightweight nginx reverse proxy so the UI is reachable at a clean local hostname rather than an IP and port.
I also wired in a USB webcam for live monitoring. OctoPrint's timelapse feature records a frame at each layer change — the resulting videos are satisfying in a way that's hard to explain until you watch one.
What I'd do differently
The enclosure works, but the cable management is messier than I'd like. A v2 would route cables internally and add a small panel-mount USB-C port for power. I'd also swap the webcam for a Pi Camera module — better image quality, shorter cable, mounts cleaner.
Remote access is currently only on the local network. Adding a Tailscale node to the Pi is on the list — five minutes of setup to get secure remote monitoring anywhere.