From-Scratch Build · Remote 3D Printing
Turning a Raspberry Pi into a remote control centre for the lab's 3D printers — drive two printers, watch two cameras, and start prints from a browser. Built from scratch with OctoPrint to learn how networked hardware control really works.
What it is
A 3D printer normally takes its instructions from an SD card and a tiny on-board screen. OctoPrint changes that: running on a Raspberry Pi connected to the printer over USB, it wraps the machine in a web interface. From any browser on the network you can upload a model, start a print, watch a live camera feed and hit an emergency stop — without standing at the printer.
I built this setup to control two printers from one Pi, each with two cameras, all visible from a single dashboard. The goal was to understand the full chain from a 3D model to a finished object: design, slice, transfer and monitor — and to do it safely, because a 3D printer is a hot machine you should never fully trust.
The core idea I wanted to learn: remote control of hardware is mostly about visibility. The print itself is the printer's job — but cameras, live temperature readouts and a reachable stop button are what make running it remotely responsible rather than reckless.
The stack
Hardware and software combine into one control surface. Here is each piece's job.
The brain of the rig. It runs the OctoPrint image and connects to each printer over USB, exposing everything on the lab network.
The web server and UI. It manages printer connections, file uploads, the print queue and live status, all from the browser.
The camera stack on the Pi. Each USB webcam is registered to a port (8080, 8081…) and streamed as MJPEG into the interface.
Desktop software that converts a 3D model into G-code — the layer-by-layer instructions the printer actually follows.
An OctoPrint plugin that registers both camera streams so you can switch between views of a print in progress.
Plugins that extend access beyond the LAN, so a print can be monitored from a phone away from the lab.
The workflow
Every print follows the same path, and understanding each stage is what makes the difference between a clean object and a tangle of melted plastic:
Design your own part in CAD software or download a ready-made model from an online library.
Load the model, pick the right printer profile, and tune settings — layer height, speed, infill, line width — trading print time against precision.
Save the sliced result as a .gcode file: the exact movements and temperatures for this print on this printer.
Connect to the Pi in a browser, drag the G-code in, and it lands in the file list ready to run.
Hit print; the printer heats up and begins automatically. The cameras and temperature readouts let you watch the critical first layers.
Setup notes
Getting multiple devices onto one Pi was the fiddly part, and where most of the learning lived:
by-path device entries instead.Maintenance matters as much as setup: clean the bed and nozzle before and after each print, and the printer behaves.
Reflection
by-path identifiers exist and when generic names betray you.