Die Software OctoPrint bietet ein Interface zum Verwalten von 3D-Druckern, welche vom PC oder Handy gesteuert werden können. Um auf dem Raspberry Pi OctoPrint zu installieren, brauchen wir nicht viel. Dafür sind die Erweiterungsmöglichkeiten sehr groß: Wer den Status seines Drucks beobachten möchte, kann so z.B. eine kleine Webcam anschließen.
Günstigere 3D-Drucker sind normalerweise etwas lauter und stehen deshalb meist an abgelegenen Orten. Außerdem drucken sie oft nur über eine SD-Karte und haben keinen Netzwerkanschluss. Wer seinen Druck direkt übertragen will, oder den Druckvorgang überwachen will, greift auf die Open Source Lösung OctoPrint zurück, welche optimal mit dem Raspberry Pi funktioniert. In diesem Tutorial schauen wir uns die Installation und viele mögliche Erweiterungen an.
Was ist OctoPrint und welchen Nutzen hat es?
OctoPrint ist eine Software, welche einen 3D-Drucker steuern und verwalten kann. Üblicherweise werden die zu druckenden Objekte von einer SD-Karte übertragen. Somit muss man allerdings den Status und weitere Druckaufträge immer direkt am 3D-Drucker vornehmen, was nicht sehr bequem ist.
Das User-Interface von OctoPrint ist eine komfortable Lösung, um all das zu umgehen. Neben dem Status des Drucks können auch neue Druckaufträge gestartet werden. Außerdem ist es möglich eine Menge Plugins zu installieren und somit z.B. den Druckvorgang per Kamera zu verfolgen oder aber – je nach Status – LEDs leuchten zu lassen.
Der Raspberry Pi eignet sich besonders als OctoPrint (OctoPi) Lösung, da er sehr günstig ist (sowohl das Gerät als auch die Stromkosten) und er offen für Erweiterungen ist (Stichwort GPIOs).
Zubehör
Bis auf den Raspberry Pi, einem 3D-Drucker und den Kabeln benötigst du im Prinzip kein weiteres Zubehör. Der Vorteil ist aber, dass wir mit dem Raspberry Pi und OctoPrint noch sehr viel mehr umsetzen können. Daher ist hier die Liste von Teilen, die ich verwendet habe:
- Raspberry Pi 4
- Micro-SD-Karte (16 GB+)
- 3D-Drucker: Creality Ender 3 v2
- Micro-USB-Kabel als Verbindungsstück
- USB Webcam (alternativ: offizielle Raspberry Pi Kamera)
- LED Streifen des Typs WS2812
- optimal: Netzwerkkabel
Als Filament nutze ich PLA.
Vorbereitung: Raspberry Pi OctoPrint Version installieren
Zunächst einmal laden wir uns die aktuellste Version von OctoPrint herunter. Diese gibt es hier zum Download:
Die ZIP Datei beinhaltet das zu flashende Image und muss nicht entpackt werden. Dafür kann es direkt mit dem BalenaEtcher auf die SD-Karte geflashed werden. Wähle dazu einfach die ZIP-Datei, den Laufwerkbuchstaben, unter der deine microSD-Karte zu finden ist und drücke auf Flash. Der Vorgang dauert etwa 20 Minuten.

Damit wir „Headless“ loslegen können (d.h. ohne Tastatur und Maus), empfehle ich nach dem Flashen noch Folgendes:
- Lege eine leere Textdatei namens ssh (ohne .txt Endung) auf der microSD-Karte an.
- Erstelle eine Datei namens wpa_supplicant.conf (wie hier erklärt) oder ändere die existierende octopi-wpa-supplicant.txt Datei mit folgendem Inhalt und passe sie entsprechend an:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=DE network={ ssid="DEIN WLAN NAME" psk="WLAN PASSWORD" key_mgmt=WPA-PSK }
Stecke die microSD-Karte nun in den Raspberry Pi. Nachdem der Pi gestartet ist, können wir uns per SSH verbinden. In Windows geht dies z.B. per Putty, auf Linux oder Mac geht das einfach über das Terminal (alternativ mittels der internen IP-Adresse des Raspberry Pi’s):
ssh pi@octopi.localdomain
Das Passwort des Users „pi“ ist standardmäßig „raspberry“. Ich empfehle das Standardpasswort zu ändern:
passwd
Es empfiehlt sich zunächst immer das Betriebssystem und seine Paketquellen zu aktualisieren:
sudo apt-get update sudo apt-get upgrade
Erste Einrichtung
Nun öffnen wir einen beliebigen Browser am Computer und rufen folgende URL auf:
Hier öffnet sich der Einrichtungsassistent von OctoPrint. Zunächst legen wir einen User an (dieser hat nichts mit unserem Raspberry Pi zu tun). Ich empfehle stark die Zugriffsbeschränkung aktiviert zu lassen, vor allem, wenn du später auch von außerhalb auf OctoPrint über dein Smartphone zugreifen willst.
Die anonymen Statistiken kannst du – je nach gutem Willen – an oder aus stellen. Sie helfen den Entwicklern allerdings bei der Verbesserung von OctoPrint.
Die Onlineprüfung kann so stehen bleiben. Ich finde die Aktivierung nützlich.
Da wir später die Möglichkeit haben alle möglichen Plugins zu installieren, kann es auch vorkommen, dass unsichere Plugins dabei sind. Hierfür ist die Pluginblackliste da, welche auch sinnvoll ist.
Zu guter Letzt geben wir noch das Druckprofil an. Diese kannst du z.B. im Handbuch deines Druckers einsehen. In meinem Fall (Creality Ender 3 v2) sind diese Folgende:
- Formfaktor: Rechteckig
- Ursprung: unten links
- Heizbett: ja
- Breite (X): 220 mm
- Tiefe (Y): 220 mm
- Höhe (Z): 250mm
- Düsendurchmesser: 0.4 mm
Die meisten voreingestellten Werte passen also bereits.
Danach können wir den Wizard beenden und uns den nächsten Schritten widmen.
Erster Testdruck über OctoPrint
Bevor wir weitere Einstellungen vornehmen und Plugins installieren, wollen wir einen ersten Testdruck starten. Verbinde den Raspberry Pi mit einem (Micro) USB-Kabel mit deinem 3D-Drucker und öffne das OctoPrint Interface.
Zunächst einmal verbinden wir uns mit dem Drucker (AUTO Einstellungen sollten ausreichen). Danach ändert sich der Status zu „Bereit“. Falls eine SD-Karte im Drucker ist, werden dir darunter die Dateien angezeigt, welche du direkt drucken kannst. Darunter hast du die Möglichkeiten direkt deine (.gcode) Dateien hochzuladen – so ersparst du dir das ständige Wechseln der microSD-Karte.
Außerdem kannst du rechts die Nozzle (Tool) und das Bett vorheizen und hast weitere Möglichkeiten zur Steuerung.
In meinem Fall (Ender 3 v2) musste ich noch ein Plugin installieren, damit die Temperatur richtig angezeigt wird.
OctoPrint Pi Kamera Setup
Als Nächstes möchten wir für OctoPrint eine Kamera einrichten, um so den Druck live vom Webinterface sehen zu können. Vielleicht wirst du dich fragen, welches die beste Kamera für OctoPrint ist? Hier kannst du sowohl eine normale USB Kamera bzw. Webcam nutzen, oder z.B. das offizielle Raspberry Pi Kameramodul. Ich würde hier nicht zu einer teuren HD-Webcam raten, da wir lediglich den Druckstatus sehen wollen und keine gestochen scharfen Bilder benötigen.
Verbinde also zunächst deine Kamera per USB oder dem CSI Anschluss. Entweder wirst du direkt ein Bild unter dem Reiter „Steuerung“ sehen, oder du musst den Raspberry Pi über das Menü oben rechts zunächst neu starten. Sollte es danach noch nicht geklappt haben, kannst du unter Einstellungen > Webcam & Zeitraffer weitere Konfigurationen vornehmen.
Kamera Positionierung und Halterung
Häufig werden die Kameras direkt am Druckbett angebracht, sodass immer der gleiche Teil zu sehen ist. Beim Bewegen des Druckbetts war mir allerdings das Bild zu wackelig, weshalb ich mir eine Halterung für die Z-Achse gedruckt habe und meine Raspi Cam dort angebracht habe.
Übrigens: Du kannst auch mehrere Kameras / USB Webcams anbringen. So kannst du den Druck aus verschiedenen Perspektiven beobachten. Achte dabei darauf, dass der Raspberry Pi genügend Strom liefern kann: Das Pi Modell 4B ist hier die erste Wahl! Du brauchst dafür lediglich ein Plugin wie Multicam.
Druckstatus von OctoPrint über WS2812 LEDs anzeigen
Da mein Drucker in einem Schrank ist, ist mir eine gute Beleuchtung davon wichtig. Die günstigen WS2812 RGB LED Strips sind dafür bestens geeignet. Außerdem können sie zusätzlich noch den Druckstatus in Farben anzeigen.
Zunächst einmal muss der LED Streifen mit dem Raspberry Pi verbunden werden. Bei wenigen LEDs brauchst du keine zusätzliche Stromversorgung. Ansonsten kannst du dem Schema hier folgen:
- Pi GND an LED GND
- Pi GPIO 10 an LED DIN
- Raspberry Pi 5V an LED 5V (nur, falls du keine externe Stromversorgung verwendest)
Danach habe ich dieses Plugin genutzt. Du kannst es einfach installieren, indem du unter Einstellungen > Pluginmanager > Mehr (Button) navigierst und folgende URL eingibst:
https://github.com/EricHigdon/OctoPrint-RGB_status/archive/master.zip
Danach muss der Raspberry Pi allerdings neugestartet werden. Danach öffnet sich ein Wizard, in dem du abschließende Einstellungen vornehmen kannst. In den Einstellungen kannst du später auch noch den GPIO, den Typ (wichtig: WS2812 auswählen), die Anzahl der LEDs usw. verändern.
Weitere Informationen zu dem Plugin gibt es auf der zugehörigen Wiki-Seite auf GitHub.
Integration in Ultimaker Cura
Zum Slicen und setzen der Stützstrukturen nutze ich am liebsten die kostenlose Version von Ultimaker Cura. Was daran besonders toll ist: Es gibt eine OctoPrint Integration!
Gehe dazu einfach auf die GitHub Seite von dem Projekt und lade die ZIP Datei herunter. Dann entpacken wir den Ordner nach:
[Cura configuration folder]/plugins/OctoPrintPlugin
An den Ordner kommst du über Cura -> „Help“ -> „Show Configuration Folder“. Danach musst du Cura neustarten.
Hier gibt es ein kurzes Video, in dem die Schritte erklärt sind:
Sinnvolles OctoPi Zubehör
Neben den vorgestellten Erweiterungen für OctoPrint gibt es noch eine Menge weiteres nützliches Zubehör. Hier mal eine kurze, unvollständige Liste, die ich noch geplant habe:
- Touchdisplay: Als reine Cloud-Lösung ist OctoPrint hervorragend, aber manchmal möchte man auch direkt am Drucker Einstellungen verändern können. Wenn man das beigelegte 3D-Drucker Display bereits ausgetauscht oder entfernt hat, kann sich über einen Raspberry Pi Touchscreen Gedanken machen. Für kleinere Displays gibt es auch schöne Halterungen auf Thingiverse.
- 3D-Drucker erst beim Drucken anschalten: Da ich nicht die ganze Zeit drucke, stören mich die Geräusche der Lüfter. Da ich nicht jedes Mal den Drucker manuell anschalten will, ist eine Lösung mit Funksteckdosen interessant! Damit wird der Drucker erst dann gestartet, wenn wirklich etwas gedruckt wird. Der Raspberry Pi bzw. OctoPrint können somit dennoch weiter laufen – ohne störende Geräusche. Außerdem sparen wir so etwas Strom.
- Rauchmelder: Mein Drucker ist in einem IKEA Pax Schrank platziert. Da die Nozzle bei mehreren Hundert Grad Plastik schmelzen lässt, besteht natürlich ein Restrisiko, dass etwas anfängt zu brennen. Hierfür bin ich am überlegen einen Wifi / Z-Wave Feuermelder zu installieren, sodass der Druck auch automatisch angehalten wird, sobald Rauch erkannt wird. Bei einer verstopften Nozzle ist somit im Idealfall nicht direkt der gesamte Druck unbrauchbar.
- Filament Sensor: Bevor das Filament leer ist, möchte ich darüber informiert werden. Dafür gibt es Sensoren, die melden können, wann das Filament zu Neige geht und wir ggf. den Druck anhalten. Diese Filamentsensoren können entweder direkt in OctoPrint eingebunden werden, oder aber über die GPIOs ein Signal an den Raspberry Pi geben, wodurch wir dann die OctoPi API aufrufen können und den Druck anhalten.
- Filament-Waage: Normalerweise ist auf einer Rolle Filament 1kg + Gewicht der Rolle. Das kann uns Aufschluss geben, wie viel wir noch drucken können, bevor das Filament gewechselt werden muss. Ausgehend von meinem Tutorial hat ein User eine OctoPrint-Library veröffentlicht, mit der eine Gewichtsanzeige im OctoPrint-Interface integriert wird.
Falls du weitere Ideen hast, kannst du sie gerne in einem Kommentar erwähnen – ich erweitere dann die Liste.


7Â Kommentare
Warum setzen die Projekte immer auf dem Raspi 4 auf? Ich fÀnde es besser, wenn die Minimalkonfiguration die Grundlage wÀre.
Hi Norbert,
ich schreibe immer die Pi Version dazu, die ich benutze – meist ist das die aktuellste. In den allermeisten FĂ€llen sind die Tutorials auch mit vorherigen Versionen kompatibel.
LG, Felix
Es gibt tatsÀchlich die Möglichkeit, den Octopi direkt mit Linux zu installieren. Dazu habe ich diese Anleitung benutzt: https://octoprint.org/download/
Man kann den Octoprint beispielsweise in Node-Red einbinden, so hab ich es bei mir daheim gemacht und wenn der druck fertig ist, kann ich ĂŒber Telegram oder E-Mail benachrichtigt werden.
Hallo zusammen,
ein Bekannter hatte mich neulich zufÀllig auf OctoPrint aufmerksam gemacht, deshalb hatte ich es vor Kurzem selber schon mal getestet. Mein Urteil fÀllt allerdings nicht so gut aus. Folgende Kritikpunkte habe ich:
– Die Ansteuerung der SD-Karte an meinem Ender-3D-Druckers funktioniert nicht!
– Der Druck wird nicht so gut, weil die Daten ĂŒber das USB-Kabel geschickt werden mĂŒssen und zu langsam sind.
– Wenn ich mich vom OctoPrint abmelde, bleibt das Display vom Drucker an, ob wohl ich den Drucker ausgestellt habe. Ich muss erst das USB-Kabel abziehen, damit es ausgeht. Das finde ich nicht so gut.
– Auf dem Display vom Drucker wird der Druckfortschritt nicht angezeigt, wenn ich es remote drucke. Man muss also immer zum entfernten Computer rennen um zu sehen, wie weit der Druckvorgang ist!
– Umgekehrt habe ich auch dieses Problem. Wenn ich den Druckvorgang am Drucker starte, wird am OctoPrint der Fortschritt nicht angezeigt. Nur die Temeraturanzeige wird angezeigt, die aber nichts darĂŒber aussagt wie weit der Druck ist, denn die Temperatur sollte wĂ€hrend des Druckes ja konstant bleiben.
– Es gibt kein deutsches Forum und deutsche Hilfestellungen, nach meinem Wissen!
– Die AnschlĂŒsse sind anscheinend nicht genormt, denn mein Drucker braucht ein Mini(!)-USB-Kabel, dass ich mir neulich erst noch besorgen musste, denn Micro-USB-Kabel fliegen bei mir en masse herum.
Und ich hÀtte noch folgende Anmerkungen dazu zu machen:
– Das Plugin von Ultimaker Cura habe ich noch nicht ausprobiert, wĂ€re aber einen Versuch wert.
– Ich versuche schon seit Jahren einen kostenlosen, durch kollektive Intelligenz gestĂŒtzten Support anzubieten. Bisher leider ohne Erfolg: https://gitlab.com/horald/raspiprojects/-/blob/master/liesmich.md
Viele GrĂŒĂe von einem begeisterten Raspberry Pi Fan
Horst Meyer
Hallo,
mich interessiert dieses Projekt, aber ich frage mich, wohin mit dem Raspberry?
Der steht neben dem Drucker und wird nicht daran fixiert?
Mit freundlichen GrĂŒĂen
Pro Ape
Da suchst Du mal auf Thingiverse nach einem GehĂ€use fĂŒr den RasPi, das man am Druckerprofil einschieben kann. Dazu noch einen Arm fĂŒr die Kamera. Die holst Du Dir bei Elektreeks mit UV- Sperrfilter, kostet etwas mehr, aber liefert viel bessere Bilder als die RasPi-Cam.