Dieser Guide beschreibt die Aktualisierung des Qidi X-Plus 3 auf die aktuellste Software inkl. einiger nützlicher und optionaler Tools mit euch teilen. Dieser Guide ist kompatibel mit dem Qidi X-Max 3 und dem X-Plus 3.
Dieses Tutorial basiert auf der Arbeit von coco.33 und wurde in seiner Urfassung auf FreeQIDI veröffentlicht und bezieht sich auf die Qidi X-3 Serie.
Caution
Bitte beachtet, dass weder ich noch andere dritte Personen für Schäden an eurem Drucker verantwortlich sind, solltet ihr diesem Tutorial folgen. Ihr werdet das System komplett neu aufsetzen. Dies beinhaltet auch das Flashen aller MCUs wie Druckkopf oder den STM-Chip des Mainboards. All eure Gcodes sowie eure derzeitige printer.cfg sollten daher gesichert werden. Solltet ihr damit einverstanden sein und Änderungen durchgeführt werden, erlischt auch jeglicher Garantieanspruch an Qidi.
Die Hardware des Druckers an sich ist solide und hat das Potential für sehr gute Druckergebnisse. Der Flaschenhals der Serie 3 ist jedoch die veraltete Software. Eine Gegenüberstellung macht sichtbar warum allein dies ein Grund ist, das System neu aufzusetzen.
Qidi original | Aktueller Build |
---|---|
Armbian Buster | Armbian Bookworm |
Klipper 0.10.x | Klipper 0.12.x |
Moonraker 0.7.x | Moonraker 0.9.x |
Fluidd 1.19.x | Fluidd 1.30.x |
Mainsail? | Mainsail 2.11 |
Python 2.7 und 3.7 | Python 3.12 |
Mit einer Aktualisierung des kompletten Systems bekommt man die Möglichkeit, jegliche derzeit aktuelle Software zu nutzen und den Drucker, um einige nützliche Tools zu erweitern. Der benötigte Speicherplatz auf der EMMC sinkt von derzeit knapp 6,5GB auf rund 3GB. Falls ihr die originale Speicherkarte weiter benutzen wollt, ist dies ein nicht zu unterschätzender Faktor.
Ich persönlich würde jedoch zur 32 GB-Karte von Qidi raten, da mit einigen zusätzlichen Tools der Speicherverbrauch schnell die 8GB überschreitet. Vereinfacht gesagt bekommt ihr einen Drucker, welcher richtig konfiguriert dem Original überlegen ist und der dem Gedanken von Open Source so nah wie nur möglich kommt.
Wo Licht ist, ist leider auch Schatten. In diesem Fall betrifft es das originale Display des Druckers. Dieses lässt sich derzeit nach der Aktualisierung nicht mehr benutzen. Das Display ist im Prinzip ein eigenes System auf dem die Druckoberfläche des Druckers läuft und seriell an das Mainboard angeschlossen ist. Aufgrund diverser Modifikationen an Klipper und Moonraker durch Qidi hat man so eine Schnittstelle zwischen Display und System geschaffen. Dies ist somit auch der Grund warum eine Aktualisierung von Moonraker bzw. Klipper auf einem bestehenden System diese Fehlermeldung erzeugt.
Eine Alternative für das Display stelle ich später im Tutorial vor.
Noch interessiert? Dann starten wir jetzt durch.
Was wird alles benötigt?
- EMMC-Reader – ich würde die 32GB EMMC von Qidi kaufen, da ist der Reader mit dabei
- SD-Card-Adapter auf MicroSD oder USB-Adapter auf MicroSD
- MicroSD-Karte - maximal 32GB
- Optional 5+ Zoll Touchdisplay und ein Raspberry ab Version 3
- balenaEtcher - zum flashen des Betriebssystems auf die EMMC
- Armbian Image - Abbild des zu flashenden Betriebssystems Armbian 24.2.0-trunk Bookworm
- Raspberry Imager - für die Installation des Displays benötigt
- Putty - Tool um per SSH auf den Drucker zuzugreifen
- WinSCP - Tool um per FTP auf den Drucker zugreifen zu können
- MobaXterm - Alternative für Putty und WinSCP
- Da das komplette System gelöscht wird, erstellt bitte ein Backup eurer G-Codes und der printer.cfg
- Zusätzlich wird eine LAN-Verbindung für die Einrichtung des Systems benötigt. WLAN geht NICHT!
Nachfolgend eine möglichst detailierte Anleitung, die durch den Update-Prozess führt.
Da wir am offenen Gerät arbeiten, muss zuerst die Stromversorgung unterbrochen werden. Dreht euren Drucker so, das ihr gut an der Rückseite die Schrauben der Abdeckung entfernen könnt. Mit Hilfe dieser Anleitung baut ihr die EMMC aus. Bevor ihr die EMMC ausbaut, einmal sich selbst erden und ein Backup eurer Gcodes nicht vergessen. Sicher ist sicher.
- Die EMMC per EMMC-Reader mit dem PC verbinden.
- balenaEtcher starten und das vorher heruntergeladene Armbian Image auf die EMMC flashen.
- Entsprechend der Anleitung die EMMC wieder auf dem Mainboard einstecken.
- LAN-Kabel und Stromversorgung anschließen.
- Drucker einschalten – Das System fährt nun hoch und der Drucker bekommt seine IP vom Router zugewiesen.
- Router öffnen und die derzeitige IP des Druckers heraussuchen und dem Drucker fest zuweisen. Nachfolgend ein Bild der Einstellungen auf der Fritz!Box. Wer einen anderen Router hat, muss selber suchen.
- Putty starten und entsprechend konfigurieren. Verbindung per SSH auf den Drucker. User ist „root“ und Passwort „1234“. Es folgt nun die Ersteinrichtung des Armbian OS. Unteranderem müsst ihr dem User "root" ein neues Passwort geben, die Zeitzone und eure favorisierte Shell auswählen. Ich benutze bash.
- Ihr werdet aufgefordert einen neuen Nutzer anzulegen. Als Namen tragt ihr „mks“ und als Passwort „makerbase“ ein. Aufforderungen einen Real-Namen einzugeben könnt ihr ignorieren und mit Enter bestätigen.
- Verbindung zum Drucker neustarten und mit dem zuvor erstellten User mks einloggen.
- Aktualisierung des Betriebssystems mit folgenden Befehlen:
sudo apt update
sudo apt upgrade
Bei einigen Tools kann es passieren, dass es keinen sichtbaren Fortschritt in der Konsole gibt. Das ist normal, also kein Grund zur Panik. Einfügen von Befehlen in Putty erfolgt per Rechtsklick. Wollt ihr etwas aus Putty kopieren, reicht es den Text mit gedrückter linker Maustaste zu markieren. Der Text wird automatisch in die Windows-Zwischenablage kopiert.
Dieses nützliche Tool installiert, aktualisiert und deinstalliert automatisch von uns ausgewählte Tools. Wie gehabt die Befehle kopieren um mit der Installation zu starten.
sudo apt-get update && sudo apt-get install git -y
cd ~ && git clone https://github.com/dw-0/kiauh.git
./kiauh/kiauh.sh
Nach erfolgreicher Installation solltet ihr euch im Hauptmenü von KIAUH befinden.
Über Menüpunkt 1 diese Software in dieser Reihenfolge installieren. Klipper->Moonraker->Mainsail. Klipper fragt während der Installation nach der Python-Version, immer Version 3 auswählen! Bei der Anzahl der Instanzen wählt ihr 1. Bei der Installation von Mainsail wird die Frage gestellt, ob Macros installiert werden sollen. Hier mit JA antworten.
Die Installation wird einige Zeit in Anspruch nehmen, daher geduldig sein auch wenn sich in der Konsole mal nichts tut. So sollte das am Ende in KIAUH aussehen.
Die IP des Druckers im Browser eingeben und so auf die Weboberfläche zu verbinden. Es wird eine Fehlermeldung ausgegeben, da auf diversen MCUs eine veraltete Klipper-Firmware installiert ist. Kein Grund zur Panik. Jetzt beginnt der Spaß.
Caution
Es ist wichtig, das ihr vor dem aktualisieren des Druckkopfs ALLE USB-Geräte vom Mainboard trennt. Das sind Geräte wie eine Webcam oder den WLAN-Dongle. Bei Nichtbeachtung wird es zu Problemen während des Aktualisierungsvorgangs kommen.
Um den Druckkopf zu flashen, müssen wir ihn in den "DFU-Modus" versetzen. Dies erfordert das physische Drücken von 2 Knöpfen. Dieser Schritt wird später genauer erklärt.
Wir verbinden uns mit Putty per SSH auf unseren Drucker und loggen uns mit mks/makerbase ein. Nach dem Einloggen nachfolgende Befehle in die Konsole eingeben:
git clone https://github.com/Arksine/katapult
cd ~/katapult
make menuconfig
Wir befinden uns nun im Katapult-Konfigurations-Menü.
Zuerst ändern wir die Section “Micro-controller Architecture" auf RP2040.
Als nächstes sicherstellen, das unter „Build Katapult deployment application der Bootloader auf „16KiB bootloader“ steht.
Mit “Q” beenden und mit „Y“ speichern.
Jetzt erstellen wir unsere erste Firmware in dem wir nachfolgenden Befehl eingeben:
make clean
make -j4
In der Konsole solltet ihr folgende Ausgabe sehen:
Nachfolgenden Befehl in die Konsole für folgende Ausgabe eingeben. Man sieht das auf dem Druckkopf Klipper installiert ist. Beachtet das die ID auf dem Bild, die MEINES Druckers ist!
ls /dev/serial/by-id/*
Druckkopf in DFU-Mode versetzen. Hierfür wie folgt vorgehen:
- Hintere Abdeckung des Druckkopfs entfernen
- Boot-Knopf drücken und gedrückt halten
- Reset-Knopf drücken und wieder loslassen
- Boot-Knopf loslassen
Folgende Befehle in die Konsole eingeben um das Flashen des Druckkopfs vorzubereiten:
sudo mount /dev/sda1 /mnt
systemctl daemon-reload
Es folgt eine Abfrage des Passworts des User mks. Hier also makerbase eintragen.
Nachfolgende Befehle flashen Katapult auf den Druckkopf:
sudo cp out/katapult.uf2 /mnt
sudo umount /mnt
Wenn nachfolgender Befehl eingegeben wird, sollte die Bestätigung angezeigt werden, das Katapult auf dem Druckkopf läuft.
ls /dev/serial/by-id
Nachdem nun Katapult auf dem Druckkopf installiert wurde, wird der nächste Schritt das Flashen von Klipper sein. Da wir erstmal nicht mehr an den Druckkopf müssen, kann die hintere Abdeckung des Druckkopfs montiert werden.
Folgende Befehle in die Konsole eingeben:
cd ~/klipper
make menuconfig
Im Prinzip wird hier ähnlich des Konfig-Menüs von Katapult verfahren. Wie auf dem nachfolgenden Bild dargestellt das Menü konfigurieren.
Mit "Q" beenden und mit "Y" speichern.
Mit nachfolgenden Befehlen wird die Firmware komplilliert:
make clean
make -j4
Dies sollte nach dem kompilieren der Firmware in der Konsole stehen. Die Warnung kann ignoriert werden.
Warning
Mit nachfolgenden Befehl die ID aufrufen und alles nach „usb-katapult_rp2040_“ in den Zwischenspeicher kopieren und dann in eine .txt-Datei. Dies ist EURE Serial-ID des Druckkopfs. Alle IDs auf diesen Bildern sind die MEINES Druckers und dürfen nicht auf EUREN Drucker geflasht werden.
ls /dev/serial/by-id/*
Das muss in eurer Konsole stehen - “/dev/serial/by-id/usb-katapult_rp2040_EURE-ID”
Installation python3-serial mit folgendem Befehl. Dies ermöglicht es uns den Druckkopf zu flashen.
sudo apt install python3-serial
Warning
Stellt sicher, dass ihr auch EURE ID benutzt. Nachfolgenden Befehl komplett mit EURER ID in die Konsole einfügen. EURE ID habt ihr in einer Text-Datei zwischengespeichert.
python3 ~/katapult/scripts/flashtool.py -f ~/klipper/out/klipper.bin -d /dev/serial/by-id/usb-katapult_rp2040_EURE_ID
So sollte es in der Konsole aussehen:
Fertig! Der Druckkopf ist auf Klipper 0.12 geflasht.
Vorgehensweise ähnlich des Flashvorgangs des rp2040. Nachfolgende Befehle in die Konsole eingeben:
cd ~/klipper
make menuconfig
Alles wie auf dem Bild dargestellt einstellen und wieder mit "Q" beenden und "Y" speichern
Jetzt wird die letzte Firmware mit folgenden Befehl kompiliert:
make clean
make -j4
Dieser Prozess erstellt eine „klipper.bin“ im Ordner /home/mks/klipper/out/. Die Warnung während des Kompilierens kann ignoriert werden.
In WinSCP ein neues Verbindungsziel erstellen, die IP des Druckers eintragen. Benutzername und Passwort leer lassen und auf "speichern" klicken. Als nächstes auf "anmelden" drücken und im nächsten Fenster die Login-Daten des Users mks eintragen und die klipper.bin, wie im Bild gezeigt aus /home/mks/klipper/out/ herunterladen.
- Die MicroSD-Card als FAT32 formatieren. Wichtig! Keine Karte größer 32GB benutzen!
- Die klipper.bin in X_4.bin umbenennen und auf die SD-Karte direkt ins Root-Verzeichnis kopieren.
- Die MicroSD-Karte auswerfen.
- Den Drucker am Netzschalter ausschalten und mindestens 30 Sekunden warten, damit sich der Superkondensator entladen kann.
- Die MicroSD-Karte in den Kartenslot des Mainboards stecken und den Drucker wieder anschalten. Die STM32F402 MCU wird nun geflasht. Der Prozess sollte ungefähr 10 Sekunden dauern. Zur Sicherheit den Drucker erst nach 1 Minute ausstellen und die SD-Karte entfernen.
Den Stecker des Display vom Mainboard ziehen, da dieses nur eine Fehlermeldung anzeigen wird. Drucker anschalten und auf die Weboberfläche zugreifen. Im Tab "Maschine" sollte nun nachfolgendes Bild angezeigt werden. Die Fehlermeldung bzgl. der mcu MKS_THR wird erstmal ignoriert. Darum kümmern wir uns später.
Hintere Abdeckung des Druckers montieren und dabei achten, die Schrauben nicht zu fest ins Gewinde zu drehen, da man hier leider nur in Plastik schraubt. Wer auch das alternative Touchdisplay installieren möchte, kann den Drucker offen lassen.
Herzlichen Glückwunsch - das Fundament ist geschaffen.
Important
Vorab noch eine Klarstellung. Wenn ihr dem Guide weiter folgt, bekommt ihr den Softwarestand der aktuell auf meinem Drucker ist. Falls ihr das nicht wollt und euren Drucker anders konfigurieren möchtet, dann ist dies der Zeitpunkt abzuspringen. Klipper, Moonraker und Mainsail sind up to date. Was zu flashen war wurde geflasht.
Es muss nun lediglich die printer.cfg von euch angepasst werden. Das bedeutet es müssen die Pin-Belegungen, Extruder, Lüfter im Prinzip der komplette Hardwareteil plus Macros eingepflegt werden. Dafür könnt ihr eure alte printer.cfg ausschlachten. Wer das nicht möchte folgt weiter dem Guide.
Die printer.cfg ist quasi das Herzstück des Druckers. In ihr sind alle Einstellungen der Hardware wie Extruder, Lüfter etc. gespeichert. Sie enthält in der Regel alle benötigten Macros und Verweise auf Configs anderer Tools. Derzeit fehlen in der printer.cfg wichtige Einträge. Dies ist auch der Grund warum es auf der Weboberfläche eine Fehlermeldung gibt.
Wer weis was er macht und sich seine printer.cfg entsprechend seinen Vorstellungen und Wünschen konfigurieren möchte, kann diesen Part überspringen. Für alle anderen weiter im Text.
Die originale printer.cfg von Qidi ist ein ziemliches Durcheinander mit teils sinnlosen und gefährlichen Macros - Stichwort wäre hier "Force_Move". Da werden so einige Druckköpfe in die Druckbetten oder über das Druckbett hinaus gefahren sein.
Die von mir angebotenen printer.cfg sind für den X-Plus 3 sowie für den X-Max 3. Für eine bessere Übersicht enthalten diese printer.cfg nur technische Einstellungen für die Hardware des Druckers. Alles was Macros betrifft ist in einer eigenen macro.cfg gesammelt. Dazu kommen noch ein paar separate Configs. Alles per "include" in die printer.cfg eingebunden.
- Die dem Drucker entsprechende RAR-Datei herunterladen und entpacken
- Mainsail aufrufen und im Tab "Maschine" die printer.cfg mit einem Rechtsklick markieren, löschen und über "Datei hochladen" die printer.cfg aus dem Archiv hochladen
- In Mainsail auf printer.cfg klicken - es öffnet sich der Mainsail-Editor
- Folgenden Abschnitt suchen und dort EURE ID eintragen.
[mcu MKS_THR]
[serial:/dev/serial/by-id/usb-Klipper_rp2040_55DA4D9503AF5658-if00
Im Mainsail-Editor auf "Speichern und Neustart" klicken. Klipper wird neu gestartet und lädt alle Configs. Wenn die ID unter mcu MKS_THR korrekt eingetragen wurde, sollte auch die mcu-bezogene rote Fehlermeldung weg sein. Dafür haben wir jetzt eine andere rote Fehlermeldung. Es fehlt die Adaptive_Mesh.cfg. Diese befindet sich in der heruntergeladenen RAR-Datei im Ordner "Macros".
- Erstellt In Mainsail einen Ordner mit dem Namen "Macros" über den Button "Verzeichnis erstellen"
- Öffnet diesen Ordner und ladet alle Dateien aus dem entpackten Ordner "Macros" hoch
Da uns noch ein paar Dateien fehlen, starten wir nun Putty und loggen uns mit mks/makerbase auf den Drucker ein.
Nachfolgenden Befehl in die Konsole eingeben
./kiauh/kiauh.sh
- KIAUH öffnet sich und über Punkt 1 in die Installation wechseln
Crownsnest ist für die Konfiguration und Steuerung von Webcams etc. verantwotlich. Wer keine Kamera benutzt, kann diesen Punkt überspringen.
- Crownsnest für die Installation wählen und während der Installation alles mit "Yes" bestätigen. Nach der Installation die "crownsnest.conf" im Mainsail Editor öffnen und entsprechend eure Webcam konfigurieren und dann "Speichern und Neustart" klicken.
Octoeverywhere ist ein Remote-Tool mit dem ihr über das Internet euren Drucker steuern könnt.
- Octoeverywhere für die Installation wählen und während der Installation alles mit "Yes" bestätigen. Zum Ende der Installation wird in der Konsole ein mehrstelliger Code angezeigt. Diesen Code gebt ihr auf Octoeverywhere.com/code ein und folgt den Anweisungen.
Wir sind mit der Installation über KIAUH fertig und schließen das Tool im Hauptmenü mit "Q".
Es fehlen noch 3 Tools, die wir jetzt installieren werden. Zum einen wäre das Klippain Shake&Tune, Mainsail Timelapse und Spoolman.
- Mainsail Timelapse ist ein Tool mit dem Zeitraffer-Videos der Drucke erstellt werden können. Wie bei Crownsnest, wer keine Kamera benutzt kann die Installation überspringen. Folgende Befehle für die Installation von Mainsail Timelapse in der Konsole ausführen:
cd ~/
git clone https://github.com/mainsail-crew/moonraker-timelapse.git
cd ~/moonraker-timelapse
make install
Falls zum Ende der Installation folgender Hinweis in der Konsole angezeigt wird, bitte die moonraker.conf öffnen und am Ende folgendes einfügen:
[timelapse]
output_path: ~/printer_data/timelapse/
frame_path: /tmp/timelapse/printer
Nach der Installation von Mainsail Timelapse befindet sich im Ordner "Config" die Datei "timelapse.cfg. Diese kopiert ihr in Mainsail per Drag&Drop in den Ordner "Macros".
Damit wir später Aktualisierungsbenachrichtigungen bei Updates bekommen, öffnen wir in Mainsail die moonraker.conf und fügen am Ende der Datei folgendes ein:
[update_manager timelapse]
type: git_repo
primary_branch: main
path: ~/moonraker-timelapse
origin: https://github.com/mainsail-crew/moonraker-timelapse.git
managed_services: klipper moonraker
- Im Mainsail-Editor dann auf "Speichern und Neustart" drücken.
Mit diesem Tool lassen sich unter anderem Vibrationskalibrierungen durchführen und die Spannung der Riemen überprüfen und somit entsprechend Verbesserungen erzielen.
- In die Konsole folgenden Befehl einfügen:
wget -O - https://raw.githubusercontent.com/Frix-x/klippain-shaketune/main/install.sh | bash
Nach der Installation die printer.cfg öffnen und über dem Eintrag "Input Shaping" folgendes einfügen:
[shaketune]
result_folder: ~/printer_data/config/ShakeTune_results #Der Ordner, in dem die Ergebnisse gespeichert werden sollen. Er wird erstellt, wenn er nicht vorhanden ist.
number_of_results_to_keep: 3 #Die Anzahl der Ergebnisse, die im result_folder gespeichert werden sollen. Die ältesten Ergebnisse werden nach jedem Lauf automatisch gelöscht.
keep_raw_csv: False #Bei "True" werden die CSV-Rohdateien zusammen mit den PNG-Diagrammen im result_folder aufbewahrt. Bei „False“ werden sie gelöscht und nur die Diagramme bleiben erhalten.
show_macros_in_webui: True #Mainsail und Fluidd erstellen keine Schaltflächen für „System-Makros", die nicht in der Datei printer.cfg enthalten sind. Wenn die Makros im Web-UI angezeigt sollen, muss der Wert auf "True" gesetzt werden.
timeout: 300 #Die maximale Zeit in Sekunden, die Shake&Tune zur Verfügung steht, um die CSV-Dateien zu verarbeiten und die Diagramme zu erstellen.
Damit Klippain Shake&Tune automatisch auf Aktualisierungen geprüft werden kann, wird als nächster Schritt die moonraker.conf geöffnet und folgendes eingefügt:
## Klippain Shake&Tune automatic update management
[update_manager Klippain-ShakeTune]
type: git_repo
origin: https://github.com/Frix-x/klippain-shaketune.git
path: ~/klippain_shaketune
virtualenv: ~/klippy-env
requirements: requirements.txt
system_dependencies: system-dependencies.json
primary_branch: main
managed_services: klipper
Tip
Über die Macros "BELTS_SHAPER_CALIBRATION" und "AXES_SHAPER_CALIBRATION" werden diverse Tests durchgeführt und zum Abschluss in einer Grafik aufbereitet. Vor Benutzung der Macros bitte den Drucker "homen".
Spoolman ist ein Filamentverwaltungs-Tool mit dem der Verbrauch des Filaments protokolliert wird. Mittlerweile lässt sich Spoolman bequem über KIAUH installieren. Um die Installation zu starten, Menü-Punkt 1 Installation wählen und dann über Punkt 13 den Installationsschritten folgen. Spoolman als selbststartenden Service installieren.
Wer lieber direkt in der Konsole arbeiten will, kann auch weiterhin manuell installieren
- Folgende Befehle kopieren und in die Konsole einfügen:
sudo apt-get update && \
sudo apt-get install -y curl jq && \
mkdir -p ./Spoolman && \
source_url=$(curl -s https://api.github.com/repos/Donkie/Spoolman/releases/latest | jq -r '.assets[] | select(.name == "spoolman.zip").browser_download_url') && \
curl -sSL $source_url -o temp.zip && unzip temp.zip -d ./Spoolman && rm temp.zip && \
cd ./Spoolman && \
bash ./scripts/install_debian.sh
Die Frage ob Spoolman als Service installiert werden soll mit ja beantworten. In Mainsail die moonraker.conf öffnen und folgendes am Ende einfügen. Die IP-Adresse entsprechend in die IP eures Druckers ändern. Dann auf "Speichern und Neustart" klicken.
[spoolman]
server: http://192.168.0.123:7912
#URL to the Spoolman instance. This parameter must be provided.
sync_rate: 5
#The interval, in seconds, between sync requests with the
#Spoolman server. The default is 5.
[update_manager spoolman]
type: web
channel: stable
repo: Donkie/Spoolman
path: ~/Spoolman
Nach der Installation von Spoolman kann das Tool über die IP eures Druckers und Port 7912 aufgerufen werden. Ein direkter Zugriff ist auch in Mainsail möglich.
- Im Ordner Macros die client.cfg im Mainsail Editor öffnen und entsprechend der eigenen Wünsche konfigurieren. Es lassen sich unteranderem diverse Parkpositionen des Druckkopfs konfigurieren.
Note
Wie wir festgestellt haben, lässt sich das originale Display nach der Systemaktualisierung derzeit nicht benutzen. Es gibt jedoch die Möglichkeit die Bedienung per Touchscreen wiederherzustellen. Stichwort ist hier "Klipperscreen". Klipperscreen ist angelehnt an Octoscreen und bietet eine grafische Oberfläche zum Steuern eines oder mehrerer Drucker.
Ich beschreibe hier den Austausch des originalen Displays mit einem 5 Zoll Touchdisplays in Kombination mit einem Raspberry Pi als fest installiertes Display. Als weitere Alternative befindet sich am Ende dieses Guides, eine Anleitung mit der Klipperscreen über ein altes Tablet oder Smartphone läuft.
Was benötigen wir dafür alles?
- 1x 5 Zoll Touchdisplay mit HDMI
- 1x Rapberry Pi ab Version 3
- 1x Netzteil für Raspberry mit min. 3A
- 1x HDMI-Kabel - möglichst flexibel und mit kleinen Steckern oder mit Winkel-Stecker - messt euch euren Weg für das Kabel aus und verwendet ein ausreichend langes Kabel
- 1x USB-Kabel - abhängig vom Typ des USB-Anschluss des Displays - auch hier die Verlegelänge ausmessen
- 1x MicroSD-Karte
- 1x Inbus-Set
Raspberry Pi Imager öffnen und euren Pi auswählen Unter "OS wählen" auf Raspberry Pi OS (other) klicken und Raspberry Pi OS Lite (64bit) auswählen
Bei der Frage ob OS Einstellungen angepasst werden sollen, auf Einstellungen bearbeiten klicken. Im drauf sich öffnenden Fenster tragt ihr eure Daten ein. In meinem Fall habe ich den selben User wie vom Drucker genommen - mks/makerbase Im Tab "Dienste" "SSH aktivieren" und "Passwort zur Authentifizierung verwenden" auswählen
Zurück im Menü mit "Ja" die Übernahme der Parameter bestätigen und bestätigen, dass alle Daten auf der SD-Karte nun gelöscht werden. Die SD-Karte wird nun mit dem OS beschrieben. Nach Abschluss des Flashens sollte sich so eine Bestätigung öffnen.
Je nach verwendeten Display kann es nötig sein, die config.txt des OS um ein paar Zeilen zu erweitern. Die SD-Karte mit dem gerade geflashten OS öffnen und nach der config.txt suchen und diese in einem Editor wie Notepad etc. öffnen.
Bei dem von mir verwendeten Display habe ich folgenden Code unter [all] eingetragen. Solltet ihr ein anderes Display nutzen - bitte entsprechend auf der Hersteller-Website informieren.
added by elecrow-pitft-setup
hdmi_force_hotplug=1
max_usb_current=1
hdmi_drive=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 display_rotate=0
end elecrow-pitft-setup
- Als nächstes die SD-Karte in den Rapberry Pi stecken, alle benötigen Kabel mit dem Display und dem Pi verbinden und Strom einschalten.
- Wenn die WLAN-Daten korrekt eingegeben wurden, sollte innerhalb kurzer Zeit der Raspberry in der Netzwerkübersicht eures Router auftauchen. Wie beim Drucker auch hier eine feste IP-Zuordnung vornehmen. Auf dem Display sollte nun die typische Start-Sequenz ablaufen.
- Putty öffnen und wie beim Drucker eine Verbindung erstellen.
- Mit mks/makerbase einloggen
- Das System mit folgenden Befehlen aktualisieren
sudo apt update
sudo apt upgrade
- Als nächstes wird KIAUH installiert - selbe Vorgehensweise wie beim Drucker
sudo apt-get update && sudo apt-get install git -y
cd ~ && git clone https://github.com/dw-0/kiauh.git
./kiauh/kiauh.sh
- Im Hauptmenü von KIAUH über Punkt 1 in den Installations-Modus wechseln und Punkt 5 - Klipperscreen auswählen
- Nach der Fertigstellung der Installation und Rückkehr ins Hauptmenü sollte es so aussehen.
- KIAUH mit Q beenden
Damit Klipperscreen mit Moonraker interagieren kann, benötigen wir noch ein paar Ordner/Files.
- In der Konsole fügen wir folgende Befehle ein:
ls
mkdir printer_data
cd printer_data/
mkdir config
cd config/
Wir haben nun mehrere Ordner erstellt und befinden uns in der Konsole im Ordner /printer_data/config/
- In der Konsole folgendes eingeben. Wichtig ist hier auch die Groß-Kleinschreibung!
sudo nano KlipperScreen.conf
- Es öffnet sich der nano Editor in dem wir folgendes eingeben. IP-Adresse eures Druckers sollte bekannt sein. 😄
[main]
[printer Name_wie_euer_Drucker_angezeigt_werden_soll]
moonraker_host: IP eueres Druckers
moonraker_port: 7125
Bei mir sieht das dann so aus:
Tip
[main]
[printer X-Plus 3]
moonraker_host: 192.168.188.69
moonraker_port: 7125
Habt ihr alles entsprechend eingetragen, speichern wir die KlipperScreen.conf mit folgenden Tastatureingaben.
- STRG+O
- Return
- STRG+X
Nach dem der Editor geschlossen wurde, mit folgenden Befehl das System rebooten:
sudo reboot
Das System startet neu und lädt die KlipperScreen-UI
- In Mainsail den Druckkopf nach hinten und das Druckbett nach unten fahren. Wir brauchen Platz.
- Den Drucker nun am Netzschalter ausschalten und den Stecker aus der Steckdose ziehen.
- Den Drucker so drehen, das ihr halbwegs bequem hinter das originale Display gucken könnt.
- Das Display ist an den Ecken mit jeweils einer Schraube befestigt. Um diese zu lösen braucht man einen Inbus-Schlüssel 2,5mm
- Das alte Verbindungskabel des Displays zum Mainboard lösen
Entsprechend eures verwendeten Displays müsst ihr euch einen Halter konstruieren um das neue Display an den alten Befestigungspunkten zu befestigen. Auch darauf achten - nach fest kommt ab. Ihr schraubt wieder nur in Plastik. Bei mir wurden sogar während der Montage bei Qidi die beiden oberen Haltepunkte abgerissen. 😡
Solltet ihr mein Display nutzen wollen. Im Package ist die STEP der Klemmen zum befestigen des Displays. Für die beiden oberen Haltepunkte müssen diese in der Größe modifiziert werden. Da bei mir nur noch die unteren Haltepunkte vorhanden sind, habe ich mir das gespart und mit etwas doppelseitigen Klebeband für Halt gesorgt.
Als nächstes müssen das HDMI-Kabel und das USB-Kabel vom Display zum Raspberry Pi verlegt werden. Sucht euch einen für euch akzeptablen Weg Richtung Mainboard-Kammer. Es sollte lediglich darauf geachtet werden, dass die Kabel nicht mit dem Druckkopf und dem Druckbett kollidieren. Kabelbinder helfen. Ich habe alles an der rechten Seite neben dem großen Lüfter nach unten und dann Richtung Mainboard geführt.
Bleibt nur noch die Montage des Raspberrys in der Mainboard-Kammer. Besitzer eines X-Max 3 sind hier aufgrund der Größe im Vorteil. Achtet darauf, dass der kleine Lüfter an der Rückseite der Abdeckung nicht mit dem Pi in Kontakt kommt. Weiterhin darauf achten das der Pi und andere Strom leitende Bauteile Abstand von einander halten. Isolierband oder eine Gehäuseunterseite sind dabei hilfreich.
Die Stromversorgung des Raspberrys habe ich nach draußen geführt und zusammen mit dem Drucker an einen IKEA-Smart-Plug angeschlossen. Wie ihr das dann letztendlich selbst löst, bleibt euch überlassen. Abdeckung des Druckers wieder schließen und vorsichtig mit den Schrauben fixieren. Auch hier wird in Plastik geschraubt. Wer zu fest dreht, dreht irgendwann für immer.😜
So sieht das Ganze dann in Aktion und fest im Qidi verbaut aus.
Und ein weiterer Screen.
Eine Alternative für den Touchscreen und Raspberry Pi ist die Verwendung eines alten Tablets oder Smartphones.
Important
Abhängig von der Leistungsfähigkeit des genutzen Geräts sowie der Netzwerkverbindung kann es Unterschiede in der Benutzung im vergleich mit einem nativ installierten Klipperscreen geben.
Wir verbinden uns mit via putty mit dem Drucker und installieren über KIAUH Klipperscreen. Dies wird ein paar Minuten dauern. Auf Nachfrage Klipperscreens ob es als Standalone installiert werden soll, mit JA beantworten.
Der nächste Schritt ist die Installation eines VNC-Servers. Folgende Befehl in die Konsole einfügen:
sudo apt install tigervnc-standalone-server
Als nächstest muss die Datei "launch_KlipperScreen.sh" erstellt werden.
- Hierfür folgendes in die Konsole einfügen:
cd ~/KlipperScreen/scripts/
nano launch_KlipperScreen.sh
Nach dem sich der Nano-Editor geöffnet hat folgende Befehle einfügen:
#!/bin/bash
# Use display 10 to avoid clashing with local X server, if any
Xtigervnc -rfbport 5900 -noreset -AlwaysShared -SecurityTypes none :10&
DISPLAY=:10 $KS_XCLIENT&
wait
Tip
Wer die Auflösung anpassen möchte, muss folgendes Argument hinzufügen. Nachfolgendes Beispiel für die Auflösung von 1280x720 Pixel.
-geometry 1280x720
Ist alles eingetragen den Editor speichern und schliessen
- In Nano, mit Ctrl+O (speichern), dann Enter drücken und mit Ctrl+X den Editor verlassen.
Jetzt muss die erstellte Datei ausführbar gemacht werden. Daher nachfolgenden Befehl in die Konsole einfügen:
chmod +x ~/KlipperScreen/scripts/launch_KlipperScreen.sh
Nächster Schritt ist ein Neustart des Klipperscreen-Service. Folgenden Befehl in der Konsole ausführen:
sudo systemctl restart KlipperScreen.service
Damit haben wir die Installation auf dem Drucker abgeschlossen.
Damit Klipperscreen auf dem Tablet angezeigt wird, benötigen wir einen VNC-Viewer. Ich empfehle die AVNC-App. Download findet ihr entweder auf Github direkt oder im Google Play Store. Wie man eine App aus dem Store installiert, sollte jedem bekannt sein.
Ist der Viewer installiert, erstellen wir nach dem Öffnen einen neuen Server. Hierfür die IP und einen Namen eintragen. Falls eine Nachricht bzgl. einer nicht verschlüsselten Verbindung erscheint, ignorieren und die Nachricht deaktivieren.
Wenn alles korrekt installiert wurde, stellt das Smartphone/Tablet eine Verbindung zum Klipperscreen her.
Zwei Einstellungen müssen noch in Klipperscreen vorgenommen werden:
- In den Klipperscreen-Einstellungen, "Screen DPMS" deaktivieren und "Screen Power Off Time" auf "Never" einstellen.
Herzlichen Glückwunsch - Du bist fertig.
Wenn dir dieser Guide gefallen hat: