Octoprint is a quick and effective way to run your 3D Printer without having your main laptop or desktop tied to it. It can be used to remotely control your printer, make it wireless, monitor it from across the internet, and more. You can install Octoprint on an old computer and it’ll do all the work of interfacing with the printer for you. Most commonly, it’s just installed on a Raspberry Pi, a low-power, singleboard computer. The Pi is pretty much the ideal platform for this. It is:
- Low Power
- Highly Extendible
- Has a Camera Port
- Has GPIO
Our little Octopi can monitor our printer via the camera port, have almost zero impact on our utility bills, be tucked away anywhere, and for the more adventurous out there, be extended with things like filament sensors, lighting controllers, and probably play something like Stars and Stripes Forever when a print finishes.
Octoprint a Quick Tour
From our Install Guide, you should already know how to access your Octoprint installation. You load it up via a webpage in your browser. This is typically something like 192.168.1.101. You’ll be presented with your login screen and hopefully, you know your password. If not, you’re in for a fun time trying to fix that.
Your main window shows you everything you need to do a print. From here you can upload, download, set the printer’s temperatures, take manual control, and more. We’ve gone through and highlighted our favorite Octoprint features.
I’ll admit: my favorite things are those things that let me be a lazy printer. Can I do something with the printer from my phone, instead of dragging a computer over? Yes? It makes me a thousand times happier than I would otherwise be.
Let’s Actually Print Something with Octoprint
This is all pretty useless if we don’t make something, right? And we may as well make something useful that you can’t get anywhere else. I happen to know exactly the thing I need to print. I’m sick of buying expensive D-Cell batteries. Say I want to put an 18650 in my flashlight, so I can just recharge a battery cell instead of forking over $15 every time the power goes out.
This is exactly what I was looking for on Thingiverse. I gotta say, thank you to bgcheese for making this thing. It’s a nice, simple little thing. A casing that’ll hold an 18650 Lithium Cell in a slot meant for 2 D-cell batteries. With a bit of soldering, it’ll happily interface with the contacts in my flashlight. This will also be nice and easy to actually print out.
We’ve got 3 things to do:
- Slice It
- Upload It
I’m skipping step One. You know how to do that or we can direct you to one of our tutorials on it. Today is just about making life easy and lazy. I’m gonna drive my printer from some beach somewhere while sipping some nice lemonade.
Step 2 is straightforward. The stock installation of Octoprint will only accept GCode files. Click Upload, find your GCode file, and send it on its merry way. If you upload to the printer’s built-in SD Card, you can print from the printer itself if it supports that. That also kinda defeats the purpose of Octoprint. Using the printer’s SD Card to feed files to Octoprint can also result in performance issues. We’re just uploading straight to the printer.
This is where you might notice a small hiccup (and maybe the only reason you’re coming to this tutorial): all the controls are greyed out. I can do 3 things:
- View the Metadata
- Download the File
- Delete the File
Octoprint won’t consider loading a file until we talk to the printer. Hit the connection button above and the two buttons to the right will light up. Boom. We can now load the file and we can load and print the file. The key difference is loading the file will let us preview it in the GCode viewer, then hit print. This tells us estimates on print time and other useful little tidbits. Load and Print don’t give us a chance to do anything. It will just start printing right off the bat.
Let’s load the file, get our printing estimate, and then we’ll get this show on the road.
3 meters of material and 3 hours. That’s not too bad. It’s a LOT cheaper than my next order of batteries, even counting for the materials like the spring ends to interface with the flashlight contacts. A good 18650 cell is going to cost me $20, but it’ll last for about 500 D-Cell life spans, and maybe more. Looks like we have a win all around today.
Taking Octoprint Further
The last big thing to note here is that Octoprint is quickly and easily extendable. If you wanted to add a feature to your printer via firmware, you would have to compile it, upload it to the printer, and hope there were no massive bugs. It’s an all-or-nothing proposition. With Octoprint, you get some bonus options. Want to do something before or after a print? There’s a setting for that. Want to have a bed leveling utility? There’s a plugin for that.
Octoprint plugins are generally written in Python, but you could probably make it work with any pi-compatible language. There’s a full API too, so you can use apps that are built to interface with Octoprint on your phone and tablet. These apps can provide an ideal, touch-centric interface for the server. You can even get ones that adjust the Web-UI to be more mobile-friendly.
The sky really is the limit here and there’s some crazy stuff you can pull off through Octoprint that wouldn’t otherwise be possible. You can even take Octoprint and use it to drive an engraver or laser cutter. Yes, these machines use GCode too, but there are a lot of UI and functional differences. It wasn’t enough to stop that support from existing anyway.
Need Help setting up Octoprint in your freshly bought Raspberry Pi?
Look at this tutorial: Install OctoPrint Beginner Guide for your 3D Printer
Looking for other options or just want to try something new?
Checkout out our Article: Octoprint vs Astroprint Control your 3D Printer Remotely