← all builds

From-Scratch Build · Remote 3D Printing

3D-Printer Web Control Setup

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.

OctoPrintRaspberry PiDual cameras Cura · G-codeRemote monitoring

What it is

A web dashboard for a printer

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

Tools under the hood

Hardware and software combine into one control surface. Here is each piece's job.

controller

Raspberry Pi

The brain of the rig. It runs the OctoPrint image and connects to each printer over USB, exposing everything on the lab network.

software

OctoPrint

The web server and UI. It manages printer connections, file uploads, the print queue and live status, all from the browser.

vision

camera-streamer

The camera stack on the Pi. Each USB webcam is registered to a port (8080, 8081…) and streamed as MJPEG into the interface.

slicer

Cura

Desktop software that converts a 3D model into G-code — the layer-by-layer instructions the printer actually follows.

plugin

MultiCam

An OctoPrint plugin that registers both camera streams so you can switch between views of a print in progress.

remote

Obico / OctoEverywhere

Plugins that extend access beyond the LAN, so a print can be monitored from a phone away from the lab.

The workflow

From model to finished print

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:

  1. Model

    Design your own part in CAD software or download a ready-made model from an online library.

  2. Slice in Cura

    Load the model, pick the right printer profile, and tune settings — layer height, speed, infill, line width — trading print time against precision.

  3. Export G-code

    Save the sliced result as a .gcode file: the exact movements and temperatures for this print on this printer.

  4. Upload to OctoPrint

    Connect to the Pi in a browser, drag the G-code in, and it lands in the file list ready to run.

  5. Print and watch

    Hit print; the printer heats up and begins automatically. The cameras and temperature readouts let you watch the critical first layers.

Setup notes

Two cameras, two printers

Getting multiple devices onto one Pi was the fiddly part, and where most of the learning lived:

Maintenance matters as much as setup: clean the bed and nozzle before and after each print, and the printer behaves.

Reflection

What rebuilding it taught me