Raspberry pi 3d printer monitor
OctoPrint.org - Download & Setup OctoPrint
Guy Sheffer maintains “OctoPi”, a Raspbian (and thus Debian) based SD card image for the Raspberry Pi that already includes OctoPrint plus everything you need to run it:
- OctoPrint plus its dependencies
- MJPG-Streamer for live viewing of prints and timelapse video creation, compatible with various USB webcams and the Raspberry Pi camera
Recommended hardware: Raspberry Pi 3B, 3B+, 4B or Zero 2. Expect print artifacts and long loading times with other options, especially when adding a webcam or installing third party plugins. Setups not using recommended hardware are not officially supported.
Please note that the Raspberry Pi Zero and Zero W are not recommended explicitly since severe performance issues were observed, caused by the WiFi interface when bandwidth is utilized (e. g. the webcam is streamed), negatively impacting printing quality. See also here. The Zero 2 however is recommended.
Installing OctoPi
OctoPi is available through the Raspberry Pi Imager, which you can use to download and setup OctoPi. You can install it yourself, or alternatively simply buy one of the available
Installing OctoPi using the Raspberry Pi Imager
🤚 Before you begin
Read and follow these instructions precisely. Most importantly, leave the system username as “pi”, do not change it to anything else or OctoPrint won’t work!
-
If you haven’t already, download and install Raspberry Pi Imager on your computer
-
Find the OctoPi image under “Choose OS”, by selecting “Other Specific Purpose OS” > “3D printing” > “OctoPi” and then the “stable” version.
-
Open advanced options by clicking on the button with the gear, or by using the keyboard shortcut
ctrl
+shift
+x
and then:-
Configure your wifi options: Set your SSID, password and WiFi country:
-
Change the system password in “Set username and password” by entering a new password to use for the system user “pi”. This is not the password you’ll use for logging into OctoPrint but one that you’ll have to use to log into your Pi via SSH should you ever need to. Leave the username as “pi”, do not change it to anything else!
-
Optionally: Change the configured timezone in “Set locale settings”
-
Optionally: Change the hostname in “Set hostname”
-
-
Install the image to your SD card, then plug everything in to your Raspberry Pi and boot it up. Do not format the SD card after installing, even if prompted to do so. This will break the installation and you will have to start over!
-
Access OctoPrint from your browser via
http://octopi.local
or the hostname you chose (if your computer supports bonjour) orhttp://<your pi's ip address>
.https
is available too, with a self-signed certificate (which means your browser will warn you about it being invalid - it isn’t, it’s just not recognized by your browser).
Please also refer to OctoPi’s README, especially the “How to use it” section.
Alternative Initial Setup
If you decide against using the Raspberry Pi Imager, here are some alternative steps to get started:
-
Flash the image to your SD card through whatever alternative means you’ve chosen.
-
With the SD card still attached to your computer, set up the Wifi connection using the
octopi-wpa-supplicant.txt
file on the root of the installed card when using it like a thumb drive. Important: Do not use WordPad (Windows) or TextEdit (MacOS X) for this, those editors are known to mangle the file, making configuration fail. Use something like Notepad++, Atom or VSCode instead or at the very least heed the warnings in the file. If your computer doesn’t see the card right away after flashing, try ejecting and inserting it again. Do not format the SD card after installing, even if prompted to do so. This will break the installation and you will have to start over!Please also refer take a look at the full WiFi setup guide in the FAQ that also includes troubleshooting tips.
-
Plug everything into your Raspberry Pi and boot it up
-
Log into your Pi via SSH (it is located at
octopi.local
if your computer supports bonjour or the IP address assigned by your router), default username ispi
, default password israspberry
. Runsudo raspi-config
. Once that is open:- Change the password via “Change User Password”
- Optionally: Change the configured timezone via “Localization Options” > “Timezone”.
- Optionally: Change the hostname via “Network Options” > “Hostname”. Your OctoPi instance will then no longer be reachable under
octopi.local
but rather the hostname you chose postfixed with. local
, so keep that in mind.
You can navigate in the menus using the arrow keys and Enter. To switch to selecting the buttons at the bottom use Tab.
You do not need to expand the filesystem, current versions of OctoPi do this automatically.
You also do not need to manually enable the RaspiCam if you have one, that is already taken care of on the image as well.
-
Access OctoPrint through
http://octopi.local
(if your computer supports bonjour) orhttp://<your pi's ip address>
.https
is available too, with a self-signed certificate (which means your browser will warn you about it being invalid - it isn’t, it’s just not recognized by your browser).
Please also refer to OctoPi’s README, especially the “How to use it” section.
Image Downloads
Raspberry Pi Imager will download the latest version of OctoPi for you, but if you want to download the images yourself you can do so here.
Stable OctoPi
OctoPi 0.18.0 & OctoPrint 1.8.6 SHA256: 851573629147ec5385b9168a78377b8ed51af0a1d76c2174fe0e4ccb4f637a9d
Raspberry Pi 3B, 3B+, 4B or Zero 2 strongly recommended, Raspberry Pi Zero/Zero W not officially supported!
Image compatible with Raspberry Pi A, B, A+, B+, 2B, 3A+, 3B, 3B+, 4B 1/2/4/8GB, 400, Zero, Zero W and Zero 2.
OctoPi Release Candidate
The current OctoPi Release Candidate 1.0.0rc2 can be found here:
OctoPi 1.0.0rc2 & OctoPrint 1.8.1 Raspberry Pi 3B, 3B+, 4B or Zero 2 strongly recommended, Raspberry Pi Zero/Zero W not officially supported!
Image compatible with Raspberry Pi A, B, A+, B+, 2B, 3A+, 3B, 3B+, 4B 1/2/4/8GB, 400, Zero, Zero W and Zero 2.
OctoPi Nightlies
You can also get the 32bit nightlies here or the highly experimental 64bit nightlies here.
Further resources
- For customizing OctoPi, take a look at CustoPiZer.
- Scripts to build the image yourself can be found in OctoPi’s Github repository.
Filip Grzywok maintains “Octo4a”, an Android app that allows you to use an Android based smart phone as an OctoPrint host. Root is not required!
Check out the Octo4a README for information on how to obtain the app, install and run it.
Video
There’s also a video guide on how to get Octo4a up and running by Thomas Sanladerer.
There’s also an official OctoPrint Docker image, octoprint/octoprint
. It is maintained by Brian Vanderbush and team on GitHub.
Please refer to its entry on dockerhub for more details on usage and configuration.
octoprint_deploy is a guided script for creating multiple OctoPrint instances. This enables control of multiple printers on a single piece of hardware. It is compatible with OctoPi and also functions as a general Linux installer for OctoPrint, video streamers, haproxy, etc.
The related octoprint_install serves as a single instance Linux installer.
Both are maintained by Paul Paukstelis.
The generic setup instructions boil down to
- Installing Python 3, including pip.
- Creating a virtual environment somewhere:
python -m venv OctoPrint
- Installing OctoPrint into that virtual environment:
OctoPrint/bin/pip install OctoPrint
- OctoPrint may then be started through
./OctoPrint/bin/octoprint serve
or with an absolute path/path/to/OctoPrint/bin/octoprint serve
More specific setup instructions for the most common runtime environments can be found below.
Linux
For installing OctoPrint on Linux, please take a look at the setup instructions for Raspbian on the forum. They should be pretty much identical on other Linux distributions.
Windows
For installing the OctoPrint server on a Windows system, please take a look at the setup instructions for Windows on the forum.
Mac
For installing the OctoPrint server on a Mac, please take a look at the setup instructions for MacOS on the forum.
Monitor your 3D printer remotely with a Raspberry Pi | by Aicha Fatrah
Upgrade your 3D printer setup
3D printing is cool tech, but I do not trust leaving my printer running for hours without checking on its progress. I once dared to leave the printer running for hours and when I came home I found a pile of spaghetti filament. I lost both time and filament and I had to run the print all over again. Not to mention being worried the whole time I was away that I might burn my apartment down. So I needed a way to monitor the printer while I was away and to also be able to control it in case things went wrong.
After some research, I found OctroPrint, and when I configured it with my 3D printer via my Raspberry pi, I loved the result. I mean, I'm combining two things that I love, 3D printing and a Raspberry Pi computer. I can now control and view my 3D printer from my web browser and initiate prints remotely. So I decided to write this article to share my experience. I’m not going to walk you step by step on how to configure it, because there are plenty of great detailed tutorials, I will be sharing some in the references section. For this article, I’m just going to share the overall setup and the output.
First let me tell you what you will need, or what I have, I’m sure you can do the same with most printers or Raspberry Pis. So hardware-wise:
- Raspberry Pi (Raspberry Pi 3 Model B+)
- Raspberry Pi camera (Raspberry Pi 4 Model B Camera Module) + Camera extension cable
- 3D printer (Creality Ender 3 pro), you can check if your printer is compatible with OctoPrint from their website.
For the software, you will need OctoPrint, OctoPrint is free, open-source software that allows you to remotely perform and monitor all aspects of your 3D printer (like remotely load new prints, monitor extruder temperature, pause or turn off printer …) using a Raspberry Pi computer via a web interface. You can directly install it from your Raspberry pi as I did, or you can mount a new Image dedicated for OctoPrint called OctoPi, the second option will require less configuration. If you are new to Raspberry pi and you don’t want to hustle with networking and camera module configuration then directly install the OctoPi image.
Raspberry pi and the camera moduleI had to print support for the raspberry pi camera module. I, unfortunately, don’t have a long cable to mount the camera directly to my Ender, so I used a simple print I found on Thinkercard. What I liked about this support is that it is simple and requires no additional screws.
3D printed camera module supportOnce you install the OctoPrint on your Raspberry pi and you do your network configuration and 3D printer configuration. You will be able to open a UI via your browser.
OctoPrint InterfaceOctoPrint InterfaceOctoPrint InterfaceAs you can see, I can both see and change different printer parameters, like temperature and axes, I can see the live camera stream and I can stop/resume/run prints.
Enjoy 🖖.
- https://octoprint.org/
- https://community.octoprint.org/t/setting-up-octoprint-on-a-raspberry-pi-running-raspbian-or-raspberry-pi-os/2337
- https://howchoo.com/g/ntg5yzg1odk/using-octoprint-with-the-creality-ender-3-3d-printer
- https://www.tomshardware.com/how-to/raspberry-pi-remote-control-camera-from-web
Klipper screen on Orange pi
Hello community.
I want to say right away that I am not an important writer. I leave this note so that I myself do not forget and others can at least somehow help.
I'm not a Linux expert. So .. copy-paste user. And I won’t decipher the console commands too much. I'm afraid to call it wrong. And some do not even know what they mean and what packages they install.
This page helped.
The story is like this.
For some reason, I wanted to have offline control of a printer that runs on a clipper. Namely, install the clipper screen. On occasion, a 7-inch touchscreen connected via HDMI & USB was purchased. I'll tell you right now, I'm crazy. For a clipperscreen, 5 would be enough, or even less. Not so much information is displayed there at a time.
From iron, there is Raspberry pi 3 b and Orange pi pc plus.
I recently bought an orange for a printer. And after a couple of weeks, my photopolymer grunted, which was driven by a long-bought raspberry.
Initially, I wanted to write the entire history of the installations, but there is already a lot of text and everything is water. On this I will describe the final working version.
Orange Pi PC Plus version.
I focused on it, since there is a built-in emms memory on board, to which you can clone the system and start from it, or just keep the configured clipper as a backup if the flash drive suddenly fails. If desired, you can transfer data from it byte by byte to a new USB flash drive.
It was not possible to launch the screen clipper on the armbian CLI (server) version. The screen in a cyclic reboot showed either a black box (probably an attempt to start the environment and the clipperscreen interface), or a terminal. And so in a circle.
It was possible only on the desktop version of armbian.
But the deployed system is larger than the internal emms.
And here you can cheat.
1. Install the console version of armbian (cli). And through the "Bios"
sudo armbian-config
We find the corresponding item and download the desktop version.
There will be no photo. If you get to the console and clipper, you will find it. Everything is easy there.
We are updating the system.
sudo apt-get update
sudo apt-get upgrade
(whatever it is) And just before installing the clipper in general and the clipperscreen in particular.
sudo apt install xorg xinit xserver-xorg-legacy libjpeg-dev zlib1g-dev python3-pip python3-dev libatlas-base-dev python3-gi-cairo python3-virtualenv gir1.2-gtk-3.0 virtualenv matchbox-keyboard wireless- tools xdotool xinput x11-xserver-utils libopenjp2-7 python3-distutils python3-gi python3-setuptools python3-wheel
3. run two more commands in turn. I do not know their purpose, perhaps they are not even needed, perhaps these packages would have been installed when installing the clipperscreen itself. Nonetheless.
pip3 install vext
pip3 install vext.gi
When installing packages of the second command, an error popped up at the end and a warning about incorrect installation. Or something like that. This did not affect further work.
Actually everything.
The groundwork for the clipperscreen is completed.
4 through KIAUH we install clipper, moonraker and mainsail. There are no difficulties at all. We press the buttons, we agree with everything proposed. There are definitely two Russian-language installation sites and, of course, the clipper page in English.
5 install the klipper screen itself through the same KIAUH (point 5)
Installing the CS is quite lengthy. The longest clipper package in KIAUH.
Next.
In the moonraker.conf file, add 127.0.0.1 to the trusted ip list and save.
Read more here
sudo reboot
Reboot.
In theory, after loading, we should see the interface of the same clipper screen on the screen.
If something is wrong. And the clipper screen is not displayed on the screen, go to the clipper screen site and watch troubleshooting.
We make the necessary changes, the .
Done.
Raspberry variant.
Also, we managed to get a working version only on the desktop version of raspbian.
On the console version, or rather on Mainsail OS, the coipperscreen rose, but the touch did not work.
In general, everything is simple with raspberries. On the same site clipper skria it is written how to prepare a single-board for installation.
Literally one or two changes in the "bios".
Seems like
sudo raspi-config
My raspberry has no built-in memory, so the size of the system on the memory card is not critical at all.
Let's summarize.
The key feature of the clipper screen launcher is installation on the desktop version of the system.
Set "X" before installing the clipperscreen.
That is, if you have a cli version of armbian and the clipper is already working, then you can install xorg, clipper screen, check if it works and if it doesn't work, load the desktop packages.
It should work.
And one more thing. Faced a strange situation. If I immediately put the desktop version on orange pi, then for reasons that were not clear at first, Wi-Fi refused to work on orange. Did not work at the "I do not see iron" level.
In the variant when the desktop was loaded on an already installed CLI version - Wi-Fi seems to work. But there was a moment when I put the battery on charge from the same power adapter. And the wifi fell off. From which I concluded that the desktop version may consume more energy plus the power of the screen itself.
But the low power version is being checked. Since when I just rolled the desktop version, the screen was not connected and no other consumers were turned on. I hope it's all about food. For if this is not so, then I do not know how to treat it. The kernel versions are the same on the two distributions.
I am writing this just in case, suddenly someone else will also come across. Check food. I have 5v 3A
Actually, that's it.
I do not pretend to be the truth, perhaps for someone something will be obvious and will cause bewilderment,
If it came in handy for someone, it's not in vain that I dug around for several days.
All the best.
10 reasons to use OctoPrint for 3D printing
3DPrintStory    Reviews    10 Reasons to Use OctoPrint for 3D Printing
Surely everyone had problems with 3D printing, which was left overnight in the hope of getting a finished 3D model in the morning. Or it was simply not possible to constantly monitor the 3D printing process in order to stop it in time. e in case of an error. It is this problem - the problem of monitoring 3D printing - that is solved with the help of the wonderful free and open source software OctoPrint.
OctoPrint is a Raspberry Pi-based 3D printer application that allows you to remotely control your 3D printer. Created by Gina Heusge in 2012, the software is constantly being improved with new versions and new features (via plugins) coming out regularly.
In this article, we will highlight the top 10 reasons to use OctoPrint. Some of the problems in this list are solved with the help of additional plugins. By the end of this list, you'll probably want to try OctoPrint if you haven't already.
Wireless 3D printing
Many budget 3D printers do not provide the ability to control or monitor the 3D printer wirelessly. Models must either be downloaded to an SD card or transferred directly via cable. These connection options have their limitations. OctoPrint offers an excellent solution to this problem.
As we briefly mentioned earlier, OctoPrint provides software that is installed on the Raspberry Pi and then connected to the 3D printer. Thanks to the wireless capabilities provided by Raspberry Pi, you can control your 3D printer wirelessly via LAN.
OctoPrint allows you to remotely send G codes, control the temperature of the extruder and hot end, monitor the 3D printing process and much more. Thanks to OctoPrint's wireless 3D printing capabilities, you can always control your 3D printer, even if you are not physically present.
3D printing from anywhere in the world
As you know, wireless 3D printing is convenient if you are at home and on the same network. But what if you left home and wanted to start printing and was finished when you got home? Or what if you want to keep an eye on the 3D printing process when you're not at home?
Plug-in OctoPrint Anywhere allows you to control (start and stop) and control 3D printing from literally anywhere. This is a website that can be accessed from your computer or mobile device.
This plugin has a large following, but keep in mind that the OctoPrint developers recently announced that it will eventually be replaced by a more elaborate and updated plugin called Spaghetti Detective.
View G-code
Typically, users using OctoPrint monitor the 3D printing process via a webcam connected to their Raspberry Pi. However, if you don't have a webcam or just want to check your 3D print in a different way, the G-code viewer is a great tool.
This underrated OctoPrint feature shows nozzle position and layer number in real time. You can also find the status of your 3D print in the window just below the renderer, which shows the current G-code commands being sent to the 3D printer.
Commands from the terminal
The ability to send commands from the terminal is a great feature for more advanced users. You can view the codes sent to the 3D printer in real time.
One of the most useful features is sending custom G-code commands to your 3D printer. Instead of relying on another program to communicate with your printer, such as Pronterface, you can directly send commands to the OctoPrint terminal.
This feature can be useful in a number of scenarios. If you need to calibrate your 3D printer, you can view the existing system presets in a terminal command. Some commands also allow you to enter and save new calibrated values. This is a very handy feature for those who like to tinker with their 3D printer at a deeper level.
Slow motion
You know that 3D printing is a long process, it can take hours to print one model. Setting up a time-lapse video allows you to view the entire 3D printing process, which lasts several hours, in a matter of seconds.
With OctoPrint and with a camera connected to your Raspberry Pi, you can capture excellent frame-by-frame 3D printing video by setting the frame rate and interval between shots. For true enthusiasts, there are also more advanced customization options.
OctoPrint stores the timelapse locally on the Raspberry Pi and you can download it to your computer. Another useful feature of time-lapse video is the ability to determine the exact cause of a 3D print failure, or at least the point at which the failure occurred.
Octolapse is a plug-in that builds on the functionality of OctoPrint's Timelapse section to produce cleaner, crisper videos.
Slicing 3D Models in the Cloud
Cloud Slicing, as the name suggests, is a remote slicing feature that allows you to slice your 3D models without actually installing the slicing software on your computer. Model slicing is performed using a plugin installed on the Raspberry Pi.
Consider the scenario where your laptop is full of applications and you can't/don't want to install a new slicer. Or imagine not wanting a slicer for every computer you use. This is where the Cloud Slicing plugin fits in perfectly. This feature uses the Cura or Slic3r engine plugin.
Touch screen for user interface
Touch screen user interface has become the norm for many everyday devices. However, many 3D printers still lack this useful feature.
With the OctoPrint TouchUI plugin, you can add this feature and display the OctoPrint interface on the touch screen. This plugin will allow you to use OctoPrint without connecting a computer. The user interface on the touch screen is very similar to that in the browser, so the transition in terms of learning a new interface will not be difficult.
Installing a touch screen can seem like a tedious task, but there are plenty of tutorials and videos to help you through the process.
Open-source community
Individual developers have spent hours of their time improving 3D printing, including free and open source software such as Marlin, Cura, and OctoPrint itself.
OctoPrint's popularity is largely due to open source and free access. All source code is available on the GitHub page. Thanks to this, many users and developers have shared their ideas and brought them to life. User-developed plugins greatly extend the functionality of OctoPrint.
Manage multiple 3D printers
As you can imagine, this function is useful when you are working with more than one 3D printer. You can connect multiple webcams to one Raspberry Pi.
The video below provides instructions (in English) on how to install three printers on a Raspberry Pi:
Another option is to use OctoFarm, a free and open source service that allows you to control and monitor multiple 3D printers on a single Raspberry Pi. With it, you can monitor multiple 3D printers on the same screen, send files for 3D printing, and monitor the printing progress.
List of useful plugins for OctoPrint
In general, it is quite difficult to make the top 10 useful OctoPrint features, as the list is really huge. So below is a small selection of additional plugins that will help you simplify and secure the 3D printing process.
- Pushover: This plugin sends you push notifications when a print is completed or 3D print fails for some reason. A simple and very practical plugin.
- Heater timeout: It often happens that the 3D printer stays on and the extruder is still hot, which can cause a fire. This heater timeout plug-in disables hot end heating after a set amount of time. This will help you avoid potential fires and excessive electricity bills.
- Emergency stop: there is always the possibility that something might go wrong during 3D printing. This plugin adds a large red bar at the top of the OctoPrint user interface which, when clicked, will stop the 3D printer from working.
- Bed level visualizer: This plugin is great for those who have installed a bed level visualizer on their 3D printer. This plugin allows you to view the table level measured by the sensor.
Learn more