From the course: Additive Manufacturing: Optimizing 3D Prints

Web interfaces for 3D printers

It's becoming increasingly common for 3D printers to have Wi-Fi, or sometimes wired network connectivity. Some of these printers use proprietary systems to connect to a cloud service provided by the manufacturer. Others use open-source software that runs a local web server for the printer. These web based solutions have become the most common 3D printer host software still in use today. Host software interfaces provide real-time control of a printer that's useful for maintenance functions, as well as the ability to select, start, and monitor your 3D prints. Web-based host software works like older host software, which would control a printer in real-time over USB connection, but there were numerous problems with this model. If you're using a computer for other things while printing, it might slow down enough to delay commands, causing the printer to stutter in a way that causes print artifacts. If you weren't using a computer for other things while printing, the computer might interrupt the print by going into sleep mode, or it might try to reboot to update its software in the middle of a long-running print. The first solution to this was a dedicated interface on the printer to allow it to print autonomously, using G-code files transferred to an SD card, or sometimes a USB drive. Selecting files to be printed this way requires an onboard interface, and most printers now have simple LCD screens for this purpose. These are pretty simplistic interfaces, though, and require manually moving physical media between the printer and a computer. Web-based host software like OctoPrint brings back 3D printer host functionality, but runs it on a small dedicated computer attached to the printer. OctoPrint is designed to run on inexpensive, single-board computers like a Raspberry Pi running a Linux operating system. The computer does not need a monitor, mouse, or keyboard. It only needs a USB connection to the printer and a network connection to create a website that you can access with a web browser on your local network. This makes it a relatively cheap edition that works with most 3D printers. It's possible to configure your network to make OctoPrint accessible over the Internet. However, it's a bad idea unless you use additional security precautions like setting up a virtual private network. In addition to giving you full control over the printer's functions from a computer, tablet, or smartphone on the same local network, you can also connect a camera to monitor your prints. Slicers like Cura and PrusaSlicer can be configured to connect to OctoPrint, so you can upload G-code files with one click. Some more advanced printer firmware has functionality similar to OctoPrint built in. To run this type of software, your printer needs to be using a more powerful microcontroller with a network interface like a Duet Board. Another alternative is Klipper. Klipper is advanced firmware, mostly used for things like high-speed printing or controlling printers with large numbers of extruders. Klipper provides these functions by running on a Raspberry Pi or other Linux computer that controls one or more commodity 3D printer controllers. It provides an interface similar to OctoPrint that also lets you edit the configuration files that tell it how to interface with the printer's hardware. You can read more about it at klipper3d.org. Most 3D printers would require a significant overhaul to install Klipper or a Duet Board. However, OctoPrint is a relatively simple edition for most printers that support control over USB. The next movie goes into more detail about setting up and using OctoPrint.

Contents