Jeder 3D-Druck-Enthusiast kennt den Moment, wenn man sich wünscht, eine bestimmte Funktion, eine Kalibrierroutine oder ein häufig genutzter Befehl wäre direkt am Drucker-Display zugänglich. Standardmenüs sind oft generisch, bieten eine Vielzahl von Optionen, aber selten die spezifische Flexibilität, die für den individuellen Workflow und die besonderen Anforderungen des eigenen 3D-Druckers notwendig ist. Das Navigieren durch verschachtelte Menüs, das manuelle Eingeben von G-Code-Befehlen über ein Terminal oder das Suchen nach der richtigen Option in einer Software kann zeitaufwendig und frustrierend sein.
Doch es gibt eine Lösung: Das „Special Menü”, auch bekannt als Custom Menü, Ihres 3D-Druckers zu personalisieren. Hierbei handelt es sich nicht um eine versteckte Funktion, sondern um eine leistungsstarke Möglichkeit, die Firmware Ihres Druckers zu erweitern und maßgeschneiderte G-Code-Befehle, Kalibrierroutinen und spezifische Aktionen direkt in das Hauptmenü zu integrieren. Stellen Sie sich vor, Sie könnten mit nur einem Knopfdruck ein spezielles Filament vorheizen, eine komplexere Bettnivellierungsroutine starten oder eine Düsenreinigung durchführen. Dieser Artikel zeigt Ihnen detailliert, wie Sie dieses Potenzial freisetzen und Ihren 3D-Drucker zu einem noch effizienteren Werkzeug machen können.
Warum das „Special Menü” Ihres 3D-Druckers anpassen? Die Vorteile auf einen Blick
Die Personalisierung des Drucker-Menüs ist weit mehr als nur eine Spielerei. Sie bietet handfeste Vorteile, die Ihren gesamten 3D-Druck-Workflow verbessern können:
- Effizienzsteigerung: Schneller Zugriff auf häufig genutzte Aktionen wie das Laden oder Entladen von Filament, das Starten der Bettnivellierung oder das Vorheizen für spezifische Materialien spart wertvolle Zeit und Klicks.
- Workflow-Optimierung: Kombinieren Sie mehrere aufeinanderfolgende G-Code-Befehle zu einer einzigen Menüoption. So wird aus einer Abfolge von Schritten eine nahtlose, automatisierte Aktion.
- Fehlerbehebung und Kalibrierung: Integrieren Sie direkte Ausführungen von Diagnose- oder Kalibrierroutinen. Starten Sie beispielsweise einen PID-Tuning-Lauf oder einen Lüftertest direkt vom Display aus.
- Personalisierung: Passen Sie den Drucker exakt an Ihre spezifischen Bedürfnisse, die von Ihnen verwendeten Materialien und Ihre individuellen Druckprozesse an. Ihr Drucker wird wirklich zu Ihrem Werkzeug.
- Benutzerfreundlichkeit: Vermeiden Sie das mühsame Verbinden mit einem Computer oder das Durchsuchen komplexer Software-Menüs für Routineaufgaben. Alles ist dort, wo Sie es brauchen: an Ihrem 3D-Drucker.
- Sicherheit: Vorprogrammierte Abläufe reduzieren manuelle Fehler, da komplexe G-Code-Sequenzen immer korrekt ausgeführt werden.
Grundlagen verstehen: Was ist das „Special Menü” und wie funktioniert es?
Das „Special Menü”, oder ein Custom Menü, ist im Kern ein Bereich innerhalb der Firmware Ihres 3D-Druckers, der in der Lage ist, benutzerdefinierte G-Code-Befehle auszuführen. Hierbei sind zwei Hauptkomponenten entscheidend:
- G-Code: Dies ist die „Sprache”, die Ihr 3D-Drucker versteht. G-Code-Befehle steuern jede Bewegung, jede Heizung, jeden Lüfter und jede Extrusion. Ein einziger G-Code-Befehl kann eine einfache Aktion auslösen (z.B. „Heizbett auf 60°C”), während eine Abfolge von G-Code-Befehlen komplexe Routinen wie einen kompletten Filamentwechsel durchführen kann.
- Firmware: Die Firmware ist die Steuerungssoftware, die direkt auf der Hauptplatine Ihres 3D-Druckers läuft. Die bekanntesten Firmware-Optionen sind Marlin und Klipper. Beide bieten Mechanismen zur Integration von benutzerdefinierten Menüpunkten, verfolgen dabei aber unterschiedliche Ansätze.
Während bei Marlin oft eine Neukompilierung der Firmware erforderlich ist, um Änderungen am Menü vorzunehmen, bietet Klipper eine flexiblere, textbasierte Konfiguration, die schnelle Anpassungen ohne erneutes Flashen ermöglicht. Im Folgenden werden wir beide Ansätze detailliert beleuchten.
Der Weg zur Personalisierung: Eigene Dateien für Marlin Firmware hinzufügen
Marlin ist die am weitesten verbreitete Firmware für FDM-3D-Drucker. Die Anpassung des Menüs erfordert ein wenig mehr Aufwand, da sie die Kompilierung und das Flashen der Firmware involviert. Doch der Lerneffekt und die Möglichkeiten sind es wert.
Voraussetzungen schaffen:
- Marlin-Firmware-Sourcecode: Laden Sie den Sourcecode der Marlin-Firmware herunter, der zu Ihrem spezifischen Drucker und dessen Board passt. Oft finden Sie diesen auf der Webseite des Druckerherstellers oder direkt auf der Marlin-GitHub-Seite.
- IDE (Integrated Development Environment): Wir empfehlen Visual Studio Code mit der PlatformIO-Erweiterung. Dies ist die gängigste und benutzerfreundlichste Umgebung für die Marlin-Kompilierung.
- Grundkenntnisse im Flashen der Firmware: Sie sollten wissen, wie Sie die Firmware auf Ihr Druckerboard hochladen. Dies geschieht oft über einen USB-Anschluss, eine SD-Karte oder spezifische Tools des Herstellers.
- Sicherung der Original-Firmware-Einstellungen: Bevor Sie beginnen, sichern Sie immer Ihre bestehende Firmware oder zumindest die Konfigurationsdateien (`Configuration.h` und `Configuration_adv.h`), falls etwas schiefgeht.
Schritt 1: Die Konfiguration vorbereiten
Öffnen Sie den Marlin-Sourcecode in VS Code. Die wichtigsten Dateien für die Konfiguration sind `Configuration.h` und `Configuration_adv.h`. Suchen Sie in der Regel in der Datei `Configuration_adv.h` nach den Optionen für benutzerdefinierte Menüs. Aktivieren Sie die folgende Zeile, falls sie auskommentiert ist:
#define CUSTOM_USER_MENUS
Möglicherweise finden Sie auch eine Option wie `CUSTOM_MENU_FILENAME`. Diese gibt den Namen der Datei an, in der Ihre benutzerdefinierten Menüpunkte definiert sind. Standardmäßig ist dies oft `custom_menu.ini`.
Schritt 2: Die „custom_menu.ini” erstellen oder anpassen
Die Datei `custom_menu.ini` befindet sich typischerweise im Ordner `Marlin/src/custom_menus/`. Wenn sie nicht existiert, erstellen Sie sie. Diese Datei definiert die Struktur und den Inhalt Ihrer benutzerdefinierten Menüs. Jeder Menüeintrag wird in einem eigenen Block definiert:
[menu item]
name = Mein Filamentwechsel
gcode = M104 S200 ; Hotend auf 200 Grad aufheizen
M109 S200 ; Warten bis Hotend 200 Grad erreicht hat
M83 ; Relative Extrusion
G1 E100 F600 ; 100mm Filament extrudieren
M82 ; Absolute Extrusion
M117 Filament gewechselt!
enabled = true
Erklärung der Parameter:
- `[menu item]`: Dies ist der Name des Menüpunkts in der .ini-Datei (interner Bezeichner).
- `name =`: Der Text, der im Display des Druckers angezeigt wird.
- `gcode =`: Hier tragen Sie die G-Code-Befehle ein, die ausgeführt werden sollen. Jeder Befehl sollte in einer neuen Zeile stehen. Kommentare beginnen mit einem Semikolon (;).
- `enabled = true/false`: Gibt an, ob der Menüpunkt aktiv ist.
Sie können auch Untermenüs erstellen, indem Sie die `GCode`-Zeile auf ein anderes `[menu item]` verweisen:
[menu item]
name = Wartung
gcode = menu_wartung ; Verweist auf das Untermenü "menu_wartung"
enabled = true
[menu_wartung]
name = Wartung
gcode = - ; Dies ist ein Menü-Container
enabled = true
[menu_wartung item_nivellieren]
name = Bett nivellieren
gcode = G28 ; Home all axes
G29 ; Start ABL
enabled = true
Beachten Sie, dass der G-Code für einen Menü-Container (wie `menu_wartung`) oft nur ein Bindestrich (`-`) ist, um anzuzeigen, dass es sich um ein Untermenü handelt und keine direkte Aktion ausführt.
Schritt 3: G-Code-Befehle schreiben
Dies ist das Herzstück der Anpassung. Hier sind einige Beispiele für nützliche G-Code-Sequenzen, die Sie in Ihre `custom_menu.ini` integrieren können:
- Filament laden/entladen: Für Drucker mit M600-Unterstützung (Filamentwechsel-Macro): `M600`. Andernfalls manuelle Schritte:
M104 S200 ; Hotend auf 200 Grad aufheizen M109 S200 ; Warten bis Hotend 200 Grad erreicht hat G92 E0 ; Extruder auf Null setzen G1 E100 F600 ; 100mm Filament extrudieren (laden) M104 S0 ; Hotend ausschalten
- Bettnivellierung starten:
G28 ; Home all Achsen G29 ; Start ABL (Automatic Bed Leveling)
- Nozzle Purge (Düse reinigen):
G92 E0 ; Extruder auf Null setzen G1 E50 F600 ; 50mm Filament schnell extrudieren M117 Düse gereinigt!
- Preheat PLA/PETG/ABS:
M140 S60 ; Bett auf 60 Grad aufheizen (PLA) M104 S200 ; Hotend auf 200 Grad aufheizen (PLA) M117 PLA Preheat!
Erstellen Sie ähnliche Einträge für PETG (z.B. Bett 70°C, Hotend 230°C) und ABS (z.B. Bett 100°C, Hotend 240°C).
Tipp: Testen Sie komplexe G-Code-Sequenzen immer zuerst über ein Terminal (z.B. in OctoPrint, Pronterface oder über die Konsole in Fluidd/Mainsail), bevor Sie sie in die Firmware integrieren. So vermeiden Sie Überraschungen.
Schritt 4: Firmware kompilieren und flashen
Wenn Ihre `custom_menu.ini` fertig ist und alle Änderungen in `Configuration_adv.h` vorgenommen wurden:
- Öffnen Sie PlatformIO in VS Code.
- Wählen Sie die korrekte Umgebung für Ihr Druckerboard (z.B. `BIGTREE_SKR_E3_DIP`). Dies finden Sie in der `platformio.ini` im Marlin-Ordner.
- Klicken Sie auf „Build” (das Häkchen-Symbol), um die Firmware zu kompilieren. Bei Erfolg wird eine `.bin`-Datei (oder ähnlich) im `.pio/build/[ihre_umgebung]/` Ordner erstellt.
- Flashen Sie diese kompilierte Firmware-Datei auf Ihr Druckerboard. Dies variiert je nach Board – oft genügt es, die Datei auf eine SD-Karte zu kopieren und diese in den Drucker einzulegen, der dann automatisch flasht.
Wichtiger Hinweis: Vergewissern Sie sich, dass Sie die richtige Board-Definition und Umgebung in PlatformIO ausgewählt haben, da ein Flashen mit der falschen Firmware Ihren Drucker unbrauchbar machen kann.
Schritt 5: Testen am Drucker
Nachdem die Firmware erfolgreich geflasht wurde, starten Sie Ihren Drucker neu. Sie sollten nun das neue Menü oder die erweiterten Menüpunkte auf dem Display sehen. Testen Sie jede Funktion gründlich, um sicherzustellen, dass sie die gewünschten Aktionen korrekt ausführt.
Klipper-Benutzer aufgepasst: Custom Menüs ohne Neukompilierung
Klipper bietet einen deutlich flexibleren Ansatz für die Anpassung, da es auf einer textbasierten Konfiguration basiert und keine Neukompilierung der Firmware für Menüänderungen erfordert.
Schritt 1: Macros definieren (`gcode_macro`)
Die Grundlage für Klipper-Menüeinträge sind G-Code-Macros. Diese definieren eine Abfolge von G-Code-Befehlen unter einem selbstgewählten Namen. Sie können diese Macros direkt in Ihre `printer.cfg` oder in eine separate Datei wie `macros.cfg` schreiben und diese dann in `printer.cfg` einbinden (`[include macros.cfg]`).
[gcode_macro FILAMENTWECHSEL_PLA]
description: Heizt Hotend auf und fuehrt Filamentwechsel durch
gcode:
M104 S200 ; Hotend auf 200 Grad
M109 S200 ; Warten
M83 ; Relative Extrusion
G1 E100 F600 ; 100mm extrudieren
M82 ; Absolute Extrusion
M117 Filament gewechselt (PLA)!
Sie können Parameter an Macros übergeben, was sie noch vielseitiger macht, z.B. für ein universelles Preheat-Macro.
Schritt 2: Das Menü strukturieren (`[menu]`)
Sobald Ihre Macros definiert sind, können Sie diese in das Klipper-Menü integrieren. Dies geschieht ebenfalls in einer Konfigurationsdatei, oft `menu.cfg` oder direkt in `printer.cfg`.
[menu __main __wechsel]
type: command
name: Filament Wechsel
gcode: FILAMENTWECHSEL_PLA
Hier ist die Struktur etwas anders:
- `[menu __main __wechsel]`: Dies definiert einen Menüpunkt. `__main` ist das Hauptmenü, `__wechsel` ist der interne Name für diesen Punkt.
- `type: command`: Zeigt an, dass dieser Menüpunkt ein G-Code-Kommando ausführt.
- `name: Filament Wechsel`: Der im Display angezeigte Name.
- `gcode: FILAMENTWECHSEL_PLA`: Der Name des Klipper-Macros, das ausgeführt werden soll.
Um Untermenüs zu erstellen, nutzen Sie eine ähnliche Nomenklatur:
[menu __main __wartung]
type: menu
name: Wartung
[menu __main __wartung __bett_nivellieren]
type: command
name: Bett Nivellieren
gcode: G28
G29
Beachten Sie den `type: menu` für den Container und die erweiterte `__main __wartung __bett_nivellieren` Nomenklatur für Unterpunkte.
Schritt 3: Klipper aktualisieren
Der größte Vorteil von Klipper ist, dass Sie nach Änderungen an Ihrer Konfigurationsdatei (`printer.cfg`, `menu.cfg`, etc.) lediglich Klipper neu starten müssen. Dies geschieht entweder durch den G-Code-Befehl `FIRMWARE_RESTART` über ein Terminal oder komfortabler über das Webinterface (Fluidd oder Mainsail), das meist eine entsprechende Schaltfläche bietet. Keine Kompilierung, kein Flashen – die Änderungen sind sofort aktiv.
Vorteile von Klipper:
- Flexibilität: Schnelle Änderungen und Tests.
- Keine Kompilierung: Spart viel Zeit und reduziert das Risiko eines Flash-Fehlers.
- Übersichtlichkeit: Konfiguration in einfachen Textdateien ist leichter zu warten und zu verstehen.
Jenseits des physischen Displays: Webinterfaces als erweiterte „Special Menüs”
Es ist wichtig zu erwähnen, dass moderne 3D-Drucker-Setups, insbesondere in Kombination mit OctoPrint, Klipper (Fluidd, Mainsail) oder RepRapFirmware, auch webbasierte Schnittstellen nutzen. Diese bieten oft eigene „Custom Controls” oder „Macros”, die ähnliche Funktionen wie die hier beschriebenen Drucker-Display-Menüs ermöglichen.
Während diese Webinterfaces nicht direkt das „Special Menü” des Drucker-Displays erweitern, bieten sie eine komfortable Alternative für die Steuerung komplexer Abläufe über einen Computer, Tablet oder Smartphone. Sie sind eine hervorragende Ergänzung zur Drucker-eigenen Menüführung, oft sogar komfortabler für komplexere Befehle oder die detaillierte Überwachung. Ein gut konfiguriertes Webinterface kann viele der Vorteile eines personalisierten Drucker-Menüs bieten, ohne dass die Firmware direkt modifiziert werden muss.
Praktische Beispiele für Ihre Custom Menüpunkte
Die Möglichkeiten sind nahezu unbegrenzt. Hier sind einige Inspirationen für nützliche Einträge:
- Filamentmanagement:
- PLA/PETG/ABS Preheat: Schnell Profile für Ihre gängigsten Materialien laden (Hotend- und Betttemperaturen).
- Filament laden/entladen: Vordefinierte Temperaturen und Extrusionslängen für einen reibungslosen Materialwechsel.
- Kalibrierung:
- Automatische Bettnivellierung starten: Ein Knopfdruck für G28 und G29.
- Manuelle Mesh-Bettnivellierung: Für Drucker ohne ABL kann ein Menüpunkt die einzelnen Schritte anleiten.
- PID-Tuning für Hotend/Bed: Direkte Ausführung von M303-Befehlen, um PID-Werte zu optimieren.
- Z-Offset kalibrieren: Eine Routine, die eine Druckzeile startet und Ihnen erlaubt, den Z-Offset live anzupassen.
- Wartung & Diagnose:
- Nozzle Reinigungsroutine: Eine kurze Linie am Bettrand drucken, um die Düse zu reinigen.
- Lüftertest: Alle Lüfter auf volle Leistung schalten (M106 S255) und dann wieder ausschalten (M107), um ihre Funktion zu prüfen.
- Stepper deaktivieren: M18, um die Motoren zu entsperren und das Bett oder den Extruder manuell zu bewegen.
- Testdrucke:
- Einfachen Testwürfel drucken: Wenn Sie den G-Code für einen kleinen Würfel direkt im Menü hinterlegen.
- Temperatur-Tower starten: Ein vorprogrammierter Druck, der verschiedene Temperaturen testet.
Best Practices und wichtige Hinweise
Die Anpassung der Firmware kann ein mächtiges Werkzeug sein, birgt aber auch Risiken. Beachten Sie diese Hinweise, um auf der sicheren Seite zu bleiben:
- Backup ist König: Sichern Sie immer Ihre ursprüngliche Firmware und Konfiguration, bevor Sie Änderungen vornehmen. Dies ist Ihr Rettungsanker.
- Schrittweise vorgehen: Beginnen Sie mit einfachen Befehlen und erweitern Sie dann Ihre Menüs. Testen Sie jede neue Funktion einzeln.
- G-Code testen: Führen Sie komplexe G-Code-Sequenzen immer zuerst über ein Terminal (z.B. OctoPrint, Pronterface) aus, bevor Sie sie in das Menü integrieren. So können Sie Fehler identifizieren, ohne dass der Drucker unkontrollierte Bewegungen macht.
- Detaillierte Dokumentation: Notieren Sie sich, welche Änderungen Sie vorgenommen haben, warum und wann. Dies ist besonders hilfreich, wenn Sie später Fehler beheben oder die Firmware aktualisieren müssen.
- Fehlerbehebung: Wenn der Drucker nach dem Flashen nicht bootet oder sich merkwürdig verhält, liegt es oft an einem Fehler in der Firmware-Konfiguration. Überprüfen Sie die Konsolenausgabe beim Kompilieren (Marlin) oder die Log-Dateien (Klipper).
- Risikobewusstsein: Falsche G-Code-Befehle können zu Beschädigungen führen. Heizen Sie niemals ohne angeschlossene Thermistoren oder überfordern Sie Motoren. Seien Sie vorsichtig mit Befehlen, die Hardware-Komponenten direkt steuern.
- Firmware aktuell halten: Wenn Sie Ihre eigene Firmware anpassen, denken Sie daran, diese regelmäßig mit den neuesten Versionen von Marlin oder Klipper abzugleichen, um von Verbesserungen und Bugfixes zu profitieren.
Fazit: Werden Sie zum Meister Ihres 3D-Druckers
Das Anpassen des „Special Menüs” Ihres 3D-Druckers ist eine Investition, die sich in Form von erhöhtem Komfort, verbesserter Effizienz und einer tieferen Kontrolle über Ihr Gerät auszahlt. Egal, ob Sie ein Marlin-Nutzer sind, der bereit ist, sich in den Quellcode zu wagen, oder ein Klipper-Anwender, der die Flexibilität textbasierter Konfiguration schätzt – die Möglichkeit, den Drucker an Ihre spezifischen Bedürfnisse anzupassen, ist ein Game Changer.
Sie verwandeln Ihren 3D-Drucker von einem bloßen Werkzeug in eine erweiterbare, hochpersonalisierte Fertigungsmaschine. Beginnen Sie noch heute mit der Erkundung dieser Möglichkeiten, werden Sie zum Meister Ihres 3D-Druckers und erleben Sie, wie sich Ihr Workflow revolutioniert.