If you spend time browsing 3D printing forums or have watched some 3D print videos on YouTube, you probably have heard the name OctoPrint come up.
If you’ve ever wondered “What is that?” then you are not alone. I’m here to help you learn more about what OctoPrint is and what its capabilities are.
So what is OctoPrint? And what can it do?
OctoPrint is used to manage and control 3D printers on your network. It is 100% open source and allows you to manage the 3D printer(s) on your network, whether wired or wireless, with any connected device like a phone or computer. The most common approach is running the OctoPi image on a Raspberry Pi.
Running OctoPrint within the Octopi Image gives you the freedom to do anything you want on your primary computer while the print job is running, and you don’t have to worry about your computer going to sleep and ruining prints mid-job!
OctoPrint has many exciting features, including monitoring capability and on-board slicing. If you are unfamiliar with slicing then keep reading; we will cover that in more detail later.
We’ll also go over what equipment is necessary to run OctoPrint, and how to best optimize your OctoPrint experience using a Raspberry Pi.
If you choose to use a Raspberry Pi, you’ll want to use OctoPi, and we’ll discuss the difference between OctoPrint and OctoPi.
OctoPrint is compatible with most 3D printers and has a vast plugin system that allows users to receive push notifications, collect statistics, and more. Let’s start by discussing the main features of OctoPrint.
Main Features of OctoPrint
One of the best things about OctoPrint is that it gives you remote control of your 3D printer(s). It hooks up your 3D printer to your local network, and you can use any connected device to manage the web interface.
Since OctoPrint works wirelessly, you no longer have to be in the room that the 3D printer is in.
OctoPrint allows you to start and monitor a print job from upstairs while avoiding potential fumes and smells from your downstairs 3D printing lair.
What if you want to watch your build in real-time? Well, OctoPrint supports Pi Camera and webcams, so you can watch live feeds and video of the build from your connected device, wherever that may be.
It also has a plugin that allows you to check on the status of your print job remotely so you can check on the build from your smartphone.
Another great OctoPrint feature is that you can slice a .STL file right on the Pi. This means you won’t have to slice your files on the computer anymore; just send over the .STL model and the printer will take care of the rest.
For those unfamiliar, 3D printers cannot translate a whole 3D model by itself, so slicer software is used to take a 3D drawing (often in .STL format) and translate the 3D model into individual layers that are then turned into machine code that the printer uses for printing.
The fact that OctoPrint can slice automatically, can save user lots of time.
OctoPrint also allows you to customize and upload GCode scripts to be executed on specific occasions. This code defines the machining steps to take and the parameters to use.
You could use this handy feature to move the print head back to a safe resting position anytime the machine is paused, then on resume you can have the print head return to the last position and reset the extruder and feed rate.
Equipment Needed to Run OctoPrint
Using OctoPrint is better than sacrificing an entire computer just to run your 3D printer. Most people prefer to use a Raspberry Pi with OctoPrint.
I compiled a list of the equipment needed to run this configuration.
Raspberry Pi: A Raspberry Pi is a small, compact, one-board miniature computer that you can use in place of a desktop. A variety of Pi options can be found online that will accept OctoPrint.
I prefer the Pi 3 over the Pi Zero version because it offers better speed when slicing .STL files. While a Pi Zero W might be cheaper ($10), the Pi 3 ($35) has the power to ensure a faster and better operating experience.
Power Supply: Most USB phone chargers work well, as long as they are rated for more than 1 Amp of current.
SD card: A micro SD card is needed with at least 4 GB capacity for the operating system. 8 GB or even 16 GB is recommended.
USB Card Reader: This will help you write images to the SD card from your computer.
USB Wi-Fi Adapter: You could hardwire using a wired connection, but a USB Wi-Fi adapter is suggested. Wi-Pi and Edimax are two brands of adapters that work well with this setup.
USB Cable for power connection
Webcam (Optional): A webcam allows you to watch your job build remotely.
Once you’ve gathered all your equipment, the Octo-setup is actually pretty simple. Many tutorials exist online that walk you through each step.
At a high level, you start with a pre-made SD image setup file available on the OctoPi GitHub site and write that image onto an SD card.
Then, you insert the SD card, internet source, webcam, and (lastly) the power cord into the Pi and it should boot up and connect to the network.
After following a few password and security prompts, you’re ready to feed in a GCode and start printing!
With this setup configuration, you don’t have to go back and forth to the printer to move SD cards. You also don’t have to babysit the start of your print; although that’s probably best protocol the first few times you use your 3D printer.
Here’s the Difference between OctoPrint and OctoPi
You probably noticed in the previous section that I used both OctoPrint and OctoPi. Let me explain the difference to clear up any confusion you may have.
OctoPrint: OctoPrint is the software program that is used. It can be run almost anywhere, including with setups that do not include the use of a Raspberry Pi.
OctoPi: OctoPi is a special Raspberry Pi operating system for 3D printers. It includes the host OctoPrint software out of the box. The OctoPi is tweaked specifically for Raspberry Pi hardware to deliver maximum printing performance and includes the aforementioned pre-built Raspberry Pi image fit for OctoPrint setup.
Community Developed Plugins
You can add as much functionality as you want via the plugin system. New features are frequently added. Some of the most popular features are mentioned below.
FileManager: This is a simple, yet extremely useful, file manager for OctoPrint.
GcodeBar: This OctoPrint plugin allows you to send GCode commands from the sidebar.
TouchUI: This is a touch-friendly OctoPrint interface for Mobile/TFT that mimics pointer events as touch and includes larger buttons and the best resolution possible.
customControl: This plugin lets you create, edit, and delete your custom controls.
NavbarTemp: With the NavbarTemp plugin you can display the temperatures on the navigation bar for continuous monitoring.
More Information about OctoPrint Slicing
The OctoPrint slicing has CuraEngine built in. Often called “Cura”, this is a powerful and fast engine for turning 3D models into 3D printing GCode instructions.
It works well for simple operations, but the majority of users continue to use their preferred slicer and then upload that .gcode to OctoPrint. For more complex operations the Pi can be slow to slice and fewer customization options exist.
Does OctoPrint work on ALL 3D printers? No, but OctoPrint does work on a majority of the consumer grade 3D printers. For more detailed information about OctoPrint supported printers, visit the OctoPrint wiki.