G-Code-Befehle für 3D-Drucker: Liste, Beispiele & interaktive Demo
3D Druck Archiv / Das G-Code-Handbuch
Der Code hinter
jedem Layer.
Bewegung verstehen. Temperaturen kontrollieren. Fehler finden. Die große G-Code-Referenz für deinen 3D-Drucker – mit klaren Erklärungen und einer interaktiven XY-Demo.
Befehl nachschlagen ↓G21 ; Millimeter
G90 ; absolute Position
G1 X40 Y30 F1800
; 1800 mm/min
; = 30 mm/sEine Zeile. Ein Ziel. Kontrollierte Bewegung.01 / Erst verstehen, dann ausführen
Was ist G-Code beim 3D-Druck?
G-Code beschreibt, was der Drucker tun soll: wohin die Achsen fahren, wie viel Material gefördert wird und welche Temperaturen oder Lüfterwerte gelten.
Der Slicer erzeugt daraus eine Druckdatei. Die Firmware übersetzt deren Befehle in Maschinenaktionen. Deshalb gehört zu jedem Befehl die Frage: Welche Firmware, welche Version und welche aktivierten Funktionen?
Eine Zeile lesen
G1 X40 Y30 E2.6 F1800 ; Beispiel einer BewegungDie Bedeutung von E2.6 hängt vom Extrusionsmodus ab. Bei relativer, nicht volumetrischer Extrusion bedeutet es 2,6 mm Filament. Bei absoluter Extrusion ist 2,6 der neue Zählerstand. Die Werte vor dem Semikolon steuern den Drucker; danach folgt ein Kommentar.
| Zeichen | Bedeutung im jeweiligen Zusammenhang |
|---|---|
G / M / T | Befehlsfamilien: unter anderem Bewegung, Maschinenfunktionen und Werkzeugwahl. |
X Y Z | Achskoordinaten oder Wege – abhängig vom Positionierungsmodus. |
E | Extrusionsposition oder Fördermenge. Einheit und Modus prüfen. |
F | Vorschub bei normalen Bewegungen: unter G21 in mm/min. Umrechnung: mm/s × 60. |
S P R … | Keine universelle Bedeutung. S kann Temperatur, Prozentwert oder eine Option sein; P etwa Zeit oder Index. |
; | Beginn eines Kommentars bis zum Zeilenende. |
Absolut: zum Ziel
G90 und danach G1 X30: Die Zielkoordinate heißt X30.
Relativ: um den Weg
G91 und danach G1 X30: 30 Einheiten ab der aktuellen Position weiterfahren.
Extrusion bewusst setzen: Bei Marlin den gewünschten E-Modus M82 oder M83 nach G90/G91 festlegen. Ein späterer Wechsel des Positionierungsmodus hebt den E-Override wieder auf.
02 / Die wichtigsten Einstiegspunkte
10 Befehlsgruppen, die du kennen solltest
Direkt zur Erklärung springen. Die vollständige Referenz folgt darunter.
03 / Aus Code wird Bewegung
Sieh dem G-Code beim Arbeiten zu.
Wähle einen Ablauf und beobachte dieselbe Geometrie mit absoluten oder relativen Koordinaten. Ein Klick auf eine Codezeile springt an das Ende dieser Bewegung.
Bereit.
Schematische XY-Draufsicht. Konstante Geschwindigkeit ohne Beschleunigung, Z-Bewegung oder Extrusion. Kein vollständiger Drucksimulator. Keine Verbindung zu einem Drucker.
04 / Nachschlagen statt raten
G-Code-Befehle: die große Marlin-Referenz
Suche nach einem Befehl, einer Aufgabe oder einem Stichwort wie „Lüfter“, „Mesh“ oder „Filament“. Öffne einen Eintrag für Erklärung, verfügbare Syntax, Praxisdetails und die offizielle Quelle.
Syntax-Lesehilfe: Eckige Klammern markieren optionale Angaben. Platzhalter wie <pos> oder <temp> werden durch Werte ersetzt; Klammern werden nicht mitgesendet. Die Originaldokumentation erläutert alle Spezialparameter.
Bewegung & Koordinaten 26 Einträge
G0 / G1Geradlinig fahren
Bewegt die angegebenen Achsen gemeinsam zum Ziel. E ergänzt Extrusion, F bestimmt den Vorschub. G0 ist in Marlin meist ein Alias von G1.
Parameter: X/Y/Z: Ziel oder Weg; E: Extrusionswert; F: Vorschub in aktuellen Längeneinheiten pro Minute.
Syntax laut Marlin:G0 [A<pos>] [B<pos>] [C<pos>] [E<pos>] [F<rate>] [S<power>] [U<pos>] [V<pos>] [W<pos>] [X<pos>] [Y<pos>] [Z<pos>]
Kommentiertes Beispiel
G21 ; Millimeter
G90 ; absolute Koordinaten
G1 X40 Y30 F1800 ; Ziel (40,30), 30 mm/sG2 / G3Kreisbogen fahren
G2 fährt im Uhrzeigersinn, G3 entgegengesetzt. Zielkoordinaten und Mittelpunktversatz oder Radius bestimmen den Bogen; ARC_SUPPORT muss aktiv sein.
Parameter: X/Y: Endpunkt; I/J: Mittelpunktversatz vom Start; alternativ R: Radius; F: Vorschub.
Syntax laut Marlin:G2 [A<pos>] [B<pos>] [C<pos>] [E<pos>] [F<rate>]I<offset>J<offset>[P<count>]R<radius>[S<power>] [U<pos>] [V<pos>] [W<pos>] [X<pos>] [Y<pos>] [Z<pos>]
Kommentiertes Beispiel
; Start bereits bei X20 Y20, sicherer Z-Abstand
G90
G2 X60 Y20 I20 J0 F1200 ; Halbkreis im UhrzeigersinnG4Zeitlich warten
Unterbricht den Ablauf für P Millisekunden oder S Sekunden. In Marlin hat S Vorrang, wenn beide angegeben werden.
Parameter: P: Millisekunden; S: Sekunden. In Marlin gewinnt S, wenn beide gesetzt sind.
Syntax laut Marlin:G4 [P<time(ms)>] [S<time(sec)>]
Kommentiertes Beispiel
G4 P500 ; eine halbe Sekunde wartenG5Kubische Bézierkurve fahren
Erzeugt eine XY-Kurve mit Endpunkt X/Y und Kontrollpunktversätzen I/J sowie P/Q. Die optionale Spline-Unterstützung muss aktiviert sein.
Parameter: X/Y: Endpunkt; I/J: erster Kontrollpunkt relativ zum Start; P/Q: zweiter Kontrollpunkt relativ zum Ende.
G17-G19Kreisebene auswählen
Wählt XY (G17), ZX (G18) oder YZ (G19) als Ebene für unterstützte Kreisbewegungen. Benötigt die entsprechende CNC-Option.
Parameter: G17: XY; G18: ZX; G19: YZ.
Syntax laut Marlin:G17
Kommentiertes Beispiel
G17 ; Kreisbögen in der XY-EbeneG20Zoll als Längeneinheit
Schaltet unterstützte Längenangaben auf Zoll um. Im üblichen metrischen 3D-Druck wird stattdessen G21 verwendet.
Syntax laut Marlin:G20
Kommentiertes Beispiel
G20 ; Längen in ZollG21Millimeter als Längeneinheit
Schaltet Längenangaben auf Millimeter. Das passende Kommando für metrische Druckdateien ist G21, nicht G20.
Syntax laut Marlin:G21
Kommentiertes Beispiel
G21 ; Längen in MillimeterG42Mesh-Koordinate anfahren
Bewegt den Kopf zu einem mit I und J ausgewählten Rasterpunkt. Diese Angaben sind Mesh-Indizes, keine Millimeterkoordinaten.
Parameter: I/J: Rasterindizes; F: Vorschub; weitere Optionen siehe Original.
Syntax laut Marlin:G42 [F<rate>] [I<pos>] [J<pos>] [P]
Kommentiertes Beispiel
G42 I1 J1 F1800 ; zweiten Rasterpunkt je Achse anfahrenG53Maschinenkoordinaten verwenden
Bezieht eine Bewegung auf das Maschinenkoordinatensystem statt auf den aktiven Arbeitsnullpunkt. Benötigt passende CNC-Koordinatenunterstützung.
Syntax laut Marlin:G53
G54-G59.3Arbeitskoordinatensystem wählen
Wählt eines der unterstützten Koordinatensysteme G54 bis G59.3. Dessen Nullpunktversatz gilt anschließend für Bewegungen.
Parameter: G54, G55, G56, G57, G58, G59, G59.1, G59.2 und G59.3 wählen die neun unterstützten Arbeitskoordinatensysteme.
G60Position zwischenspeichern
Speichert mit S eine Position in einem RAM-Slot. Neuere Versionen bieten außerdem Abfrage, Rückfahrt mit Q und Löschen mit D.
Parameter: S: Position speichern; in neueren Versionen Q: zurückfahren, D: löschen.
Kommentiertes Beispiel
G60 S0 ; aktuelle Position im Slot 0 merkenG61Gespeicherte Position anfahren
Kehrt zum mit S ausgewählten Positionsslot zurück. Achsangaben begrenzen die Rückfahrt oder ergänzen einen Versatz.
Parameter: S: gespeicherter Slot; Achsangaben begrenzen die Wiederherstellung; F: Vorschub.
Kommentiertes Beispiel
G61 S0 X Y F1800 ; gespeicherte XY-Position anfahrenG80Aktuellen Bewegungsmodus beenden
Beendet den impliziten G-Code-Bewegungsmodus bei GCODE_MOTION_MODES. Die nächste Bewegung muss wieder ihren vollständigen G-Befehl enthalten.
Kommentiertes Beispiel
G80 ; impliziten Bewegungsmodus aufhebenG90Absolute Koordinaten
Interpretiert Ziele als Positionen im aktuellen Koordinatensystem. X20 bedeutet zur Koordinate 20 fahren, nicht 20 Millimeter weiterfahren.
Kommentiertes Beispiel
G90
G1 X20 F1200
G1 X30 ; jetzt X30, nicht X50G91Relative Koordinaten
Interpretiert Werte als Weg ab der aktuellen Position. X20 bedeutet 20 Einheiten weiter in positiver X-Richtung.
Kommentiertes Beispiel
G91
G1 X10 F1200
G1 X10 ; insgesamt 20 mm weiter
G90 ; anschließend wieder absolutG92Logische Position setzen
Weist der aktuellen Position neue Koordinaten zu, ohne zu fahren. Häufig setzt G92 E0 den Extrusionszähler zurück.
Kommentiertes Beispiel
G92 E0 ; Extrusionszähler auf null setzenM92Schritte pro Einheit setzen
Meldet oder ändert die Wegumrechnung der Achsen beziehungsweise des Extruders. Bei metrischem Betrieb typischerweise Schritte pro Millimeter.
Parameter: X/Y/Z/E: Schritte pro aktueller Längeneinheit.
Syntax laut Marlin:M92 [A<steps>] [B<steps>] [C<steps>] [E<steps>] [T<index>] [U<steps>] [V<steps>] [W<steps>] [X<steps>] [Y<steps>] [Z<steps>]
Kommentiertes Beispiel
M92 ; aktuelle Schritte pro Einheit abfragenM201Beschleunigungsgrenzen setzen
Begrenzt Beschleunigungen der Achsen beziehungsweise Motoren. Bei metrischer Einstellung gelten Millimeter pro Sekunde zum Quadrat.
Parameter: Achsparameter: Beschleunigungsobergrenzen in aktuellen Längeneinheiten/s².
Syntax laut Marlin:M201 [E<accel>] [F<Hz>] [S<percent>] [T<index>] [X<accel>] [Y<accel>] [Z<accel>]
Kommentiertes Beispiel
M201 ; aktuelle Grenzen abfragenM203Maximale Geschwindigkeiten setzen
Begrenzt Achs-/Motorgeschwindigkeiten. Achtung: Die Werte sind in Marlin bei metrischen Einheiten mm/s, anders als F bei G1.
Parameter: X/Y/Z/E: Geschwindigkeitsgrenzen in aktuellen Längeneinheiten pro Sekunde.
Syntax laut Marlin:M203 [E<units/s>] [T<index>] [X<units/s>] [Y<units/s>] [Z<units/s>]
M204Beschleunigung nach Bewegungsart
Legt Beschleunigungen für Druck, reine Extruderbewegung und Leerfahrt fest. P, R und T unterscheiden diese Bewegungsarten.
Parameter: P: Druckbeschleunigung; T: Leerfahrt; R: reine Retract-/Recover-Bewegungen.
Syntax laut Marlin:M204 [P<accel>] [R<accel>] [S<accel>] [T<accel>]
Kommentiertes Beispiel
M204 ; aktuelle Beschleunigungen abfragenM205Erweiterte Bewegungswerte
Verwaltet beispielsweise Classic Jerk oder Junction Deviation, abhängig vom Build. Diese unterschiedlichen Modelle dürfen nicht gleichgesetzt werden.
Syntax laut Marlin:M205 [B<µs>] [E<jerk>] [J<mm>] [S<units/s>] [T<units/s>] [X<jerk>] [Y<jerk>] [Z<jerk>]
M220Geschwindigkeit prozentual ändern
Skaliert die Druckgeschwindigkeit relativ zum G-Code. S100 entspricht dem unveränderten Ausgangswert; Maschinenlimits gelten weiterhin.
Parameter: S: Prozentfaktor.
Syntax laut Marlin:M220 [B] [R] [S<percent>]
Kommentiertes Beispiel
M220 S100 ; normale GeschwindigkeitM400Alle Bewegungen abschließen
Wartet, bis die Bewegungswarteschlange abgearbeitet ist. Danach kann beispielsweise eine positionsabhängige Aktion sicherer getaktet werden.
Kommentiertes Beispiel
M400 ; Bewegungswarteschlange vollständig abarbeitenM493Fixed-Time Motion konfigurieren
Steuert den optionalen Fixed-Time-Bewegungsplaner mit seinen Filter- und Extrusionsfunktionen. Parameter sind stark versionsabhängig.
Syntax laut Marlin:M493 [A<Hz>] [C<0|1|2|3|4|5|6|7|8>] [D<0|1|2>] [E] [F<scale>] [H<0|1>] [I<zeta>] [Q<vtol>] [S<0|1>] [X] [Y] [Z]
M494FTM-Bahnglättung einstellen
Konfiguriert die Trajektorienglättung von Fixed-Time Motion. Nur bei aktiviertem FT_MOTION verfügbar.
Syntax laut Marlin:M494 [E<seconds>] [O<overshoot>] [T<0|1|2>] [X<seconds>] [Y<seconds>] [Z<seconds>]
M593ZV Input Shaping einstellen
Meldet oder verändert Frequenz und Dämpfung der unterstützten Achsen. Vorher passende Resonanzwerte ermitteln.
Parameter: F: Frequenz in Hz; D: Dämpfungsfaktor; Achsangaben wählen den Kanal.
Kommentiertes Beispiel
M593 ; aktuelle Input-Shaping-Werte abfragenTemperatur & Lüfter 26 Einträge
M86Hotend-Leerlaufschutz einstellen
Konfiguriert den temperaturbezogenen Inaktivitätsschutz des Hotends. Die Funktion muss im Build vorhanden sein.
Syntax laut Marlin:M86 [B<temp>] [E<temp>] [S<seconds>] [T<temp>]
M87Hotend-Leerlaufschutz deaktivieren
Deaktiviert die entsprechende Hotend-Idle-Funktion. Nur bewusst verwenden, da eine automatische Schutzmaßnahme entfällt.
Syntax laut Marlin:M87
M104Hotend-Solltemperatur setzen
Setzt die Zieltemperatur und arbeitet sofort weiter. S195 bedeutet 195 Grad in der aktiven Temperatureinheit; T0 bezeichnet Hotend beziehungsweise Werkzeug 0.
Parameter: S: Solltemperatur; T: Hotendindex. Beispiel setzt Celsius voraus.
Syntax laut Marlin:M104 [B<temp>] [F<factor>] [I<index>] [S<temp>] [T<index>]
Kommentiertes Beispiel
M104 T0 S195 ; Hotend 0 auf 195 °C, weiterarbeitenM105Temperaturen abfragen
Meldet verfügbare Ist- und Solltemperaturen. Gut zur Kontrolle, ohne eine neue Heiztemperatur vorzugeben.
Syntax laut Marlin:M105 [R] [T<index>]
Kommentiertes Beispiel
M105 ; Temperaturen ausgebenM106Bauteillüfter einstellen
Setzt den geregelten Lüfter über S0 bis S255. P wählt bei mehreren steuerbaren Lüftern den Index.
Parameter: S0: aus; S255: volle PWM; P: Lüfterindex.
Syntax laut Marlin:M106 [I<index>] [P<index>] [S<speed>] [T<1|2|3-255>]
Kommentiertes Beispiel
M106 S128 ; ungefähr 50 % PWMM107Bauteillüfter ausschalten
Schaltet den gewählten steuerbaren Lüfter aus. Automatisch geregelte Hotend-Lüfter sind davon nicht zwingend betroffen.
Syntax laut Marlin:M107 [P<index>]
Kommentiertes Beispiel
M107 ; steuerbaren Bauteillüfter ausschaltenM109Auf Hotend-Temperatur warten
Setzt eine Hotend-Temperatur und wartet. Marlin wartet bei S nur auf Aufheizen, bei R auch auf Abkühlen.
Parameter: S: Solltemperatur, nur beim Aufheizen warten; R: auch beim Abkühlen warten; T: Hotendindex.
Syntax laut Marlin:M109 [B<temp>] [F<factor>] [I<index>] [R<temp>] [S<temp>] [T<index>]
Kommentiertes Beispiel
M109 T0 S195 ; auf Aufheizen wartenM123Lüfterdrehzahl auslesen
Meldet Drehzahlen angeschlossener Lüfter mit Tachosignal. Ein reiner PWM-Lüfter ohne Rückmeldung liefert keine gemessene Drehzahl.
Syntax laut Marlin:M123 [S<seconds>]
M140Heizbett-Solltemperatur setzen
Startet oder ändert die Bettheizung, ohne auf das Erreichen der Zieltemperatur zu warten.
Parameter: S: Heizbett-Solltemperatur.
Syntax laut Marlin:M140 [I<index>] [S<temp>]
Kommentiertes Beispiel
M140 S60 ; Bett auf 60 °C, ohne WartenM141Bauraum-Solltemperatur setzen
Setzt die Temperatur eines unterstützten beheizten Bauraums. Die Befehlsverarbeitung läuft anschließend weiter.
Syntax laut Marlin:M141 [S<temp>]
M143Laserkühler-Temperatur setzen
Stellt den Sollwert eines eingerichteten Laserkühlers ein. Diese Marlin-Bedeutung unterscheidet sich von anderen Firmwarefamilien.
Syntax laut Marlin:M143 [S<temp>]
M145Material-Vorheizprofil ändern
Ändert hinterlegte Vorheizwerte für ein Materialprofil. Hotend, Bett und Lüfter werden über die jeweiligen Parameter angegeben.
M149Temperatureinheit wählen
Wählt Celsius, Fahrenheit oder Kelvin, sofern die Firmware diese Umschaltung unterstützt. Längeneinheiten bleiben davon unabhängig.
M155Temperaturen regelmäßig melden
Aktiviert automatische Temperaturberichte im festgelegten Intervall. S0 beendet die regelmäßige Ausgabe.
M190Auf Heizbett-Temperatur warten
Setzt die Betttemperatur und wartet. Bei Marlin wartet S auf Aufheizen, R zusätzlich auf Abkühlen.
Parameter: S: Heizbettziel mit Warten beim Aufheizen; R: auch beim Abkühlen warten.
Syntax laut Marlin:M190 [I<index>] [R<temp>] [S<temp>] [T<seconds>]
Kommentiertes Beispiel
M190 S60 ; auf 60 °C Betttemperatur wartenM191Auf Bauraum-Temperatur warten
Wartet auf die Zieltemperatur eines eingerichteten beheizten Bauraums. Nur mit passender Kammerregelung verfügbar.
Syntax laut Marlin:M191 [R<temp>] [S<temp>]
M192Auf Sensortemperatur warten
Wartet auf die Temperatur einer unterstützten Messsonde. Wird für reproduzierbare Mess- und Kalibrierbedingungen eingesetzt.
Syntax laut Marlin:M192 [R<temp>] [S<temp>]
M193Auf Laserkühler warten
Wartet auf die Temperatur des konfigurierten Laserkühlers. Spezialfunktion, die passende Sensorik voraussetzt.
Syntax laut Marlin:M193 [S<temp>]
M301Hotend-PID einstellen
Setzt die PID-Reglerparameter des Hotends. Werte sollten aus einer passenden Kalibrierung stammen.
Syntax laut Marlin:M301 [C<value>] [D<value>] [E<index>] [F<value>] [I<value>] [L<value>] [P<value>]
M302Mindesttemperatur für Extrusion
Verwaltet die Temperatursperre für Extruderbewegungen. Eine Freigabe bei kaltem Hotend kann Filament oder Extrudermechanik belasten.
Parameter: S: minimale Extrusionstemperatur; P: Freigabeflag.
Syntax laut Marlin:M302 [P<bool>] [S<temp>]
M303PID automatisch abstimmen
Startet Heiz-/Abkühlzyklen zur Reglerabstimmung. E wählt den Heizer, S die Testtemperatur und C die Zykluszahl.
Parameter: E0: Hotend 0; E-1: unterstütztes Heizbett; S: Ziel; C: Zyklen; U: Ergebnis übernehmen.
Syntax laut Marlin:M303 [C<count>] [D] [E<index>] [S<temp>] [U<bool>]
Kommentiertes Beispiel
M303 E0 S200 C8 ; Hotend-PID bei 200 °C abstimmenM304Heizbett-PID einstellen
Setzt die PID-Werte des Heizbetts, sofern PID-Regelung für das Bett aktiviert ist.
Syntax laut Marlin:M304 [D<value>] [I<value>] [P<value>]
M305Thermistor-Kennwerte einstellen
Ändert Parameter benutzerdefinierter Temperatursensoren. Falsche Werte führen zu falscher Temperaturerfassung.
Syntax laut Marlin:M305 [B<beta>] [C<coeff>] [P<index>] [R<ohm>] [T<ohms>]
M306MPC-Temperaturregelung einstellen
Konfiguriert die modellbasierte Hotend-Regelung beziehungsweise deren Abstimmung. Benötigt Model Predictive Control statt klassischem Hotend-PID.
Syntax laut Marlin:M306 [A<value>] [C<value>] [E<index>] [F<value>] [H<value>] [P<value>] [R<value>] [S<0|1|2>] [T]
M309Bauraum-PID einstellen
Setzt die PID-Werte einer unterstützten Bauraumheizung. Die Werte müssen zur Heizung und Sensoranordnung passen.
Syntax laut Marlin:M309 [D<value>] [I<value>] [P<value>]
M710Elektroniklüfter einstellen
Konfiguriert den Controller-Lüfter und seine Betriebsbedingungen. Dieser Lüfter ist von der Bauteilkühlung zu unterscheiden.
Syntax laut Marlin:M710 [A<bool>] [D<seconds>] [I<speed>] [R<bool>] [S<speed>]
Homing, Leveling & Kalibrierung 46 Einträge
G26Mesh durch Testdruck prüfen
Druckt ein Prüfmuster für die Bettkompensation. Dabei werden Heizungen und Extrusion verwendet; Material und Druckbereich müssen passen.
Parameter: B: Bettziel; H: Hotendziel; weitere Optionen für Filament, Düse und Muster siehe Original.
Syntax laut Marlin:G26 [B<temp>] [C<bool>] [D] [F<linear>] [H<linear>] [I<index>] [K<bool>] [L<linear>] [O<linear>] [P<linear>] [Q<float>] [R<int>] [S<float>] [U<linear>] [X<linear>] [Y<linear>]
Kommentiertes Beispiel
G26 B60 H200 ; Beispiel-Sollwerte für einen MaterialtestG28Achsen referenzieren
Bestimmt die Maschinenposition durch Homing. Ohne Achsangabe werden alle vorgesehenen Achsen referenziert, mit X, Y oder Z gezielt einzelne.
Parameter: Ohne Achsparameter: alle Achsen; X, Y, Z: Achsauswahl.
Syntax laut Marlin:G28 [A] [B] [C] [H] [L<bool>] [O] [R<linear>] [U] [V] [W] [X] [Y] [Z]
Kommentiertes Beispiel
G28 ; alle Achsen referenzieren
; Alternativen, nicht zusätzlich erforderlich:
; G28 X Y
; G28 ZG29Bett nivellieren: Übersicht
G29 arbeitet je nach eingebautem Leveling-System unterschiedlich. Wähle die passende Variante; UBL, bilineares und manuelles Mesh haben unterschiedliche Parameter.
Parameter: Die Syntax hängt vollständig vom gewählten Leveling-System ab.
Syntax laut Marlin:G29
Kommentiertes Beispiel
; Erst Firmware-Leveling-Verfahren bestimmen
; Dann die passende G29-Variante verwendenG29G29: Drei-Punkt-Leveling
Misst drei konfigurierte Punkte und bestimmt daraus eine Ausgleichsebene. Voraussetzung ist AUTO_BED_LEVELING_3POINT.
Syntax laut Marlin:G29 [A<bool>] [C<bool>] [D<bool>] [E<bool>] [J<bool>] [O] [Q<bool>] [V<0-4>]
Kommentiertes Beispiel
G28
G29 ; drei konfigurierte Punkte messenG29G29: Bilineares Mesh
Misst ein Raster und gleicht lokale Höhenabweichungen durch bilineare Interpolation aus. Für neue Messungen wird ein funktionsfähiger Sensor benötigt.
Parameter: L/R/F/B: Messfeldgrenzen; V: Detailgrad. Ohne Parameter werden die konfigurierten Werte genutzt.
Syntax laut Marlin:G29 [A<bool>] [B<linear>] [C<bool>] [D<bool>] [E<bool>] [F<linear>] [H<linear>] [J<bool>] [L<linear>] [O] [Q<bool>] [R<linear>] [S<rate>] [V<0-4>] [W<bool>] [X<float>] [Y<float>] [Z<float>]
Kommentiertes Beispiel
G28
G29 ; neues bilineares Mesh messenG29G29: Lineares Leveling
Misst mehrere Rasterpunkte und berechnet daraus eine Ebene. Das gleicht die Neigung aus, nicht jede lokale Unebenheit.
Parameter: P: quadratische Rastergröße; alternativ X/Y: Anzahl der Messpunkte; weitere Grenzen siehe Original.
Syntax laut Marlin:G29 [A<bool>] [B<linear>] [C<bool>] [D<bool>] [E<bool>] [F<linear>] [H<linear>] [J<bool>] [L<linear>] [O] [P<int>] [Q<bool>] [R<linear>] [S<rate>] [T<bool>] [V<0-4>] [X<int>] [Y<int>]
Kommentiertes Beispiel
G28
G29 P4 ; 4 × 4 Punkte, lineares LevelingG29G29: Manuelles Mesh
Erfasst Höhenpunkte mit manueller Z-Einstellung. S1 beginnt, S2 übernimmt den Punkt und fährt weiter; S0 zeigt den Zustand.
Parameter: S0: Status; S1: beginnen; S2: aktuellen Z-Wert übernehmen und weiter; S3: Punkt ändern; S4: globaler Mesh-Offset; S5: zurücksetzen.
Syntax laut Marlin:G29 [I<index>] [J<index>]S<0|1|2|3|4|5>[X<count>] [Y<count>] [Z<linear>]
Kommentiertes Beispiel
G28
G29 S1 ; ersten Punkt anfahren
; Z manuell einstellen
G29 S2 ; Messwert übernehmen, weiterG29G29: Unified Bed Leveling
UBL bietet Messphasen, Korrektur, Speicherplätze und Aktivierung. P1 misst automatisch, L lädt, S speichert und A aktiviert ein gültiges Mesh.
Parameter: P1: automatisch messen; P2: manuell ergänzen; P3: fehlende Punkte rechnerisch ergänzen; L: laden; S: speichern; A: aktivieren; J: Neigung abgleichen.
Syntax laut Marlin:G29 [A] [B<mm/flag>] [C<bool/float>] [D] [E] [F<linear>] [H<linear>] [I<int>] [J<int>] [K<index>] [L<index>] [P<0|1|2|3|4|5|6>] [Q<index>] [R<int>] [S<slot>] [T<0|1>] [U] [V<0|1|2|3|4>] [W] [X<linear>] [Y<linear>]
Kommentiertes Beispiel
G28
G29 L0 ; vorhandenes Mesh aus Slot 0 laden
G29 A ; gültiges Mesh aktivierenG30Einzelnen Punkt antasten
Führt eine einzelne Z-Messung durch. X und Y wählen gegebenenfalls die Messposition; der Sensor muss dort innerhalb des Betts liegen.
Parameter: X/Y: Messort; optionale Flags sind vom Build abhängig.
Syntax laut Marlin:G30 [C<bool>] [E<bool>] [X<pos>] [Y<pos>]
Kommentiertes Beispiel
G30 ; am vorgesehenen Messort antastenG31Sensorschlitten andocken
Dockt in Marlin einen Z-Probe-Sled an. Nicht mit der gleichnamigen Sensor-Konfiguration in RepRapFirmware verwechseln.
Syntax laut Marlin:G31
Kommentiertes Beispiel
G31 ; Marlin: Sled andockenG32Sensorschlitten abdocken
Dockt in Marlin den eingerichteten Z-Probe-Sled ab. In RepRapFirmware hat G32 eine andere Funktion.
Syntax laut Marlin:G32
Kommentiertes Beispiel
G32 ; Marlin: Sled abdockenG33Delta automatisch kalibrieren
Misst Punkte und korrigiert unterstützte Delta-Geometriewerte wie Höhe, Radius und Endstop-Abgleich. Nur für entsprechend konfigurierte Delta-Drucker.
Parameter: P: Messmuster; C: Zielgenauigkeit; V: Ausgabe; weitere Optionen versionsabhängig.
Syntax laut Marlin:G33 [C<float>] [E<bool>] [F<0-30>] [O<bool>] [P<|0|1|2|3|4-10>] [R<float>] [S] [T<bool>] [V<|0|1|2|3|>] [X] [Y] [Z]
Kommentiertes Beispiel
G33 ; konfigurierte Delta-KalibrierungG34G34: Mechanisch ausrichten
Richtet die Traverse an mechanischen Anschlägen aus. Erfordert ausdrücklich dafür eingerichtete Hardware und MECHANICAL_GANTRY_CALIBRATION.
Syntax laut Marlin:G34 [S<mA>] [Z<linear>]
G34G34: Z-Motoren ausrichten
Gleicht mehrere unabhängig angesteuerte Z-Motoren anhand von Messpunkten aus. Sensor, Motorzuordnung und Messpositionen müssen konfiguriert sein.
Parameter: I: maximale Iterationen; T: Zieltoleranz; A: Verstärkungsfaktor.
Syntax laut Marlin:G34 [A<0.5-2.0>] [E<bool>] [I<1-30>] [L] [R] [S<bool>] [T<0.001-1.0>] [Z<1-4>]
Kommentiertes Beispiel
G34 I5 T0.02 ; bis zu fünf DurchläufeG35Bettschrauben einstellen
Unterstützt die mechanische Bettausrichtung mit Messwerten und Schraubenhinweisen. Die Schraubenpositionen müssen zur Maschine passen.
Syntax laut Marlin:G35 [S<30|31|40|41|50|51>]
G38.2-G38.5Gezielt auf Kontakt antasten
G38.2/3 tasten zum Kontakt, G38.4/5 davon weg. Varianten .2/.4 melden einen Fehler, wenn der erwartete Zustandswechsel ausbleibt.
Parameter: G38.2: zum Kontakt, Fehler bei Ausbleiben; .3: ohne diesen Fehler; .4: vom Kontakt weg mit Fehler; .5: ohne diesen Fehler.
Syntax laut Marlin:G38.2 [F<rate>] [X<pos>] [Y<pos>] [Z<pos>]
G76Sensortemperatur kalibrieren
Erfasst temperaturabhängige Messabweichungen einer unterstützten Z-Sonde. Benötigt die dazugehörige Kompensationsfunktion und geeignete Hardware.
G425Spiel und Werkzeugversatz messen
Tastet einen eingerichteten Kalibrierkörper an, um Umkehrspiel und Werkzeugversatz zu bestimmen. Die gemessene Spielkorrektur wird separat aktiviert.
Syntax laut Marlin:G425 [B] [T<index>] [U<linear>] [V]
M48Wiederholgenauigkeit prüfen
Tastet wiederholt und bewertet die Streuung der Sonde. Das prüft Wiederholbarkeit, nicht automatisch den korrekten Düsenoffset.
Parameter: P: Anzahl der Messungen; weitere Positionen und Testoptionen siehe Quelle.
Syntax laut Marlin:M48 [C<bool>] [E<engage>] [L<legs>] [P<count>] [S<0|1>] [V<level>] [X<pos>] [Y<pos>]
Kommentiertes Beispiel
M48 P10 ; zehn WiederholungsmessungenM102Abstandssensor konfigurieren
Steuert den unterstützten Bed-Distance-Sensor. Kalibrierung und Betriebsart müssen zum eingebauten Sensortyp passen.
Syntax laut Marlin:M102 S<-6|-5|-1|0|>0>
M206Homing-Offsets setzen
Verschiebt den logischen Ursprung relativ zur Referenzposition. Nicht mit dem Abstand zwischen Düse und Messsonde verwechseln.
Syntax laut Marlin:M206 [A<offset>] [B<offset>] [C<offset>] [P<offset>] [T<offset>] [U<offset>] [V<offset>] [W<offset>] [X<offset>] [Y<offset>] [Z<offset>]
M210Homing-Geschwindigkeit setzen
Legt die Referenziergeschwindigkeit unterstützter Achsen fest. Zu hohe Werte können Homing unzuverlässig machen.
Syntax laut Marlin:M210 [A<feedrate>] [B<feedrate>] [C<feedrate>] [U<feedrate>] [V<feedrate>] [W<feedrate>] [X<feedrate>] [Y<feedrate>] [Z<feedrate>]
M218Hotend-Versatz setzen
Definiert den räumlichen Versatz weiterer Hotends. Die Werte müssen durch Kalibrierung zur tatsächlichen Düsenanordnung passen.
Syntax laut Marlin:M218 [T<index>] [X<offset>] [Y<offset>] [Z<offset>]
M290Z fein korrigieren
Verschiebt unterstützte Achsen in kleinen Schritten per Babystepping. Ob der Sondenoffset mitverändert wird, hängt von Optionen und Parametern ab.
Parameter: Z: kleine relative Korrektur in mm; Optionen zur Übernahme in den Sondenoffset siehe Original.
Syntax laut Marlin:M290 [P<bool>] [S<pos>] [X<pos>] [Y<pos>] [Z<pos>]
M360SCARA: Theta A
Fährt die erste Theta-Kalibrierstellung einer SCARA-Maschine an. Nur für die entsprechende Kinematik und Kalibrierroutine.
Syntax laut Marlin:M360
M361SCARA: Theta B
Fährt die zweite Theta-Kalibrierstellung an. Dient dem Geometrieabgleich einer unterstützten SCARA-Konfiguration.
Syntax laut Marlin:M361
M362SCARA: Psi A
Fährt eine Psi-Kalibrierstellung für den SCARA-Abgleich an. Nicht für kartesische Drucker vorgesehen.
Syntax laut Marlin:M362
M363SCARA: Psi B
Fährt eine weitere Psi-Kalibrierstellung einer SCARA-Maschine an. Freien Schwenkbereich sicherstellen.
Syntax laut Marlin:M363
M364SCARA: Psi C
Fährt die entsprechende dritte Psi-Kalibrierstellung an. Gehört zur speziellen SCARA-Kalibrierung.
Syntax laut Marlin:M364
M401Messsonde ausfahren
Bringt eine unterstützte ausfahrbare Sonde in Messstellung. Die erforderliche Mechanik muss konfiguriert sein.
Kommentiertes Beispiel
M401 ; konfigurierte Sonde ausfahrenM402Messsonde einfahren
Verstaut die unterstützte ausfahrbare Sonde nach der Messung. Bedeutung unterscheidet sich von einem Sensorschlitten-Dockbefehl.
Kommentiertes Beispiel
M402 ; konfigurierte Sonde verstauenM420Bettkompensation verwalten
Meldet oder aktiviert die Bettkompensation. S1 benötigt ein gültiges Mesh; Z legt bei unterstützten Systemen die Ausblendhöhe fest.
Parameter: S1/S0: an/aus; V: Bericht; Z: Ausblendhöhe bei unterstütztem Verfahren.
Kommentiertes Beispiel
M420 V ; Zustand und Meshinformationen
; M420 S1 ; vorhandenes gültiges Mesh aktivierenM421Einzelnen Mesh-Wert ändern
Bearbeitet gezielt einen Mesh-Höhenwert. Rasterindizes und Korrektur müssen zum aktiven Leveling-System passen.
Syntax laut Marlin:M421 [C<bool>] [I<index>] [J<index>] [N<bool>] [Q<linear>] [X<linear>] [Y<linear>] [Z<linear>]
M422Z-Ausrichtpunkte setzen
Legt XY-Mess- beziehungsweise Motorpositionen für die automatische Z-Ausrichtung fest. Falsche Zuordnung führt zu falschen Korrekturen.
Syntax laut Marlin:M422 [R] [S<index>] [W<index>] [X<linear>] [Y<linear>]
M423Verdrehung der X-Achse kompensieren
Konfiguriert die Korrektur messpositionsabhängiger Z-Abweichungen durch X-Achsen-Verdrehung. Benötigt die entsprechende Firmwarefunktion.
Syntax laut Marlin:M423 [A<linear>] [E<linear>] [I<linear>] [R] [X<index>] [Z<linear>]
M425Umkehrspiel kompensieren
Setzt und aktiviert die Kompensation mechanischen Umkehrspiels. Werte sollten aus Messung oder Kalibrierung stammen.
Syntax laut Marlin:M425 [F<value>] [S<linear>] [X<linear>] [Y<linear>] [Z<linear>] [Z]
M428Aktuelle Position als Home-Offset
Übernimmt geeignete aktuelle Positionen als Homing-Versatz. Nur während eines kontrollierten Kalibrierablaufs verwenden.
Syntax laut Marlin:M428
M665Delta-Geometrie einstellen
Setzt Geometriewerte einer Delta-Kinematik. Parameter müssen zur realen Mechanik und zum Kalibrierverfahren passen.
M665SCARA-Geometrie einstellen
Konfiguriert die unterstützten SCARA-Geometrieparameter. Die Bedeutung von M665 unterscheidet sich vom Delta-Build.
M666Doppelte Endstops abgleichen
Setzt Korrekturwerte für getrennte Endschalter an mehrfach angetriebenen Achsen. Gilt für die jeweilige Multi-Endstop-Konfiguration.
M666Delta-Endstops abgleichen
Ändert die Endstop-Korrekturen der Delta-Türme. Gehört zur Delta-Kalibrierung.
M672Smart-Effector-Empfindlichkeit
Programmiert die Empfindlichkeit eines unterstützten Duet Smart Effectors. Nur mit dieser passenden Sensorhardware.
Syntax laut Marlin:M672 [R<bool>] [S<sensitivity>]
M851Sondenversatz einstellen
Meldet oder setzt den Abstand zwischen Messsonde und Düse. Z-Werte müssen kalibriert werden; kein universeller Zahlenwert passt zu jedem Drucker.
Parameter: X/Y/Z: Sensorversatz; verfügbare Achsen sind buildabhängig.
Syntax laut Marlin:M851 [X<linear>] [Y<linear>] [Z<linear>]
Kommentiertes Beispiel
M851 ; vorhandenen Sondenoffset abfragenM852Achsschrägstellung kompensieren
Korrigiert eine gemessene Schiefwinkligkeit der Achsen. Die Kompensation ersetzt keine Prüfung der Mechanik.
Syntax laut Marlin:M852 [I] [J] [K] [S]
M871Temperaturkorrektur der Sonde
Bearbeitet beziehungsweise meldet die Temperatur-Kompensationswerte der Messsonde. Werte gehören zur passenden Sensorkalibrierung.
Syntax laut Marlin:M871 [B] [E] [I<index>] [P] [R] [V<value>]
M915TMC-Z-Achse kalibrieren
Führt eine spezielle Z-Ausrichtroutine mit unterstützten TMC-Treibern aus. Nur auf dafür eingerichteten Maschinen verwenden.
Extrusion & Werkzeuge 30 Einträge
G10Filament zurückziehen
Startet Firmware-Retract nach den M207-Einstellungen; benötigt FWRETRACT. Bei Werkzeugwechseln kann eine gesonderte Rückzugslänge verwendet werden.
Parameter: Ohne Parameter: normaler Retract; S1: Werkzeugwechsel-Retract bei entsprechender Mehrfach-Extruder-Konfiguration.
Syntax laut Marlin:G10 [S<bool>]
Kommentiertes Beispiel
G10 ; eingerichteten Retract ausführenG11Filament wieder vorschieben
Macht den vorherigen Firmware-Retract rückgängig und berücksichtigt die zusätzliche Förderlänge aus M208. G11 ist kein weiterer Rückzug.
Parameter: Kein Längenwert erforderlich; Länge und Geschwindigkeit stammen aus M207/M208.
Syntax laut Marlin:G11
Kommentiertes Beispiel
G11 ; nach G10 wieder anfördernM82Absolute Extrusionswerte
Setzt E in Marlin auf absolute Positionsangaben. Spätere G90/G91-Befehle heben diesen Override wieder auf.
Syntax laut Marlin:M82
Kommentiertes Beispiel
G90
M82 ; XYZ und Extrusion absolut
G92 E0 ; E-Zähler zurücksetzenM83Relative Extrusionswerte
Setzt E in Marlin auf relative Fördermengen. Nach einem späteren G90/G91 den gewünschten E-Modus erneut ausdrücklich setzen.
Syntax laut Marlin:M83
Kommentiertes Beispiel
G90
M83 ; XYZ absolut, Extrusion relativM163Mischanteil einstellen
Setzt den Anteil eines Extruderkanals bei einem Mixing-Extruder. Die Mischung wird mit den passenden weiteren Befehlen verwaltet.
M164Mischung als Werkzeug speichern
Übernimmt die aktuellen Mischanteile in einen virtuellen Werkzeugplatz. Erfordert einen eingerichteten Mixing-Extruder.
M165Mischung direkt setzen
Legt mehrere Extruderanteile gemeinsam fest. Die Kanalparameter richten sich nach der unterstützten Mischkonfiguration.
M166Farbverlauf einstellen
Konfiguriert einen höhenabhängigen Mischverlauf zwischen virtuellen Mischwerkzeugen. Benötigt Gradient-Mix-Unterstützung.
M200Volumetrische Extrusion einstellen
Legt den Filamentdurchmesser für volumetrische Extrusion fest. Im aktiven Volumenmodus bedeuten E-Werte Kubikmillimeter statt Filamentmillimeter.
Parameter: D: Filamentdurchmesser; D0: Volumenmodus deaktivieren; weitere Optionen versionsabhängig.
Syntax laut Marlin:M200 [D<diameter>] [L<volume>] [S<0|1>] [T<index>]
Kommentiertes Beispiel
M200 ; aktuellen Zustand abfragenM207Firmware-Retract konfigurieren
Setzt Rückzugslänge, Rückzugsgeschwindigkeit und optionalen Z-Hub für G10. Die Werte gelten nur für Firmware-Retract.
Parameter: S: Rückzugslänge; F: Rückzugsgeschwindigkeit in mm/min bei G21; Z: zusätzlicher Z-Hub.
Syntax laut Marlin:M207 [F<feedrate>] [S<length>] [W<length>] [Z<length>]
Kommentiertes Beispiel
M207 ; Firmware-Retract-Werte abfragenM208Wiederanförderung konfigurieren
Bestimmt Zusatzlänge und Geschwindigkeit beim Rückgängigmachen eines Firmware-Retracts. Die Länge ergänzt die Rückzugslänge aus M207.
Parameter: S: zusätzliche Wiederanförderlänge; F: Vorschub in mm/min; W/R: unterstützte Wechselwerte.
Syntax laut Marlin:M208 [F<feedrate>] [R<feedrate>] [S<length>] [W<length>]
Kommentiertes Beispiel
M208 ; Recover-Werte abfragenM209Automatischen Retract erkennen
Schaltet die Erkennung geeigneter reiner Extruderbewegungen als Firmware-Retract um. Nur mit passender FWRETRACT-Konfiguration.
Syntax laut Marlin:M209 [S<bool>]
M217Werkzeugwechsel konfigurieren
Stellt Filamentwechselparameter für unterstützte Mehrfachwerkzeug-Systeme ein. Länge, Geschwindigkeit und weitere Optionen sind hardwareabhängig.
Syntax laut Marlin:M217 [A<linear>] [B<linear>] [C<linear>] [E<linear>] [F<linear>] [G<linear>] [H<linear>] [I<linear>] [J<linear>] [K<linear>] [L<linear>] [O<linear>] [P<feedrate>] [Q] [R<feedrate>] [S<linear>] [U<linear>] [V<linear>] [W<linear>] [X<linear>] [Y<linear>] [Z<feedrate>]
M221Materialfluss prozentual ändern
Skaliert die angeforderte Extrusion. S100 entspricht dem normalen Fluss; das ändert nicht automatisch die Fahrgeschwindigkeit.
Parameter: S: Flussfaktor in Prozent; T gegebenenfalls Extruderindex.
Syntax laut Marlin:M221 S<percent>[T<index>]
Kommentiertes Beispiel
M221 S100 ; normaler MaterialflussM403MMU2-Materialtyp setzen
Übermittelt den Filamenttyp für ein unterstütztes Multi-Material-System. Nur mit entsprechender MMU2-Anbindung relevant.
M404Nenndurchmesser für Sensor
Setzt den Filament-Nenndurchmesser für die automatische Flussanpassung mit Breitenmesssensor.
M405Filamentbreitenregelung einschalten
Aktiviert die sensorbasierte Flussanpassung. Transportverzögerungen zwischen Sensor und Düse müssen berücksichtigt werden.
M406Filamentbreitenregelung ausschalten
Deaktiviert die automatische Anpassung anhand des Filamentbreitensensors.
M407Filamentbreite abfragen
Meldet die aktuelle Messung eines eingerichteten Filamentbreitensensors.
M412Filamentsensor verwalten
Meldet und konfiguriert die Filamentende-Erkennung. S schaltet sie um; weitere Parameter hängen vom Sensortyp ab.
Parameter: S: Sensorfunktion aktivieren/deaktivieren; weitere Optionen sensorabhängig.
Kommentiertes Beispiel
M412 ; aktuellen Zustand abfragenM592Nichtlineare Extrusion korrigieren
Konfiguriert eine optionale nichtlineare Extrusionskompensation. Nicht mit Linear Advance oder einer einfachen Flussänderung gleichsetzen.
M600Filamentwechsel auslösen
Startet den konfigurierten Wechselablauf mit Pause, Parken und Materialförderung. Benötigt ADVANCED_PAUSE_FEATURE und geeignete Bedienunterstützung.
Kommentiertes Beispiel
M600 ; eingerichteten Filamentwechsel startenM603Filamentwechsel-Längen einstellen
Konfiguriert unterstützte Lade- und Entladelängen des Filamentwechselablaufs. Die Wege müssen zum Extrudersystem passen.
M605Mehrdüsen-Modus wählen
Konfiguriert unterstützte Dual-/IDEX-Betriebsarten, etwa Duplikation. Erfordert die passende Hardware und korrekt kalibrierte Offsets.
M701Filament laden
Startet einen eingerichteten Ladevorgang. Förderweg, Temperatur und Extruder müssen zum Materialsystem passen.
Syntax laut Marlin:M701 L<distance>[T<extruder>] [Z<distance>]
M702Filament entladen
Startet einen eingerichteten Entladevorgang. Nicht unkontrolliert bei kaltem, festgehaltenem Filament ausführen.
Syntax laut Marlin:M702 [T<extruder>]U<distance>[Z<distance>]
M900Linear Advance einstellen
Meldet oder setzt den K-Faktor der Extrusionsdruck-Kompensation. K0 deaktiviert sie; Werte sind material- und extruderabhängig.
Parameter: K: kalibrierter Advance-Faktor; T: Extruder; weitere Slots optional.
Kommentiertes Beispiel
M900 ; aktuelle Linear-Advance-Werte abfragenM951Magnetischen Parkextruder einstellen
Konfiguriert einen unterstützten magnetisch geparkten Extruder. Die Einstellungen müssen zur Werkzeugwechselmechanik passen.
Syntax laut Marlin:M951 [C<float>] [D<linear>] [H<linear>] [I<linear>] [J<linear>] [L<linear>] [R<linear>]
T0-T7Werkzeug auswählen
T0, T1 und weitere unterstützte Nummern wählen ein Werkzeug oder virtuelles Material. Verfügbare Nummern hängen von der Konfiguration ab.
Syntax laut Marlin:T0 [F<feedrate>] [S<0|1>]
Kommentiertes Beispiel
T0 ; vorhandenes Werkzeug 0 wählenT?-TxMMU2: Spezielle Ladebefehle
T?, Tc und Tx steuern unterschiedliche Ladeabschnitte der MMU2. Menüunterstützung, Heizwartezeiten und Förderwege unterscheiden sich.
Parameter: T?: Auswahl/Laden bis zur Düse; Tx: bis zum Extruder fördern; Tc: vom Extruder bis zur Düse laden.
Syntax laut Marlin:T?
Druckablauf & Dateien 35 Einträge
G12Düse reinigen
Fährt ein konfiguriertes Reinigungsmuster über eine Bürste oder Reinigungsfläche. Benötigt NOZZLE_CLEAN_FEATURE und passende mechanische Freiräume.
Parameter: P: Muster (0 gerade, 1 Zickzack, 2 Kreis); S: Hübe; T: Dreiecke beim Zickzack; R: Kreisradius.
Syntax laut Marlin:G12 [E<bool>] [P<0|1|2>] [R<radius>] [S<count>] [T<count>] [X] [Y] [Z]
Kommentiertes Beispiel
G12 P0 S3 ; gerades Muster, drei HübeG27Druckkopf parken
Fährt die in der Firmware eingerichtete Parkposition an. Die P-Option beeinflusst das Anheben der Z-Achse.
Parameter: P beeinflusst, ob und wie der Kopf angehoben wird; Parkkoordinaten sind konfiguriert.
Syntax laut Marlin:G27 [P<0|1|2|3|4>]
Kommentiertes Beispiel
G27 ; eingerichtete ParkpositionM0 / M1Auf Fortsetzung warten
Pausiert bis zur Bestätigung oder bis zum angegebenen Zeitlimit. M0 und M1 sind hier zusammengefasst; die Bedienmöglichkeit hängt vom System ab.
M20Dateien auf SD auflisten
Gibt die verfügbaren Dateien auf dem eingebundenen Speichermedium aus. Erweiterte Ausgabeoptionen hängen vom Build ab.
Syntax laut Marlin:M20 [F] [L] [T]
Kommentiertes Beispiel
M20 ; SD-Dateien auflistenM21SD-Karte initialisieren
Bindet das unterstützte Speichermedium für Dateizugriffe ein. Die Firmware muss SD-Unterstützung enthalten.
Syntax laut Marlin:M21
M22SD-Karte freigeben
Gibt das eingebundene Speichermedium frei. Nicht mitten in einem benötigten Dateizugriff ausführen.
Syntax laut Marlin:M22
M23Druckdatei auswählen
Wählt eine Datei auf dem Speichermedium aus. Der eigentliche Druckstart erfolgt anschließend beispielsweise mit M24.
Syntax laut Marlin:M23 filename
Kommentiertes Beispiel
M23 beispiel.gco ; vorhandene Datei auswählenM24SD-Druck starten oder fortsetzen
Startet eine ausgewählte Datei oder setzt einen pausierten SD-Druck fort. Ein eingerichteter Parkzustand kann dabei zurückgenommen werden.
Syntax laut Marlin:M24 [S<pos>] [T<time>]
Kommentiertes Beispiel
M24 ; ausgewählten SD-Job starten oder fortsetzenM25SD-Druck pausieren
Hält die Dateiverarbeitung eines SD-Drucks an. Ein vollständig eingerichteter Parkablauf ist davon gesondert zu betrachten.
Kommentiertes Beispiel
M25 ; SD-Job pausierenM26Dateiposition setzen
Verschiebt die Leseposition innerhalb einer SD-Datei. Ein Byteoffset allein stellt keinen sicheren Druckzustand wieder her.
M27SD-Druckstatus abfragen
Meldet den Zustand beziehungsweise Fortschritt des Dateidrucks. Automatische Berichte können je nach Build verfügbar sein.
M28Datei auf SD schreiben
Beginnt die Speicherung empfangener Befehle in eine Datei. Nachfolgende Eingaben werden bis M29 als Dateiinhalte behandelt.
Syntax laut Marlin:M28 [B1]filename
M29SD-Schreibvorgang beenden
Schließt den mit M28 begonnenen Dateischreibvorgang beziehungsweise beendet die SD-Protokollierung.
Syntax laut Marlin:M29
M30Datei von SD löschen
Entfernt eine benannte Datei vom Speichermedium. Vorher den Dateinamen prüfen; der Befehl ist kein Druckabbruch.
Syntax laut Marlin:M30 filename
M31Druckzeit ausgeben
Meldet die erfasste Druckdauer. Er ersetzt keine präzise Vorschau der verbleibenden Zeit.
Syntax laut Marlin:M31
M32Datei auswählen und starten
Kombiniert Dateiauswahl und Start eines SD-Drucks. Zusätzliche Aufrufoptionen hängen vom Firmwarestand ab.
Syntax laut Marlin:M32 [P<0|1>] [S<filepos>]
M33Langen Dateipfad ausgeben
Löst einen kurzen SD-Dateipfad in eine ausführliche Pfaddarstellung auf. Nützlich für Host-Dateibrowser.
Syntax laut Marlin:M33 path
M34Dateisortierung einstellen
Ändert unterstützte Sortieroptionen des SD-Dateimenüs. Verfügbarkeit hängt von der Firmwarekonfiguration ab.
Syntax laut Marlin:M34 [F<-1|0|1>] [S<|-1|0|1|2>]
M73Druckfortschritt übergeben
Übermittelt Fortschritt und gegebenenfalls Restzeit an die Firmwareanzeige. Solche Werte werden häufig vom Slicer gesetzt.
Syntax laut Marlin:M73 [C<minutes>] [P<percent>] [R<minutes>]
M75Druckzeitmessung starten
Startet den Job-Zeitmesser. Das allein startet noch keine Druckdatei.
Syntax laut Marlin:M75 [string]
M76Druckzeitmessung pausieren
Pausiert den Job-Zeitmesser. Eine echte Druckpause muss separat ausgelöst werden.
Syntax laut Marlin:M76
M77Druckzeitmessung stoppen
Beendet den Job-Zeitmesser. Nicht mit einem Motor-, Heizungs- oder Druckabbruch verwechseln.
Syntax laut Marlin:M77
M78Druckstatistik ausgeben
Meldet gespeicherte Job-Statistiken. Weitere Optionen können Statistikwerte zurücksetzen.
Syntax laut Marlin:M78 [R<index>] [S<78>]
M108Wartezustand aufheben
Beendet unterstützte Heiz- oder Benutzerwartezeiten. Bei blockierendem Ablauf hängt die sofortige Verarbeitung vom Emergency Parser ab.
Syntax laut Marlin:M108
M112Druckersteuerung anhalten
Hält die Maschine an und schaltet Heizungen sowie Motoren ab. Das ist kein sicherheitszertifizierter Not-Halt; zur Fortsetzung ist ein Reset nötig.
Syntax laut Marlin:M112
Kommentiertes Beispiel
M112 ; Steuerung anhaltenM125Pause mit Parkposition
Startet einen eingerichteten Park-/Pausenablauf. Rückzug und Parkbewegung hängen von den Advanced-Pause-Einstellungen ab.
Syntax laut Marlin:M125 [L<linear>] [P<bool>] [X<linear>] [Y<linear>] [Z<linear>]
M410Bewegungen sofort stoppen
Stoppt die Schrittmotorbewegung abrupt. Heizungen bleiben davon grundsätzlich getrennt; die Positionsreferenz kann anschließend unzuverlässig sein.
M413Stromausfall-Fortsetzung einstellen
Verwaltet die optionale Wiederaufnahme nach Stromausfall. Sie setzt geeignete Firmware, Speicherung und Maschinenbedingungen voraus.
M486Einzelne Objekte abbrechen
Kennzeichnet oder verwirft einzelne Objekte innerhalb eines Druckjobs. Benötigt passende Objektmarkierungen im G-Code.
Syntax laut Marlin:M486 [C] [P<index>] [S<index>] [T<count>] [U<index>]
M524SD-Druck abbrechen
Beendet einen laufenden SD-Druck. Das Verhalten beim Abbruch hängt auch von konfigurierten Abbruchaktionen ab.
Syntax laut Marlin:M524
M540SD-Abbruch bei Endstop
Verwaltet die Option, einen SD-Druck bei einem Endstop-Ereignis abzubrechen.
Syntax laut Marlin:M540 S<flag>
M808Wiederholungsabschnitt markieren
Markiert Schleifen im unterstützten SD-Druckablauf. Eine falsche Wiederholungszahl kann denselben Abschnitt mehrfach ausführen.
Syntax laut Marlin:M808 [L<count>]
M810-M819G-Code-Makros verwalten
Definiert oder führt Makros in den Slots M810 bis M819 aus. Benötigt die entsprechende GCODE_MACROS-Funktion.
Parameter: M810, M811, M812, M813, M814, M815, M816, M817, M818 und M819 bezeichnen zehn getrennte Makro-Slots.
Syntax laut Marlin:M810 [string]
M820G-Code-Makros anzeigen
Gibt die gespeicherten Makrodefinitionen aus. Dient der Kontrolle vor ihrer Ausführung.
Syntax laut Marlin:M820
M928SD-Protokollierung starten
Protokolliert serielle Eingaben in eine Datei auf dem Speichermedium. M29 beendet die Protokollierung.
Syntax laut Marlin:M928 filename
Einstellungen & Diagnose 36 Einträge
M16Druckerkennung vergleichen
Prüft, ob die erwartete Druckerkennung zur Firmware passt. Kann verhindern, dass eine Datei für die falsche Maschine gestartet wird.
M100Freien Speicher untersuchen
Diagnosefunktion für den Arbeitsspeicher. Benötigt den Free-Memory-Watcher und ist vor allem für Firmware-Entwicklung gedacht.
Syntax laut Marlin:M100 [C<n>] [D] [F] [I]
M110Zeilennummer verwalten
Setzt beziehungsweise meldet die für die Host-Kommunikation verwendete Zeilennummer. Relevant für nummerierte Übertragung und Wiederholungen.
Syntax laut Marlin:M110 N<line>
M111Diagnoseausgaben einstellen
Schaltet Debug-Ausgaben per Bitmaske. Zusätzliche Ausgaben können die Kommunikation belasten; nur gezielt zur Fehlersuche verwenden.
Syntax laut Marlin:M111 [S<flags>]
M113Host-Lebenszeichen einstellen
Legt das Intervall für Busy-/Keepalive-Meldungen fest, damit ein Host längere interne Abläufe erkennen kann.
Syntax laut Marlin:M113 [S<seconds>]
M114Aktuelle Position abfragen
Meldet die der Firmware bekannten Koordinaten. Das ist nicht automatisch eine unabhängig gemessene reale Düsenposition.
Syntax laut Marlin:M114 [D] [E] [R]
Kommentiertes Beispiel
M114 ; Firmwarekoordinaten anzeigenM115Firmware und Fähigkeiten abfragen
Gibt Firmwareinformationen und je nach Build unterstützte Fähigkeiten aus. Ein sinnvoller erster Diagnosebefehl.
Syntax laut Marlin:M115
Kommentiertes Beispiel
M115 ; Firmware und Fähigkeiten anzeigenM117Displaytext anzeigen
Schreibt eine Nachricht auf ein unterstütztes Druckerdisplay. Der Text folgt direkt auf den Befehl.
Syntax laut Marlin:M117 [string]
Kommentiertes Beispiel
M117 Bereit zum DruckenM118Nachricht an den Host senden
Gibt eine Textmeldung über die serielle Schnittstelle aus. Optionen bestimmen das Nachrichtenformat beziehungsweise den Empfängerkanal.
Syntax laut Marlin:M118 [A1] [E1] [P<0|1|2>] [string]
M119Endstop-Zustände abfragen
Meldet den Zustand der Endschalter und gegebenenfalls der Sonde. Hilft beim Prüfen von Verdrahtung und Signalpolarität.
Syntax laut Marlin:M119
Kommentiertes Beispiel
M119 ; Endschalterstatus lesenM154Position regelmäßig melden
Aktiviert oder konfiguriert automatische Positionsberichte. Unterstützt die Host-Anzeige ohne ständige Einzelabfragen.
M250Displaykontrast einstellen
Ändert den Kontrast eines unterstützten LCD. Nicht jedes Display bietet diese Funktion.
Syntax laut Marlin:M250 [C<contrast>]
M255Display-Ruhezeit einstellen
Legt die Wartezeit bis zur Displayruhe oder Abschaltung der Beleuchtung fest. Die Wirkung ist displayabhängig.
M256Displayhelligkeit einstellen
Ändert die Helligkeit einer unterstützten Displaybeleuchtung. Erfordert steuerbare Hintergrundbeleuchtung.
M300Signalton abspielen
Spielt auf unterstützter Hardware einen Ton mit vorgegebener Frequenz und Dauer ab.
Parameter: S: Frequenz in Hz; P: Dauer in Millisekunden.
Syntax laut Marlin:M300 [P<ms>] [S<Hz>]
Kommentiertes Beispiel
M300 S660 P150 ; kurzer SignaltonM414Displaysprache auswählen
Wechselt zwischen den einkompilierten Display-Sprachen. Eine Sprache muss im Build enthalten sein.
M430Leistungswerte anzeigen
Meldet unterstützte Messwerte wie Strom, Spannung und Leistung. Erfordert die passende Messhardware.
Syntax laut Marlin:M430 [I<bool>] [V<bool>] [W<bool>]
M500Einstellungen dauerhaft speichern
Schreibt speicherbare Laufzeiteinstellungen in den nichtflüchtigen Speicher. Vorher prüfen, ob die aktuellen Werte tatsächlich übernommen werden sollen.
Syntax laut Marlin:M500
Kommentiertes Beispiel
M500 ; geprüfte aktuelle Einstellungen speichernM501Gespeicherte Einstellungen laden
Lädt gespeicherte Konfigurationswerte. Bei ungültigen Speicherdaten können je nach Build die Firmware-Standardwerte geladen werden.
Syntax laut Marlin:M501
Kommentiertes Beispiel
M501 ; gespeicherte Einstellungen ladenM502Firmware-Standardwerte laden
Setzt die Laufzeiteinstellungen auf die einkompilierten Standardwerte zurück. Erst ein anschließendes M500 speichert diese dauerhaft.
Syntax laut Marlin:M502
Kommentiertes Beispiel
M502 ; Firmware-Standardwerte ins RAM ladenM503Aktive Einstellungen anzeigen
Gibt die aktuellen Konfigurationswerte aus. Sinnvoll zur Dokumentation vor einer Änderung.
Syntax laut Marlin:M503 [C] [S]
Kommentiertes Beispiel
M503 ; aktuelle Einstellungen dokumentierenM504Konfigurationsspeicher prüfen
Prüft den gespeicherten EEPROM-Inhalt auf Gültigkeit. Es ist kein vollständiger Funktionstest des Druckers.
Syntax laut Marlin:M504
M510Maschine sperren
Aktiviert die optionale Maschinensperre. Benötigt die Passwort-/Lock-Funktion der Firmware.
Syntax laut Marlin:M510
M511Maschine entsperren
Hebt die eingerichtete Maschinensperre mit den vorgesehenen Angaben auf.
Syntax laut Marlin:M511 P<passcode>
M512Sperrcode einstellen
Verwaltet den Zugangscode der optionalen Maschinensperre. Die Parameter richten sich nach der verwendeten Firmwareversion.
Syntax laut Marlin:M512 P<password>[S<password>]
M550Maschinenname einstellen
Ändert den unterstützten Druckernamen. Anzeige und Speicherung hängen vom Build ab.
Syntax laut Marlin:M550 [P<name>] [string]
M552Ethernet-Schnittstelle einstellen
Konfiguriert die unterstützte Netzwerkschnittstelle beziehungsweise IP-Adresse. Nur für passende Netzwerkhardware.
Syntax laut Marlin:M552 [P<ip-address>] [S<-1|0|1>]
M553Subnetzmaske setzen
Stellt die IPv4-Subnetzmaske einer unterstützten Ethernet-Konfiguration ein.
Syntax laut Marlin:M553 [P<subnet-mask>]
M554Gateway setzen
Stellt die Gateway-Adresse der unterstützten Ethernet-Konfiguration ein.
Syntax laut Marlin:M554 [P<gateway>]
M575Serielle Baudrate ändern
Stellt die Übertragungsgeschwindigkeit einer unterstützten seriellen Schnittstelle ein. Der Host muss denselben Wert verwenden.
M876Host-Rückfrage beantworten
Übermittelt die Antwort auf eine Firmware-/Host-Rückfrage. Vor allem für integrierte Bedienoberflächen relevant.
Syntax laut Marlin:M876 S<response>
M993SPI-Flash auf SD sichern
Erstellt ein Backup des unterstützten SPI-Flashs auf SD. Spezielle Entwicklungs-/Board-Funktion, kein allgemeines Konfigurationsbackup.
Syntax laut Marlin:M993
M994SPI-Flash von SD wiederherstellen
Spielt ein passendes SPI-Flash-Backup ein. Nur für unterstützte Hardware und eine exakt passende Sicherung.
Syntax laut Marlin:M994
M995Touchscreen kalibrieren
Startet die Kalibrierung eines unterstützten TFT-Touchscreens. Die Bedienoberfläche führt durch die Referenzpunkte.
Syntax laut Marlin:M995
M997Firmware-Aktualisierung anstoßen
Startet die vom Board unterstützte Firmware-Aktualisierung. Verfahren und benötigte Datei sind hardwareabhängig.
Syntax laut Marlin:M997
M999Nach STOP neu starten
Versetzt die Firmware nach einem passenden STOP-Zustand wieder in den Betriebszustand. Fehlerursache vorher beheben; nicht blind fortsetzen.
Syntax laut Marlin:M999 S<bool>
Motoren, Elektronik & Spezialhardware 53 Einträge
G6Direkte Schrittmotorbewegung
Verarbeitet vorbereitete Schrittdaten ohne normale Bewegungsinterpolation. Spezialfunktion DIRECT_STEPPING, kein Ersatz für gewöhnliche G1-Fahrten.
M3Spindel rechts oder Laser ein
Aktiviert eine konfigurierte CNC-Spindel beziehungsweise einen Laser. Gehört zu Spezialmaschinen, nicht zum gewöhnlichen FDM-Druckbetrieb.
M4Spindel links oder Laserbetrieb
Steuert eine konfigurierte Spindel gegen den Uhrzeigersinn beziehungsweise die unterstützte Laserfunktion. Modusabhängige Wirkung beachten.
Syntax laut Marlin:M4 [I<mode>] [O<power>] [S<power>]
M5Spindel oder Laser ausschalten
Deaktiviert die eingerichtete Spindel-/Laserfunktion. Der Befehl ersetzt keinen unabhängigen Hardware-Not-Halt.
M7-M9Kühlmittel schalten
M7/M8 aktivieren unterstützte Kühlmittelarten, M9 schaltet sie aus. CNC-Spezialfunktion, keine gewöhnliche Bauteillüftersteuerung.
Syntax laut Marlin:M7
M10 / M11Vakuum oder Gebläse schalten
Steuert die optionale Vakuum-/Gebläsefunktion mit M10 und M11. Bedeutung und Ausgang hängen von der Maschinenkonfiguration ab.
Syntax laut Marlin:M10
M17Schrittmotoren einschalten
Aktiviert die Motoren beziehungsweise ihre Halteströme. Das stellt keine verlorene Referenzposition wieder her.
Syntax laut Marlin:M17 [X, Y, Z, E, A, B, C, U, V, W]
M18 / M84Motoren lösen oder Timeout setzen
M18 und M84 können Motoren deaktivieren oder mit S einen Inaktivitätszeitraum festlegen. Eine ungebremste Z-Achse kann dabei absinken.
Parameter: S: Sekunden bis zum Lösen; X/Y/Z/E: Achsauswahl, falls unterstützt.
Syntax laut Marlin:M18 [S<seconds>] [X, Y, Z, E, A, B, C, U, V, W]
Kommentiertes Beispiel
M84 S120 ; Motor-Timeout auf 120 SekundenM42Pin-Zustand setzen
Schaltet einen freigegebenen Ein-/Ausgang. Falsche Pinwahl kann angeschlossene Hardware ansteuern; Pinbelegung vorher prüfen.
Syntax laut Marlin:M42 [I<bool>] [P<pin>]S<state>[T<0|1|2|3>]
M43 TPins testweise umschalten
Toggelt Pins für Hardware-Diagnosen. Dieser Test kann reale Ausgänge betätigen und ist kein harmloser Statusabruf.
Syntax laut Marlin:M43 T [I<bool>] [L<pin>] [R<count>] [S<pin>] [W<time>]
M43Pins diagnostizieren
Untersucht Pin-Zustände und unterstützt Tests der Ein-/Ausgänge. Funktionsumfang hängt von PINS_DEBUGGING ab.
Syntax laut Marlin:M43 [E<bool>] [I] [P<pin>] [S] [T] [W]
M80Netzteil einschalten
Aktiviert den konfigurierten schaltbaren Netzteilausgang. Funktioniert nur bei passender Stromversorgungssteuerung.
Syntax laut Marlin:M80 [S]
M81Netzteil ausschalten
Schaltet ein unterstütztes Netzteil über die Firmware aus. Restwärme und notwendige Nachkühlung berücksichtigen.
Syntax laut Marlin:M81
M85Inaktivitäts-Abschaltung
Legt ein Zeitlimit fest, nach dem die Maschine bei ausbleibenden Befehlen herunterfährt. Nicht mit dem Motor-Timeout verwechseln.
Syntax laut Marlin:M85 [S<seconds>]
M120Endstop-Auswertung aktivieren
Aktiviert die entsprechende Endstop-Auswertung. Die Wirkung hängt von der Firmwarekonfiguration ab.
Syntax laut Marlin:M120
M121Endstop-Auswertung deaktivieren
Deaktiviert die entsprechende Endstop-Auswertung. Nur für gezielte Diagnose; dadurch können Schutzgrenzen verloren gehen.
Syntax laut Marlin:M121
M122TMC-Treiber diagnostizieren
Liest Diagnoseinformationen unterstützter Trinamic-Treiber aus. Verfügbar bei passender Treiberkommunikation und Firmwareoption.
Syntax laut Marlin:M122 [E] [I] [P<ms>] [S<bool>] [V] [X] [Y] [Z]
M126Baricuda-Ausgang 1 öffnen
Aktiviert den ersten unterstützten Baricuda-Ventilkanal. Spezialfunktion für entsprechend umgerüstete Maschinen.
Syntax laut Marlin:M126 [S<pressure>]
M127Baricuda-Ausgang 1 schließen
Schließt den ersten Baricuda-Ventilkanal. Benötigt die Baricuda-Hardwareoption.
Syntax laut Marlin:M127
M128Baricuda-Ausgang 2 öffnen
Aktiviert den zweiten unterstützten Baricuda-Ventilkanal. Kein gewöhnlicher Extruderbefehl.
Syntax laut Marlin:M128 [S<pressure>]
M129Baricuda-Ausgang 2 schließen
Schließt den zweiten Baricuda-Ventilkanal. Nur bei dafür eingerichteter Hardware relevant.
Syntax laut Marlin:M129
M150LED-Farbe setzen
Steuert unterstützte RGB- oder RGBW-Beleuchtung. Kanäle und Helligkeit müssen zur angeschlossenen LED-Hardware passen.
M211Software-Endstops verwalten
Meldet oder schaltet die softwareseitigen Bewegungsgrenzen. Abschalten beseitigt Begrenzungen und ist keine allgemeine Lösung für Offset-Probleme.
Parameter: Ohne S: Zustand melden; S1: Software-Endstops aktivieren; S0: deaktivieren.
Syntax laut Marlin:M211 [S<0|1>]
Kommentiertes Beispiel
M211 ; Grenzen und Zustand abfragenM226Auf Eingangszustand warten
Wartet auf einen definierten Pegel eines unterstützten Pins. Pinbelegung und elektrische Beschaltung müssen bekannt sein.
Syntax laut Marlin:M226 P<pin>[S<state>]
M240Kamera auslösen
Löst eine konfigurierte Kamera aus. Auslöseart und gegebenenfalls Bewegungen hängen von PHOTO_GCODE ab.
Syntax laut Marlin:M240 [A<offset>] [B<offset>] [D<ms>] [F<feedrate>] [I<pos>] [J<pos>] [P<ms>] [R<length>] [S<feedrate>] [X<pos>] [Y<pos>] [Z<length>]
M260I²C-Daten senden
Sendet Daten an ein Gerät auf dem I²C-Bus. Adresse und Datenformat müssen zum konkreten Gerät passen.
M261I²C-Daten anfordern
Liest Daten von einem unterstützten I²C-Gerät. Dient der Anbindung spezieller Erweiterungen.
M265I²C-Bus durchsuchen
Sucht nach antwortenden I²C-Adressen. Eine gefundene Adresse erklärt noch nicht das Protokoll des Geräts.
M280Servo abfragen oder bewegen
Wählt mit P einen Servo und setzt mit S dessen Position. Ohne Positionswert kann der Zustand abgefragt werden.
Parameter: P: Servoindex; S: Positionswert.
Kommentiertes Beispiel
M280 P0 ; Servo-0-Position abfragenM281Servo-Winkel bearbeiten
Ändert hinterlegte Servo-Endstellungen. Mechanische Anschläge und die Bedeutung der Positionen müssen vorher bekannt sein.
M282Servo-Signal lösen
Beendet die Ansteuerung eines unterstützten Servos. Dadurch kann dessen aktive Haltekraft entfallen.
M350Mikroschritte einstellen
Konfiguriert unterstützte Microstepping-Modi. Änderungen können eine Anpassung der Wegkalibrierung erfordern.
Syntax laut Marlin:M350 [A<1|2|4|8|16>] [B<1|2|4|8|16>] [C<1|2|4|8|16>] [E<1|2|4|8|16>] [S<1|2|4|8|16>] [U<1|2|4|8|16>] [V<1|2|4|8|16>] [W<1|2|4|8|16>] [X<1|2|4|8|16>] [Y<1|2|4|8|16>] [Z<1|2|4|8|16>]
M351Microstep-Pins schalten
Setzt die Hardware-Pins zur Mikroschrittwahl. Nur mit bekannter Treiberbeschaltung einsetzen.
Syntax laut Marlin:M351 [B<0|1>] [E<0|1>]S<1|2>[X<0|1>] [Y<0|1>] [Z<0|1>]
M355Gehäusebeleuchtung steuern
Schaltet eine konfigurierte Gehäuseleuchte und stellt gegebenenfalls ihre Helligkeit ein.
Syntax laut Marlin:M355 [P<int>] [S<bool>]
M380Magnetventil aktivieren
Schaltet ein unterstütztes Solenoid ein. Werkzeugzuordnung und Beschaltung richten sich nach dem Build.
Syntax laut Marlin:M380 [S<index>]
M381Magnetventile deaktivieren
Schaltet unterstützte Solenoids ab. Die reale Funktion hängt von den daran angeschlossenen Aktoren ab.
Syntax laut Marlin:M381 [S<index>]
M569TMC-Schrittmodus einstellen
Wechselt bei geeigneten Treibern zwischen StealthChop und SpreadCycle. Die Eignung hängt von Mechanik, Treiber und Betriebszustand ab.
Syntax laut Marlin:M569 [E] [I<index>] [T<index>] [X] [Y] [Z]
M860-M869I²C-Positionsencoder verwalten
Befehlsfamilie zur Konfiguration und Diagnose unterstützter Positionsencoder. Die einzelnen Nummern haben unterschiedliche Unterfunktionen.
Parameter: M860: Position; M861: Status; M862: Kontinuitätstest; M863: Schritte/mm kalibrieren; M864: I²C-Adresse ändern; M865: Modul-Firmware; M866: Fehlerzähler; M867: Korrektur schalten; M868: Korrekturschwelle; M869: Positionsfehler.
Syntax laut Marlin:M860 [A<address>] [E<axis>] [I<index>] [O<bool>] [P<int>] [R<bool>] [S<addr>] [S<bool>] [T<float>] [U<bool>] [X<axis>] [Y<axis>] [Z<axis>]
M906TMC-Motorstrom einstellen
Setzt Ströme unterstützter Schrittmotortreiber. Zulässige Werte hängen von Motor, Treiber und Kühlung ab.
M907Motorstrom per Trimpot
Steuert elektronische Potentiometer zur Motorstromregelung. Nur bei passender Board-Hardware.
M908Trimpot-Pins einstellen
Greift auf unterstützte digitale Potentiometer zu. Pin- und Kanalzuordnung müssen zum Board passen.
M909DAC-Motorstrom auslesen
Meldet Motorstromwerte einer unterstützten DAC-basierten Regelung.
M910DAC-Werte dauerhaft speichern
Schreibt unterstützte DAC-Stromeinstellungen in deren nichtflüchtigen Speicher.
M911TMC-Temperaturvorwarnung lesen
Meldet gespeicherte Übertemperatur-Vorwarnungen geeigneter Treiber. Ursache und Kühlung anschließend prüfen.
M912TMC-Vorwarnmerker löschen
Setzt die gespeicherten Temperaturvorwarnungen zurück. Das behebt die Ursache einer Überhitzung nicht.
M913TMC-Hybridschwelle setzen
Legt die Geschwindigkeit für den automatischen Wechsel des Treibermodus fest. Benötigt die entsprechende Hybridfunktion.
M914Sensorloses Homing abstimmen
Stellt die StallGuard-Empfindlichkeit unterstützter TMC-Treiber ein. Skala und Wirkrichtung unterscheiden sich zwischen Treiberfamilien.
M916L6474: Temperaturtest
Spezielle Treiberdiagnose zur Bestimmung einer thermischen Warnschwelle. Kann belastende Testbewegungen auslösen.
M917L6474: Überstromtest
Sucht passende Stromschwellen im Treiber-Testverfahren. Nur für gezielte Inbetriebnahme geeigneter Hardware.
M918L6474: Geschwindigkeitstest
Ermittelt Grenzen im speziellen Treiber-Testverfahren. Kein gewöhnlicher Geschwindigkeitsbefehl für Druckobjekte.
M919TMC-Chopper-Timing einstellen
Ändert die Stromregelungs-Timings unterstützter Treiber. Expertenfunktion mit direktem Einfluss auf Motorverhalten und Wärme.
Syntax laut Marlin:M919 [A] [B] [C] [I<index>] [O<int>] [P<int>] [S<int>] [T<index>] [U] [V] [W] [X] [Y] [Z]
M920TMC-Homing-Strom einstellen
Meldet oder setzt den Motorstrom während Referenzierbewegungen. Erfordert editierbaren Homing-Strom im Build.
Syntax laut Marlin:M920 [A<mA>] [B<mA>] [C<mA>] [I<mA>] [U<mA>] [V<mA>] [W<mA>] [X<mA>] [Y<mA>] [Z<mA>]
M7219MAX7219-Anzeige steuern
Steuert eine unterstützte MAX7219-LED-Matrix. Diagnose- und Anzeigeoptionen sind hardwareabhängig.
Syntax laut Marlin:M7219 [C<column>] [D<row>] [F] [I] [P] [R<row>] [U<index>] [V<bits>] [X<index>] [Y<index>]
05 / Ein Code, mehrere Dialekte
Marlin, Klipper und RepRapFirmware
Gleiche Nummern garantieren keine gleiche Funktion. Herstellerfirmware kann weitere eigene Befehle oder Makros hinzufügen. Den Slicer-Dialekt deshalb passend zum Drucker auswählen.
| Aufgabe | Marlin | Klipper | RepRapFirmware |
|---|---|---|---|
| Mesh erzeugen | Passende G29-Variante | BED_MESH_CALIBRATE | G29 / Mesh-Ablauf |
| Druckkompensation | M900 | SET_PRESSURE_ADVANCE | M572 |
| Sensoreinstellung | M851 | PROBE_CALIBRATE | G31 |
| G31 | Sled andocken | Kein allgemeiner Standardbefehl | Sensorstatus/-parameter |
| M208 | Recover-Einstellungen | Kein allgemeiner Standardbefehl | Achsgrenzen |
Vergleich: Klipper-Befehle und RepRapFirmware nach Funktion; Marlin-Quellen stehen bei den einzelnen Einträgen.
Klipper: wichtige erweiterte Befehle
Diese ergänzende Auswahl setzt die jeweiligen Konfigurationsmodule voraus. Eigene Makros können Namen und Verhalten erweitern. HELP zeigt die auf deinem System verfügbaren Befehle.
| Klipper-Befehl | Aufgabe |
|---|---|
BED_MESH_CALIBRATE | Bett vermessen. |
BED_MESH_PROFILE LOAD=default | Vorhandenes Profil ausdrücklich laden. |
PROBE_CALIBRATE | Sondenoffset kalibrieren. |
PROBE_ACCURACY | Wiederholgenauigkeit der Sonde prüfen. |
Z_TILT_ADJUST | Konfigurierte Z-Antriebe ausrichten. |
QUAD_GANTRY_LEVEL | Vierfach angetriebene Traverse ausrichten. |
SET_PRESSURE_ADVANCE | Extrusionsdruck-Kompensation einstellen. |
PID_CALIBRATE | Heizungsregelung abstimmen. |
SAVE_CONFIG | Kalibrierwerte speichern; Neustart beachten. |
PAUSE / RESUME | Pausieren beziehungsweise fortsetzen. |
CANCEL_PRINT | Druck abbrechen. |
TURN_OFF_HEATERS | Alle Heizer ausschalten. |
RESTART / FIRMWARE_RESTART | Software beziehungsweise Firmwarezustand neu starten. |
HELP | Verfügbare Befehle anzeigen. |
BED_MESH_PROFILE LOAD=… geladen. Nicht voraussetzen, dass ein Profil nach einem Neustart automatisch aktiv ist. Ein adaptives Mesh wird für den aktuellen Druck neu erzeugt; es ist kein universelles dauerhaftes Bettprofil. Offizielle Mesh-Dokumentation ↗Einträge aus dem bisherigen Artikel richtig einordnen
G29.1: Z-Sondenoffset – firmwareabhängig
Die RepRap-Referenz führt G29.1 als Befehl zum Setzen eines Sondenoffsets. Er gehört nicht zum allgemeinen Marlin-Befehlssatz; dort ist M851 der entsprechende Einstieg. Hersteller können diese Nummer zusätzlich anders verwenden. Ein fremdes G29.1-Beispiel deshalb nicht ohne passende Firmwaredokumentation übernehmen.
Einordnung in der RepRap-Referenz ↗G31 in RepRapFirmware: Sensorstatus und Parameter
Hier bezeichnet G31 die Abfrage beziehungsweise Konfiguration der Sonde, unter anderem ihrer Auslösehöhe. Das ist eine andere Funktion als Marlins G31 zum Andocken des Sensorschlittens. Die konkrete Syntax und Sensorauswahl richtet sich nach der RRF-Version.
RepRapFirmware-G-Code-Dokumentation ↗06 / Zeile für Zeile
Kommentierte Praxisbeispiele
Die folgenden Ausschnitte erklären Abläufe. Sie sind bewusst keine universellen Start- oder Endprofile. Temperaturen, Sensorreihenfolge und Bewegungen müssen zum konkreten Drucker passen.
1. Marlin-Zustand kontrollieren
M115 ; Welche Firmware antwortet?
M105 ; Welche Temperaturen werden gemeldet?
M114 ; Welche Koordinaten kennt die Firmware?
M119 ; Welchen Zustand haben die Endschalter?
M503 ; Marlin: aktuelle Einstellungen dokumentieren2. Absolut und relativ vergleichen
; Voraussetzung: referenziert, freier Fahrweg, sichere Höhe
G90
G1 X20 F1200 ; zur absoluten X-Position 20 mm
G91
G1 X10 ; weitere 10 mm → reale X-Position 30 mm
G1 X10 ; weitere 10 mm → reale X-Position 40 mm
G90
M82 ; Beispiel: Slicer erwartet anschließend absolutes E3. Einen Startablauf verstehen
; Lehrbeispiel für Marlin, kein vollständiges Druckprofil
G21 ; Millimeter
G90 ; XYZ absolut
M82 ; E absolut, passend zur Slicer-Ausgabe
M140 S60 ; Bett auf Beispieltemperatur aufheizen
M104 S150 ; Hotend zunächst auf Standby-Temperatur
G28 ; referenzieren
M190 S60 ; Betttemperatur abwarten
; Genau EINEN zum Drucker passenden Leveling-Weg wählen:
; G29 ; z. B. neues bilineares Mesh messen
; M420 S1 ; alternativ vorhandenes gültiges Mesh aktivieren
M109 S200 ; Beispiel-Drucktemperatur abwarten
G92 E0 ; Extrusionszähler zurücksetzen
; Ab hier: druckerspezifische Purge- und Druckbewegungen4. Einen Druck sauber beenden
; Lehrbeispiel nach einem bereits beendeten Druck
M400 ; laufende Bewegungen vollständig abschließen
M104 S0 ; Hotend-Sollwert aus
M140 S0 ; Heizbett-Sollwert aus
M107 ; Bauteillüfter aus
; Parkfahrt nur mit geprüftem freien Fahrweg ergänzen
; Motoren erst lösen, wenn die Z-Achse sicher gehalten wirdDer automatisch geregelte Hotend-Kühlkörperlüfter sollte die nötige Nachkühlung übernehmen können. Deshalb gehört ein unbedachtes M81 nicht pauschal in jedes Endprofil.
07 / Häufige Fragen
Wenn der Code anders reagiert als erwartet
Sind G0 und G00 beziehungsweise G1 und G01 dasselbe?
Führende Nullen sind bei diesen üblichen Nummern Schreibvarianten. Die Suche dieser Referenz erkennt beispielsweise G01 als G1. Ob G0 einen eigenen Vorschub nutzt, hängt in Marlin auch von der Konfiguration ab.
Warum fährt der Drucker weiter als erwartet?
Prüfe zuerst G90/G91 und G20/G21. Eine Koordinate kann ein absolutes Ziel oder einen relativen Weg bedeuten. G92 kann außerdem den logischen Nullpunkt verändert haben. Nicht mit weiteren Bewegungen raten.
Warum passiert nach M104 nicht erst einmal eine Heizpause?
M104 setzt nur den Sollwert. Wenn der folgende Schritt eine erreichte Hotendtemperatur voraussetzt, gehört ein passender Wartebefehl wie M109 in den Ablauf.
Warum funktioniert G29 oder M600 auf meinem Drucker nicht?
Ein Eintrag in der Dokumentation garantiert nicht, dass die Funktion im konkreten Build aktiviert ist. Firmwarefamilie, Version, Konfigurationsoptionen und bei Klipper eigene Makros entscheiden über die Unterstützung.
Warum verschwindet mein Mesh nach G28?
Marlin kann die Kompensation beim Homing abschalten. Abhängig vom Build wird sie automatisch wiederhergestellt oder muss mit dem zum Verfahren passenden Ablauf reaktiviert werden. Ein gültiges vorhandenes Mesh ist Voraussetzung für M420 S1.
Ist F3000 dasselbe wie 3000 mm/s?
Nein. Bei G21 entspricht F3000 in gewöhnlichen G0/G1-Bewegungen 3000 mm/min, also 50 mm/s. Dagegen verwendet Marlin M203 Geschwindigkeiten in mm/s. Die Einheit gehört immer zum jeweiligen Befehl.
Speichert M500 wirklich jede Einstellung?
Nur Werte, für die die Firmware eine Speicherung vorsieht. Es ist kein Backup der gesamten Firmware oder aller Dateien. Eine M503-Ausgabe hilft, den aktuellen Zustand vor Änderungen zu dokumentieren.
Kann ich den Start-G-Code hier direkt übernehmen?
Die Beispiele erklären den Ablauf. Parkposition, Z-Fahrweg, Sondenroutine, Extrusionsmodus, Temperaturen und Slicer-Platzhalter müssen zum Drucker passen. Das erprobte Herstellerprofil bleibt der Ausgangspunkt.
Warum ist die tatsächliche Geschwindigkeit langsamer als der F-Wert?
Der F-Wert fordert einen Vorschub an. Beschleunigung, kurze Strecken, Richtungswechsel und konfigurierte Motorgrenzen können verhindern, dass die Maschine ihn erreicht. Die Demo blendet diese Effekte bewusst aus.
Ist M112 ein vollwertiger Not-Halt?
M112 hält die Steuerung an, ist aber kein sicherheitszertifizierter Not-Halt. Verarbeitung und Übertragungsweg können die Reaktion beeinflussen. Der dafür vorgesehene Hardware-Not-Halt ist davon unabhängig.
08 / Direkt zur Dokumentation
Quellen & Stand der Referenz
Recherche-Stand: 18. Oktober 2026. Die Erläuterungen sind redaktionell formuliert. Syntaxangaben und Befehlsumfang wurden mit den folgenden Primärquellen abgeglichen. Die Einzelquellen sind direkt an jedem Marlin-Eintrag verlinkt.
- Marlin: vollständiger Befehlsindex – Grundlage der 252 Referenzeinträge.
- Klipper: G-Code und erweiterte Befehle – Syntax, Module und Kompatibilitätsgrenzen.
- Klipper: Bed Mesh – Profile, Laden und adaptive Vermessung.
- Klipper: Pressure Advance – Extrusionsdruck-Kompensation.
- Klipper: Konfigurationsprüfung – Heizer, Endschalter und Inbetriebnahme.
- Duet3D: RepRapFirmware nach Funktion und G-Code-Lexikon.
- RepRap: Firmwareübergreifende Befehlsreferenz – Einordnung älterer und mehrfach belegter Befehle.
Weiterlesen im Archiv: BLTouch und automatische Bettvermessung · PLA-Filament
↑ Zurück zum Anfang3D Druck Archiv · G-Code-Handbuch · Die Animation läuft lokal im Browser und sendet keine Befehle an einen Drucker.
