Why you should switch to OctoPrint — a Guide

Detailing how OctoPrint works and how to take advantage of it while 3D printing

Chase Urban
9 min readFeb 3, 2021

3D printing has remained mostly the same in recent years. We make improvements to print quality, speed, phone compatibility, etc. Despite these changes, printers with hefty price tags tend to be the only products to really change much. While 4D printing is beginning to take off, it’s still way too early to buy those printers yourself.

However, your 3D printer can still be upgraded. Employing the use of a Raspberry Pi with the OctoPi image, you can easily take advantage of features you never had before.

So what is OctoPrint?

When it first meets the eye, OctoPrint is an organization that creates open-source software to take control of your 3D printer, typically in the form of the OctoPi image for the Raspberry Pi. This software creates a local server for your printer, which you can access over your home network or over the internet on your own website. The server allows you to access gcode files from your computer/device and view printer information and camera feeds.

As you take a deeper look, OctoPrint is a lot more than just a free software, it’s actually a really inspiring community that was created by Gina Häußge (or as the community knows her, “foosel”) in 2014.

Not only does the OctoPrint organization create fantastic software for 3D printing, but they also release a massive amount of educational and entertaining resources for 3D printing and coding help. Multiple instances of this content will be linked throughout the article.

Personally, I’ve used OctoPrint’s software and resources as a way to create cinematic timelapses of my prints, monitor my printer from a distance, and to record how well my prints perform. I’ve also taken advantage of their community to help learn to manipulate printers with Python, research a bit on open-source development, and just explore some new topics here and there. Their discord is a rabbit hole full of interesting people who are eager to share knowledge.

That’s great and all, but why the heck should I download this?

I’m sure you’re thinking, this sounds great and all, but why would I actually want to download this and use it?

The answer to that is pretty simple. There are endless features and plugins that make your life easier.

All your prints and data are saved for future reference, which will save you endless time and eventually money from limiting your misprints and failures.

As I stated earlier I use the timelapse, files, and control features quite often, but I actually use the TouchUI plugin the most. This allows me to access and change my printer settings, view a live camera feed during prints, etc, all from my phone. When I’m worried that a print might fail right off the bat, I can check-in from a distance to cancel it if necessary.

The TouchUI Plugin

The other reason OctoPrint is so nice is because it is so easy to set up. All you have to do is download the image, extract it to a microSD, edit one of the files (no coding knowledge required) and plug said SD into your Raspberry Pi. It’s quite simple, especially for people that haven’t messed with Linux or code before.

There really isn’t any reason not to use OctoPrint, unless you are really attached to cycling your SD cards and watching prints fail, which… I hope you aren’t.

How to download and use OctoPrint

If you already use OctoPrint or don’t want to use OctoPrint, feel free to skip this section. This is just a short guide on how to use OctoPrint in the simplest configuration possible.

So far, I have only mentioned using OctoPrint with the Raspberry Pi. That’s because it’s the most effective and easy way to do things, but if you want to use Windows 10, another Linux system, Mac, etc. you can take a look at the download page on the OctoPrint website. Running the server this way is not recommended, but it is possible.

What you need to run the OctoPrint Server:

  1. Raspberry Pi and power cable (I use a 3B+, but you can use any Pi model after the 2B. I would stick with the 3B+ so you don’t have to fiddle around with the WiFi. If you are using a webcam, the 3B or better is a must.)
  2. A 3D printer that has some sort of physical input. This does not mean your printer’s SD card slot if you have one. Most generic RepRap printers use USB Type A or USB Type B.
  3. A cable that has a USB on one side and whatever fits into your printer on the other. If one didn’t come with your printer, check amazon.
  4. A MicroSD card with nothing on it (it’s going to be formatted later), that has at least 16GB.
  5. Optional: webcam (both Logitech webcams I tried worked pretty well, you can use pretty much anything.)

After you have acquired these items, you can get to it!

Setting up your Raspberry Pi:

  1. Download BalenaEtcher , 7-Zip (if you don’t have WinZip) and download this zip file (the OctoPi Rasbian image).
  2. Plug the MicroSD into your computer, and format it. Change the name to whatever you want. After this point, never format the card, even if your computer gets mad at you and insists upon it.
  3. “Extract” the OctoPi image with 7-Zip. By default it will go into a folder next to wherever the original zip file was. This is fine, you can delete both the folder and the original zip file later.
  4. Flash the unzipped image onto your MicroSD with BalenaEtcher. Make sure you have the right drive selected before you do so. This process will take a couple minutes!
Editing the .txt file
  1. Eject the MicroSD and unplug it, then plug it back in. Ignore any popups that this causes. Go into the files for the drive, and select octopi-wpa-supplicant.txt
  2. Edit that file with Notepad++ or any application that doesn’t mess with formatting.
  3. Remove the #s before the 4 lines of code in the WiFi section and the line of code for your country. If your country isn’t used in one of the examples, you can add it by following the same format. Add a # in front of the UK line, because it’s uncommented by default.
  4. Save the file, then eject the card.
  5. Plug your RaspPi into the printer, add the MicroSD, and connect it to power.
  6. go to octopi.local/ in your web browser after waiting a minute, and then create a login and get set up!

The process is pretty straightforward and simple, but in the past there have been bumps along the way as updates have gone out. Feel free to use my contact information at the end of the article to ask me any questions.

The UI tour

Let’s start with a bit of a tour. First, you have the main modules on the left. These give you the details that are most important. At the very top, you have your connection page. This is as simple as it looks. Set everything to auto and press connect. If that doesn’t work, search up online what the baudrate for your printer is and adjust accordingly.

The State and Files tabs

Continuing on the left side, there are the state and files tabs. This is going to be primarily what you use for printing. The state tab is going to give you all your print information. As you can see, it’ll show what file you are using, when you uploaded it, and the estimated time your print will be completed (which is way off most of the time). On the files tab, you can see all of your files. This is by far one of the most useful features of OctoPrint. As you can see, I printed these two organizer modules 8 days ago. While the bottom half went great and took two hours, the top half didn’t go so well (it failed after a 12 hr print). Back when the pandemic first started, I was able to create mask bands that took pressure off of the wearer’s ears 2x faster because I had all the relevant information ready.

As we move to the main areas on the left, we get a fun little graph with the OctoPrint Octopus. This is the temperature tab, and it displays the tool (hot end) and bed temperatures. If you have a heated enclosure, that will be here too. You can actually adjust print temps on the fly, so if you selected the wrong filament type in your slicing application, it won’t be a big deal.

Clicking onto the control tab, you probably see a black screen that says no camera is connected. If you do have a camera connected, you will probably see something like what I have. I position my camera on the center bar that limits the Z axis, but you can put it wherever you like. I wouldn’t recommend putting your printer directly over a light like if you have a glass bed (like I did… whoops!). Moving on, underneath the camera is the manual control for the X/Y and Z axis. These are really nice for calibrating your bed. You can also extrude or retract filament, which is extremely helpful when you want to either swap spools or get the start of your next print perfect. Just make sure your hot end is hot in the temperature tab!

Finally, there is the GCode viewer, the terminal, and the timelapse feature. While these are important, they won’t be used much, so I will go through them quickly. Think of the GCode viewer as OctoPrint cutting up your print layer by layer and giving you a map. It’s hypnotizing to watch sometimes. Your terminal is just that. A terminal. Nothing crazy going on there. Finally, the timelapse feature is amazing, but requires a lot of fiddling around with to get those perfect settings. If you want that slow building timelapse you’ve probably seen on a satisfying compilation on YouTube, select the on Z change mode.

Taking advantage of your server

The possibilities with OctoPrint are really endless. However, the first thing I would do is actually 3D print a case like this one for your Pi. Why? Having something you can mount (even if that means with duct tape) makes everything easier. Make sure that you have all of your wires in the proper places. Having a bit of wire get into an area where a motor is supposed to go typically ends pretty poorly.

If you have that printed, or just refuse to, start printing as much as you want! Make sure you use the software in its vanilla form a few times before you start adding plugins. As you begin to print more and more, try messing around with new features.

Once you’ve used OctoPrint a bit, begin browsing their plugin repository. This will get you pretty much anything you could want. Right now, I’m trying out the SMS Notifier, which sends me a text every time a print is completed. OctoPrint plugins are also a great start for anyone looking to mess around with coding and 3D printing. OctoPrint actually has a lot of resources related to this topic, and adding something as simple and a light turning on whenever a print starts could be a good place to begin.

In closing

OctoPrint is really just a tool that keeps providing more tools, and it’s extremely cost effective. While it isn’t for everyone, it provides extra features and value to anything from a budget machine to something in a high price range. There really aren’t any downsides, unless you just want to plug in things and have them work. But where’s the fun in that?

Thanks for reading through this OctoPrint guide, I really appreciate it. If you have questions or just want to chat with me, please let me know. Click here to connect with me on LinkedIn.

--

--