OctoPrint

OctoPrint is an open source 3D printer controller application, which provides a web interface for the connected printers. It displays printers' status and key parameters and allows user to schedule prints and remotely control the printer.

History
OctoPrint was created by Gina Häußge in 2012, who initially developed the software to support her first 3D printer. OctoPrint was forked from Cura, and is available under the same AGPL license. Development is hosted on GitHub. Between August 2014 and April 2016, Spanish smartphone manufacturer BQ financially supported OctoPrint development by employing Gina Häußge full time to work on it. When BQ discontinued support in April 2016, Häußge turned to Patreon.

In September 2018, a vulnerability was publicized at the Internet Storm Center of SANS Institute because "thousands" of users misconfigured their OctoPrint interface so it was available to the Internet without a login. This could result in not only a loss of data (intellectual property of designs) and privacy (through a connected webcam), but literal fires from poorly designed 3D printer safety controls. Solutions that still enable worldwide access to a printer include using a commercial cloud printing interface like AstroPrint, Polar Cloud, or 3DprinterOS as well as the OctoPrint Anywhere plugin or standard VPN installations.

Starting with OctoPrint version 1.4.0 released on March 4, 2020, OctoPrint is compatible with Python 3. At the time of the release, most OctoPrint plugins were already compatible with Python 3.

As of August 2023, the OctoPrint Patreon campaign receives over $5,200 per month from over 1,900 backers.

Features
OctoPrint provides a web interface for controlling 3D printers, allowing the user to start a print job by sending G-code to a 3D printer connected via USB. OctoPrint monitors the status of the print job, as well as the printer itself, including the temperature of the print head (hot end) and the temperature of the bed, if the bed on the printer is heated. OctoPrint can also show the output of a connected webcam in order to monitor the state of the print, and can visualize the G-code in sync with the print job, or asynchronously.

OctoPrint has a plugin system, allowing users to extend functionality. As of June 2024, there are 395 plugins listed in the official plugin repository.

It has also been used by Thomas Sanladerer in a PrintrBot as a self-contained and fully mobile printer build.

OctoPrint can run on a variety of systems, but is commonly run on Raspberry Pi. A distribution called OctoPi based on the Raspbian OS for Raspberry Pi, provides a pre-configured version of OctoPrint along with an mjpg-streamer support for webcams.

OctoPrint recommends using the Raspberry Pi 3B, 3B+, 4B, or the Zero 2 and specifically warns against using the Raspberry Pi Zero W due to severe performance issues observed.