OctoPrint

The original web interface for 3D printers. It doesn't replace your printer's firmware — it talks to it over USB, adding remote control, monitoring, a webcam and a vast plugin ecosystem to any machine that already speaks G-code.

Licence · AGPL-3.0 (free) Platforms · Raspberry Pi / Linux / Win / macOS Core · Python · drives G-code over USB AI angle · Obico ML failure detection
TL;DR

If you want to run and watch a printer from your browser without touching its firmware, OctoPrint is the answer — and it is the safe choice when your board can't run Klipper. It leaves stock firmware in place and drives the printer over USB, so you keep standalone SD printing and gain a web UI, a webcam, timelapses and plugins. The honest trade: OctoPrint sends G-code rather than planning motion, so the speed and quality wins of Klipper's input shaping live in the firmware, not here.

What it is

OctoPrint is a Python application — created by Gina Häußge and developed in the open since 2012 — that you run on a small always-on computer next to your printer, almost always a Raspberry Pi. It connects to the printer's controller over a USB serial link and speaks ordinary G-code to whatever firmware is already on the board, typically Marlin. On top of that connection it gives you a browser dashboard: upload and start prints, jog axes, set temperatures, watch a webcam, record timelapses, and read a live G-code terminal.

Crucially, OctoPrint is additive. It does not flash or change your firmware, so the printer's own screen and SD-card slot keep working exactly as before — OctoPrint simply adds a networked control layer beside them. Its defining feature is the plugin ecosystem, the deepest in the hobby, which extends it from bed-levelling visualisers to failure detection to remote access.

Where it wins

Where it still hurts

The AI angle

OctoPrint hosts one of the most useful pieces of applied ML in the hobby: Obico (formerly The Spaghetti Detective), an open-source plugin that watches the webcam and uses a computer-vision model to spot a failing print — the tell-tale "spaghetti" of a detached part — and can pause the printer or alert you before it wastes a spool. It is genuine, deployed AI doing a job a human otherwise has to babysit.

Architecturally, OctoPrint is also a natural fit for agent control: a documented REST API and event system sit over a simple G-code-over-serial link, so an agent can start prints, read live state, and react to events without any special integration. The same property that makes it board-agnostic — plain G-code in, structured status out — makes it scriptable.

Start here

← More 3D printing tools