OctoPrint

Last updated

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.

Contents

OctoPrint
Developer(s) Gina Häußge
Initial release2012
Stable release
1.10.2 [1]   OOjs UI icon edit-ltr-progressive.svg / 18 June 2024
Repository
Written in Python
Operating system Windows, macOS, Linux
Available in7 languages
List of languages
English, German, French, Polish, Russian, Korean, Catalan
Type 3D printer control application
License Free and open-source AGPL
Website octoprint.org   OOjs UI icon edit-ltr-progressive.svg

History

OctoPrint was created by Gina Häußge in 2012, [2] who initially developed the software to support her first 3D printer. OctoPrint [3] was forked from Cura, and is available under the same AGPL license. Development is hosted on GitHub. [3] 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. [4] [5]

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. [6] [7] [8] [9] [10] [11] [12] 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. [13] [14]

Starting with OctoPrint version 1.4.0 released on March 4, 2020, OctoPrint is compatible with Python 3. [15] 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. [16]

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. [17]

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

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. [20]

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. [21]

Related Research Articles

<span class="mw-page-title-main">Thin client</span> Non-powerful computer optimized for remote server access

In computer networking, a thin client, sometimes called slim client or lean client, is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as network computers, or in their simplest form as zero clients. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a rich client or a conventional personal computer; the former is also intended for working in a client–server model but has significant local processing power, while the latter aims to perform its function mostly locally.

<span class="mw-page-title-main">Webcam</span> Video camera connected to a computer or network

A webcam is a video camera which is designed to record or stream to a computer or computer network. They are primarily used in video telephony, live streaming and social media, and security. Webcams can be built-in computer hardware or peripheral devices, and are commonly connected to a device using USB or wireless protocols.

<span class="mw-page-title-main">CUPS</span> Computer printing system

CUPS is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer.

<span class="mw-page-title-main">Logitech Media Server</span> Open-source streaming audio server

Lyrion Music Server is a streaming audio server supported by the LMS community and formerly supported by Logitech, developed in particular to support their Squeezebox range of digital audio receivers.

Dexter Industries is a company that designs robots for education, research, and personal use. The company makes several products that expand the LEGO Mindstorms, Raspberry Pi, and Arduino prototype systems.

<span class="mw-page-title-main">Raspberry Pi</span> Series of low-cost single-board computers

Raspberry Pi is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned toward the promotion of teaching basic computer science in schools. The original model became more popular than anticipated, selling outside its target market for diverse uses such as robotics, home automation, industrial automation, and by computer and electronic hobbyists, because of its low cost, modularity, open design, and its adoption of the HDMI and USB standards.

<span class="mw-page-title-main">Leafpad</span> Lightweight text editor

Leafpad is a free and open-source graphical text editor for Linux, Berkeley Software Distribution (BSD), and Maemo that is similar to the Microsoft Windows program Notepad. Created with the focus of being a lightweight text editor with minimal dependencies, it is designed to be simple-to-use and easy-to-compile.

<span class="mw-page-title-main">Raspberry Pi OS</span> Debian-based operating system for Raspberry Pi

Raspberry Pi OS is a Unix-like operating system based on the Debian Linux distribution for the Raspberry Pi family of compact single-board computers. Raspbian was developed independently in 2012, became the primary operating system for these boards since 2013, was originally optimized for the Raspberry Pi 1 and distributed by the Raspberry Pi Foundation. The Raspberry Pi Foundation replaced it 2020 by Raspberry Pi OS.

<span class="mw-page-title-main">Pluma (text editor)</span> Default text editor for the MATE desktop environment

Pluma is a fork of gedit 2 and the default text editor of the MATE desktop environment used in Linux distributions. It extends the basic functionality with other features and plugins.

<span class="mw-page-title-main">AstroPrint</span>

AstroPrint is a cloud platform and application marketplace designed for consumer 3D printing by 3DaGoGo Inc., a private San Diego–based technology company.

Concerto is a web-based digital signage application licensed under the Apache License and written using the Ruby on Rails programming framework. It rotates uploaded graphical, textual, and video content through a template that is accessed by computers running a web browser.

<span class="mw-page-title-main">Prusa i3</span> 3D printer product line and related designs

The Prusa i3 is a family of fused deposition modeling 3D printers, manufactured by Czech company Prusa Research under the trademarked name Original Prusa i3. Part of the RepRap project, Prusa i3 printers were called the most used 3D printer in the world in 2016. The first Prusa i3 was designed by Josef Průša in 2012, and was released as a commercial kit product in 2015. The latest model is available in both kit and factory assembled versions. The Prusa i3's comparable low cost and ease of construction and modification made it popular in education and with hobbyists and professionals, with the Prusa i3 model MK2 printer receiving several awards in 2016.

<span class="mw-page-title-main">Cura (software)</span> 3D printer software

Cura is an open source slicing application for 3D printers. It was created by David Braam who was later employed by Ultimaker, a 3D printer manufacturing company, to maintain the software. Cura is available under LGPLv3 license. Cura was initially released under the open source Affero General Public License version 3, but on 28 September 2017 the license was changed to LGPLv3. This change allowed for more integration with third-party CAD applications. Development is hosted on GitHub. Ultimaker Cura is used by over one million users worldwide and handles 1.4 million print jobs per week. It is the preferred 3D printing software for Ultimaker 3D printers, but it can be used with other printers as well.

<span class="mw-page-title-main">Art of Illusion</span>

Art of Illusion is a free software, and open source software package for making 3D graphics.

Marlin is open source firmware originally designed for RepRap project FDM 3D printers using the Arduino platform.

LÖVE is a free, open-source, cross-platform framework released under the zlib license for developing video games. The framework is written in C++ and uses Lua as its scripting language and is still maintained by its original developers. The framework is cross-platform supporting the platforms Microsoft Windows, macOS, Linux, Android, and iOS.

<span class="mw-page-title-main">Prusa Mini</span> Czech open-source fused deposition modelling 3D printer

The Prusa Mini, stylized as the Original Prusa MINI, is an open-source fused deposition modeling 3D printer that is manufactured by the Czech company Prusa Research. The printer is the lowest cost machine produced by Prusa Research and is designed as a first printer or as part of a 'print farm'.

Markforged is an American public additive manufacturing company that designs, develops, and manufactures The Digital Forge — an industrial platform of 3D printers, software and materials that enables manufacturers to print parts at the point-of-need. The company is headquartered in Waltham, Massachusetts, in the Greater Boston Area. Markforged was founded by Gregory Mark and the chief technology officer (CTO) David Benhaim in 2013. It produced the first 3D printers capable of printing continuous carbon fiber reinforcement and utilizes a cloud architecture.

<span class="mw-page-title-main">Home Assistant</span> Home automation software

Home Assistant is free and open-source software used for home automation. It serves as an integration platform and smart home hub, allowing users to control smart home devices. The software emphasizes local control and privacy and is designed to be independent of any specific Internet of Things (IoT) ecosystem. Its interface can be accessed through a web-based user interface, by using companion apps for Android and iOS, or by voice commands via a supported virtual assistant, such as Google Assistant, Amazon Alexa, Apple Siri, and Home Assistant's own "Assist" using natural language.

<span class="mw-page-title-main">Polar Cloud</span>

The Polar Cloud is an American software platform for 3D printers that is owned and operated by Polar3D, LLC. The platform was launched in March 2017 and is now home to over 500,000 users in 160 countries. The platform is home to several programs and initiatives, including the Boys & Girls Club of America, GE's Additive Education Program, and a COVID-19 Mask Making effort.

References

  1. "Release 1.10.2". 18 June 2024. Retrieved 22 June 2024.
  2. "Interview: Gina Häußge, creator of OctoPrint, on the RepRap 10th Anniversary". 3D Printing Industry. 31 May 2018. Retrieved 22 February 2019. Gina Häußge is the founder and main developer of OctoPrint.
  3. 1 2 "OctoPrint Github development page". GitHub. Retrieved 19 February 2019.
  4. Gina Häußge (2016-04-13). "OctoPrint: Public: I need your support". Google Plus. Archived from the original on 2017-03-05. Retrieved 2019-02-22. Most of you probably know that OctoPrint's development has been heavily sponsored by BQ since August 2014, mostly by employing me (Gina Häußge) full time for working on it. ... If you love OctoPrint and believe in its potential and my skills to get it there, please consider supporting me on Patreon. ... TLDR Please support me on Patreon.
  5. "OctoPrint Startup Soon to Lose Funding from Sponsor BQ, Launches Patreon Campaign—Users Rally Behind Founder". 3DPrint.com . Retrieved 22 February 2019. This is the case right now for OctoPrint, who has apparently lost their sponsor, BQ, and is taking to Patreon for support in what is a bit of an emergency funding situation or we may lose this startup to current lack of capital. According to word on the street—or, today that would be on Reddit—those who are fans of the 'snappy web interface' for their 3D printers put the word out leading us to a social media announcement from founder Gina Häußge. There is undeniable concern for the future of what is currently quite a popular source of 3D printing host software.
  6. "Thousands of unsecured 3D printers discovered online". Naked Security. 6 September 2018. Retrieved 22 February 2019. This is a problem caused by bad configuration and not the OctoPrint software, which clearly warns against enabling access without access control. Any owner exposing their printer to the internet without this must have chosen to do so.
  7. Dvorsky, George. "Discovery of Thousands of Unsecured 3D Printers Is a Big Problem". Gizmodo. Retrieved 22 February 2019. It's super convenient, but the ISC has discovered at least 3,759 instances in which users have deliberately set up their 3D printers to be accessible via the internet without the need for authentication (i.e. logging in with a username and password).
  8. "Thousands of misconfigured 3D printers on interwebz run risk of sabotage". theregister.co.uk. Retrieved 22 February 2019. "These printers are controlled using the open source software package 'OctoPrint' but it's likely there are other tools that are similarly affected. OctoPrint is not meant to be exposed in this way, and it explains in its documentation how to deploy the software in a safe way," Mertens explained.
  9. "3D Printers in The Wild, What Can Go Wrong?". Internet Storm Center . 2018-08-30. Retrieved 2019-02-22. They are thousands of Octoprint instances accessible without any authentication reported by Shodan:
  10. "OctoPrint responds to security concern with detailed guide to safe 3D printer use". 3D Printing Industry . 5 September 2018. Retrieved 22 February 2019. Responding to the ISC, OctoPrint has re-iterated the importance of proper configuration. And while the startup wizard for OctoPrint actively warns against allowing unauthenticated access, some users may have disregarded this.
  11. Jubaleth. "A Guide To Safe Remote Access of OctoPrint". OctoPrint.org. Retrieved 22 February 2019. Putting OctoPrint onto the public internet is a terrible idea, and I really can't emphasize that enough. Let's think about this for a moment, or two, or even three. OctoPrint is connected to a printer, complete with motors and heaters. If some hacker somewhere wanted to do some damage, they could.
  12. "Additive manufacturing: an inconvenient truth". The Engineer. 8 November 2018. Retrieved 22 February 2019. Earlier this month, security experts found a way to use OctoPrint to take print files off printers remotely or replace them with compromised files. An enterprising reporter even managed to do this inside two corporations that they left unnamed. Granted, these breaches stem from an unintended use case for OctoPrint
  13. "An Easy Solution For OctoPrint Security?". Fabbaloo. 11 September 2018. Retrieved 22 February 2019. But how do you use AstroPrint Cloud with OctoPrint? It turns out they've made a plug-in for OctoPrint that is installable by the touch of a button. Once done, your OctoPrint installation is then connected to the AstroPrint cloud and you can then use their mobile app to remotely control your 3D printer, for example. But you can also bring forward all their other functionality, which is considerable.
  14. "Is Your OctoPrint Safe?". Fabbaloo. 5 September 2018. Retrieved 22 February 2019. In a brilliant article on OctoPrint.org, contributor Jubaleth describes how many OctoPrint installations are actually publicly exposed to anyone by improper methods of Internet connection. Typically an uninformed operator might simply forward the OctoPrint ports through their network router to the public Internet.
  15. "Gina Häußge and OctoPrint". KDE.news. 2020-08-15. Retrieved 2020-08-15.
  16. "Gina Häußge | Creating OctoPrint | Patreon". Patreon. Archived from the original on 16 August 2023. Retrieved 16 August 2023. 1,981 members 461 posts $5,243/month
  17. "OctoPrint Plugin Repository". OctoPrint Plugin Repository. Retrieved 2024-06-25.
  18. "3D Printing News Sliced: Rocket Lab, David Bowie, Resident Evil 2". 3D Printing Industry. 25 January 2019. Retrieved 22 February 2019. The system is built with a Raspberry Pi inside and has WiFi access. The converted Printrbot has no LCD screen, and is operated via a mobile phone using OctoPrint, a web interface for 3D printers. Sanladerer filmed the whole reconstruction process and uploaded it to YouTube.
  19. "Thomas Sanladerer Converts Printrbot Play into Off-Grid Printer | All3DP". All3DP. 23 January 2019. Retrieved 22 February 2019. Such tinkering includes running the batteries into a DC boost converter which enables the voltage to reach the required 12V for the printer to work. A DC regulator will also be used to bring the voltage to 5V to run the Raspberry Pi which in turn runs OctoPrint.
  20. "guysoft/OctoPi: Scripts to build OctoPi, a Raspberry PI distro for controlling 3D printers over the web". GitHub. Retrieved 2023-08-16.
  21. "OctoPrint.org - Download & Setup Octoprint". OctoPrint.org. Retrieved 1 November 2022.