Have you ever wanted to print or view your 3D printer remotely? I am going to show you how to turn a Raspberry Pi into a lean, mean, video streaming, and 3D print serving machine… with Octopi!
What is Octopi?
Octopi is a free Linux based operating system built around the Raspberry Pi mini computer. It allows you to remotely monitor and serve up either gcode or STL files to your 3D printer.
Prepare the SD Card!
To get started, here’s what you will need:
- Functional Raspberry Pi setup with a micro SD card
- The newest version of Octopi downloaded
- Win32 Disk Imager downloaded and installed
- A code editor, like Notepad++
- An SSH client, like PuTTY
- A computer that can read/write micro SD
- Unzip the Octopi zip file to an easy to remember location. This zip contains the Octopi image.
- Open the Win32 Imager, click the blue folder icon and navigate to the Octopi image. Once that is loaded, choose the micro SD drive letter from the ‘Device‘ drop down. After double checking that you are indeed writing the Octopi image to the correct drive, click the ‘Write‘ button. A pop-up will open, explaining some of the bad things that can happen from writing an image direct. Confirm it by clicking the ‘Yes‘ button. Now wait patiently for your image to write.
- If you are using an ethernet connection for your Octopi, you can skip this step. Since you are still reading this, I will assume you are configuring your wifi. On your computer, navigate to the micro SD card and open the octopi-wpa-supplicant.txt file with Notepad++. Scroll down until you get to the section that starts with ‘##WPA/WPA2 secured‘. Edit the next four lines by removing the four ‘#‘ out of the beginning and adding in your SSID and password in between the “”s in the appropriate places. Scroll down a little further, and uncomment out the appropriate country code. Please be sure to comment out the code for the UK if you aren’t setting this box up there, as there can only be ONE country code active at a time. Save your changes.
- Remove the card from your computer, insert it into the Raspberry Pi, plug in the cables and power it up. You will need the IP address that your router assigns to the OctoPi. This can be obtained by logging into your router and looking at the client list. It will show up as ‘octopi‘. If your network accepts the Bonjour protocol you can simply type octoprint.local in a browser and be swept away to the quick start page.
- Follow through the prompts and add a username, and a password for access control. Make sure that they are strong, and click the ‘Keep Access Control Enabled’ button. If you choose to open this device to outside network access, anyone that gains access to this has the ability to wreak havoc on your printer and more!
- After going through the setup guide and enabling your user access control, online connectivity check, plugin blacklist, and optionally setting up your Cura 15.0.4 profile…you get to add your printer. Add your printer’s name, model, print bed, and other details into the different tabs and click Next. You are all finished configuring the web side of things!
- SSH into your Octopi account using PuTTY and the IP address that you found in the above step. The username is ‘pi‘ and the default password is ‘raspberry‘. After logging in, change the default password by typing ‘passwd‘ and following the prompts.
- Now all your need to do is upload a Gcode file and start printing!
There are tons of other tweaks and modifications that you can do to your Octopi setup! I will list a few quick ones below.
Want to tweak your color scheme? How about add a custom header to help you keep all you instances of Octopi straight? Log in with your account that you created during setup and click the wrench icon at the top of the screen. Under the ‘Octoprint’ header you will find ‘Appearance’. This lets you change up the color scheme and also create a custom header name! Super handy when you are juggling print jobs across 4 different Octopi servers!
Want to remotely WATCH your printer? Add a web cam to your Octopi setup. It supports a wide array of USB cameras for your viewing pleasure. I have only tried the webcam features on a pi3+ and it worked fine. I wouldn’t recommend using a webcam on a Pi Zero W. The webcam settings can be found under the wrench icon-> Features -> Webcam and Timelapse.
Did you know that Octopi supports plugins? You can manually add plugins by downloading them from the Octoprint repository and uploading the zip file. Or, you add plugins like a boss by downloading and adding them directly through Octopi! Go to the wrench icon again on the main screen and under the ‘Octoprint‘ header you will see ‘Plugin Manager‘. Click that. You will have the list of all the installed plugins on the screen and you can enable or disable them from here as well. You can click the large ‘Get More‘ button and browse through all of the plugins on the official repository. Any plugins that can be configured will be added to the Settings dialog under the ‘Plugins‘ header.
A few of my favorite plugins are ‘Preheat Button’, ‘Cost Plugin’, and ‘YouTube Live’. The ‘Preheat Button’ adds a Preheat button to the main menu when you load a Gcode file. Typical heating for Octopi works just like SD. It typically heats the bed and then the nozzle. Preheat allows you to start both the nozzle AND the bed with one button! the ‘Cost Plugin’ is a powerful plugin that lets you accurately gauge how much money you are wasting on filament for each print. This doesn’t take into effect the power usage for the print. ‘YouTube Live’ works just as you would expect. After configuring your web cam and the plugin, you can go LIVE on YouTube and stream your printer with one click!
Octopi is a powerful OS that instantly upgrades any printer in your arsenal. Raspberry Pi’s are cheap, and if you decide to opt for the camera-less Pi Zero Ws, you can update your printing fleet for around $10USD a piece, before shipping!
Did you like this article? Check out one of my other tutorials on how to turn your food dehydrator into a filament dryer!