G Code

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/s
Eine Zeile. Ein Ziel. Kontrollierte Bewegung.
252 Marlin-Einträge inkl. VariantenErgänzungen zu Klipper & RepRapFirmwareRecherche: 18.10.2026Ohne Druckerverbindung

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?

Der Umfang dieser Referenz: Alle 252 Dokumentationseinträge des am 18.10.2026 recherchierten Marlin-Index sind enthalten, einschließlich G29-Varianten und Spezialhardware. Befehlsfamilien sind teils zusammengefasst. Das ist keine Behauptung, dass jeder Drucker sämtliche Befehle versteht oder dass alle Herstellererweiterungen weltweit abgedeckt sind.

Eine Zeile lesen

G1 X40 Y30 E2.6 F1800 ; Beispiel einer Bewegung

Die 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.

ZeichenBedeutung im jeweiligen Zusammenhang
G / M / TBefehlsfamilien: unter anderem Bewegung, Maschinenfunktionen und Werkzeugwahl.
X Y ZAchskoordinaten oder Wege – abhängig vom Positionierungsmodus.
EExtrusionsposition oder Fördermenge. Einheit und Modus prüfen.
FVorschub 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.

  1. G28Achsen referenzieren
  2. G0 / G1Geradlinig fahren
  3. G90 / G91Absolut oder relativ
  4. G92Koordinaten setzen
  5. M82 / M83Extrusionsmodus wählen
  6. M104 / M109Hotend heizen
  7. M140 / M190Heizbett regeln
  8. M106 / M107Bauteillüfter steuern
  9. G29 / M420Mesh messen oder nutzen
  10. M503 / M500Einstellungen prüfen und speichern

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.

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.

Vor dem Ausführen: Koordinaten, Temperaturgrenzen und aktivierte Firmwarefunktionen prüfen. Beispiele sind kommentierte Lehrbeispiele. Pinzugriffe, Motorströme, Flash-Befehle und Kalibrierroutinen gehören nur auf passend eingerichtete Maschinen.

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/s
Gut zu wissen: Vor realen Bewegungen referenzieren und den freien Fahrweg prüfen. E ist nur bei relativer Extrusion eine direkte Fördermenge; bei absoluter Extrusion zählt die Differenz. Bei volumetrischer Extrusion gilt mm³.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G2 / 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 Uhrzeigersinn
Gut zu wissen: Beispiel für XY. I/J und R nicht in derselben Bogenanweisung mischen. Klipper benötigt gcode_arcs. Firmware und Slicer müssen dieselbe Bogenkonvention verwenden.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G4Zeitlich 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 warten
Gut zu wissen: G4 ohne Dauer wartet in Marlin auf abgeschlossene Bewegungen. Für ausdrücklich diesen Zweck ist M400 leichter lesbar.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G5Kubische 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.

Gut zu wissen: Benötigt BEZIER_CURVE_SUPPORT. Die Kurve muss mit den Grenzen der Maschine vereinbar sein.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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-Ebene
Gut zu wissen: Keine Bewegung allein durch die Ebenenwahl.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G20Zoll 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 Zoll
Gut zu wissen: Nur für bewusst in Zoll erzeugten G-Code. Temperaturangaben werden dadurch nicht zu Fahrenheit.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G21Millimeter 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 Millimeter
Gut zu wissen: 1 Zoll entspricht 25,4 mm. Eine falsche Einheit kann Bewegungen erheblich verändern.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G42Mesh-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 anfahren
Gut zu wissen: Nur bei vorhandenem passenden Mesh und genügend Z-Abstand.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G53Maschinenkoordinaten verwenden

Bezieht eine Bewegung auf das Maschinenkoordinatensystem statt auf den aktiven Arbeitsnullpunkt. Benötigt passende CNC-Koordinatenunterstützung.

Syntax laut Marlin:
G53

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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.

Gut zu wissen: Voraussetzung: CNC_COORDINATE_SYSTEMS. Ein anderer Arbeitsnullpunkt verändert, wohin absolute Zielkoordinaten führen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 merken
Gut zu wissen: RAM-Speicherung ist kein dauerhaftes Backup. Ein Neustart kann die Slots verwerfen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G61Gespeicherte 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 anfahren
Gut zu wissen: Der gesamte Weg muss frei sein. Eine gespeicherte Position verhindert keine Kollision mit einem Druckobjekt.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G80Aktuellen 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 aufheben
Gut zu wissen: In Marlin keine allgemeine Notstopp-Funktion und kein Aufruf zum Bett-Leveling.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G90Absolute 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 X50
Gut zu wissen: Marlin hebt dabei den M82/M83-Override auf. Gewünschten Extrusionsmodus nach der XYZ-Moduswahl setzen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G91Relative 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 absolut
Gut zu wissen: Vor dem nächsten Druckabschnitt auch den vom Slicer erwarteten E-Modus wiederherstellen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G92Logische 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 setzen
Gut zu wissen: Die Düse bewegt sich nicht. G92 Z0 ersetzt kein Homing und ist keine universelle Methode zur Z-Offset-Kalibrierung.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M92Schritte 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 abfragen
Gut zu wissen: Klipper kalibriert über rotation_distance statt über ein dauerhaftes M92/M500-Verfahren.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M201Beschleunigungsgrenzen 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 abfragen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M203Maximale 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>]

Gut zu wissen: M203 X60 entspricht bei metrischer Einstellung 60 mm/s; G1 F60 entspricht dagegen 60 mm/min, also 1 mm/s.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: Höhere Sollwerte können durch M201 und die Mechanik begrenzt werden.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M205Erweiterte 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 Geschwindigkeit
Gut zu wissen: Dieser Wert überschreibt keine physikalischen oder konfigurierten Maschinenlimits.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M400Alle 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 abarbeiten
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M493Fixed-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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: FT_MOTION nutzt andere Konfigurationsmöglichkeiten. Klippers SET_INPUT_SHAPER ist kein Syntaxalias von M593.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink

Temperatur & 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M87Hotend-Leerlaufschutz deaktivieren

Deaktiviert die entsprechende Hotend-Idle-Funktion. Nur bewusst verwenden, da eine automatische Schutzmaßnahme entfällt.

Syntax laut Marlin:
M87

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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, weiterarbeiten
Gut zu wissen: T0 bedeutet nicht sofort. Der Unterschied zwischen Warten und Weiterarbeiten ergibt sich aus M104 beziehungsweise M109.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M105Temperaturen 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 ausgeben
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M106Bauteillü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 % PWM
Gut zu wissen: 50 % PWM bedeutet nicht zwingend halbe gemessene Drehzahl. Anlaufgrenzen und Lüfterkennlinie spielen eine Rolle.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M107Bauteillü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 ausschalten
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M109Auf 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 warten
Gut zu wissen: Klipper behandelt seine Wartebefehle anders: M109 wartet dort auf das Einregeln des Sollwerts. Marlin-R-Varianten nicht als allgemein kompatibel betrachten.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M123Lü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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 Warten
Gut zu wissen: Temperatur muss zu Druckplatte und Material passen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M141Bauraum-Solltemperatur setzen

Setzt die Temperatur eines unterstützten beheizten Bauraums. Die Befehlsverarbeitung läuft anschließend weiter.

Syntax laut Marlin:
M141 [S<temp>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M145Material-Vorheizprofil ändern

Ändert hinterlegte Vorheizwerte für ein Materialprofil. Hotend, Bett und Lüfter werden über die jeweiligen Parameter angegeben.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M149Temperatureinheit wählen

Wählt Celsius, Fahrenheit oder Kelvin, sofern die Firmware diese Umschaltung unterstützt. Längeneinheiten bleiben davon unabhängig.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M155Temperaturen regelmäßig melden

Aktiviert automatische Temperaturberichte im festgelegten Intervall. S0 beendet die regelmäßige Ausgabe.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 warten
Gut zu wissen: Das Erreichen des Sensorwerts bedeutet nicht zwingend, dass die gesamte Druckplatte bereits thermisch gleichmäßig ist.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M191Auf 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M193Auf Laserkühler warten

Wartet auf die Temperatur des konfigurierten Laserkühlers. Spezialfunktion, die passende Sensorik voraussetzt.

Syntax laut Marlin:
M193 [S<temp>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Gut zu wissen: Nur für einen begründeten Kalibrierablauf ändern. Eine kalte Düse durch Extrusion freidrücken zu wollen, kann Schäden verursachen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abstimmen
Gut zu wissen: Nur bei aktivierter passender PID-Regelung. Dies heizt die Maschine real auf. Übernahme mit U und dauerhaftes Speichern mit M500 bewusst separat behandeln.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M304Heizbett-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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink

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 Materialtest
Gut zu wissen: Dies ist ein echter Testdruck. Erst nach Homing, geprüftem Mesh und mit geeigneten Temperaturwerten ausführen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G28Achsen 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 Z
Gut zu wissen: Homing ist nicht gleich Fahrt nach X0 Y0 Z0. In Marlin kann G28 Leveling deaktivieren; danach den vorgesehenen Mesh-Ablauf ausführen. Z-Safe-Homing kann vor Z-Homing eine XY-Bewegung benötigen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G29Bett 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 verwenden
Gut zu wissen: Das Wort UBL bedeutet Unified Bed Leveling. Die Varianten lassen sich nicht beliebig kombinieren.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G29G29: 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 messen
Gut zu wissen: Nur mit passendem Sensor und Drei-Punkt-Leveling. Das Ergebnis ist eine Ebene.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G29G29: 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 messen
Gut zu wissen: Alternative für spätere Starts: gespeichertes gültiges Mesh nach G28 mit M420 S1 aktivieren. Das Vermessen und das Laden eines Meshs sind unterschiedliche Arbeitsweisen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G29G29: 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 Leveling
Gut zu wissen: Nur beim linearen Leveling-System bedeutet P diese Rastergröße.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G29G29: 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, weiter
Gut zu wissen: Z-Einstellung und S2 für die übrigen Punkte wiederholen. Erst das geprüfte fertige Mesh mit M500 speichern.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G29G29: 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 aktivieren
Gut zu wissen: Dieses Startbeispiel setzt ein bereits vollständig erzeugtes und gespeichertes Mesh voraus. G29 P1 allein löst nicht automatisch jedes UBL-Einrichtungsproblem.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G30Einzelnen 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 antasten
Gut zu wissen: Vorher Homing, Sondenfunktion und freien Fahrweg prüfen. Die Düse und die Sonde liegen häufig nicht an derselben XY-Position.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G31Sensorschlitten 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 andocken
Gut zu wissen: Die Probe-Parameter P/X/Y/Z aus RepRapFirmware gehören nicht zu diesem Marlin-Befehl.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G32Sensorschlitten 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 abdocken
Gut zu wissen: RepRapFirmware führt mit G32 dagegen typischerweise bed.g aus.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G33Delta 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-Kalibrierung
Gut zu wissen: Nach Kalibrierung Ergebnis kontrollieren, bevor Werte dauerhaft gespeichert werden.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G34G34: 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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äufe
Gut zu wissen: Nur mit bereits eingerichtetem Z-Stepper-Auto-Align. Beispielwerte sind keine allgemeine Empfehlung.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G35Bettschrauben 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Gut zu wissen: Diese Befehle können die Maschine bis zur angegebenen Zielposition bewegen. Nur in einem eingerichteten Antastverfahren einsetzen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G76Sensortemperatur kalibrieren

Erfasst temperaturabhängige Messabweichungen einer unterstützten Z-Sonde. Benötigt die dazugehörige Kompensationsfunktion und geeignete Hardware.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 Wiederholungsmessungen
Gut zu wissen: Nur nach korrektem Homing und mit eingerichtetem Sensor ausführen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M102Abstandssensor 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>

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Gut zu wissen: In kleinen Schritten arbeiten und Düsenabstand beobachten. Das Vorzeichen und die dauerhafte Übernahme anhand der Konfiguration prüfen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M361SCARA: Theta B

Fährt die zweite Theta-Kalibrierstellung an. Dient dem Geometrieabgleich einer unterstützten SCARA-Konfiguration.

Syntax laut Marlin:
M361

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M362SCARA: Psi A

Fährt eine Psi-Kalibrierstellung für den SCARA-Abgleich an. Nicht für kartesische Drucker vorgesehen.

Syntax laut Marlin:
M362

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M363SCARA: Psi B

Fährt eine weitere Psi-Kalibrierstellung einer SCARA-Maschine an. Freien Schwenkbereich sicherstellen.

Syntax laut Marlin:
M363

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M364SCARA: Psi C

Fährt die entsprechende dritte Psi-Kalibrierstellung an. Gehört zur speziellen SCARA-Kalibrierung.

Syntax laut Marlin:
M364

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M401Messsonde ausfahren

Bringt eine unterstützte ausfahrbare Sonde in Messstellung. Die erforderliche Mechanik muss konfiguriert sein.

Kommentiertes Beispiel

M401 ; konfigurierte Sonde ausfahren
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M402Messsonde einfahren

Verstaut die unterstützte ausfahrbare Sonde nach der Messung. Bedeutung unterscheidet sich von einem Sensorschlitten-Dockbefehl.

Kommentiertes Beispiel

M402 ; konfigurierte Sonde verstauen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M420Bettkompensation 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 aktivieren
Gut zu wissen: Es wird kein neues Mesh gemessen. Ob ein Mesh geladen werden muss und ob G28 es deaktiviert, hängt vom Build ab.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M421Einzelnen 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M428Aktuelle Position als Home-Offset

Übernimmt geeignete aktuelle Positionen als Homing-Versatz. Nur während eines kontrollierten Kalibrierablaufs verwenden.

Syntax laut Marlin:
M428

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M665Delta-Geometrie einstellen

Setzt Geometriewerte einer Delta-Kinematik. Parameter müssen zur realen Mechanik und zum Kalibrierverfahren passen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M665SCARA-Geometrie einstellen

Konfiguriert die unterstützten SCARA-Geometrieparameter. Die Bedeutung von M665 unterscheidet sich vom Delta-Build.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M666Doppelte Endstops abgleichen

Setzt Korrekturwerte für getrennte Endschalter an mehrfach angetriebenen Achsen. Gilt für die jeweilige Multi-Endstop-Konfiguration.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M666Delta-Endstops abgleichen

Ändert die Endstop-Korrekturen der Delta-Türme. Gehört zur Delta-Kalibrierung.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: Ein Beispielwert wie Z-2 ist keine Kalibrierung. Nach Veränderung den vorgesehenen Homing-/Mesh-Ablauf beachten.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M852Achsschrägstellung kompensieren

Korrigiert eine gemessene Schiefwinkligkeit der Achsen. Die Kompensation ersetzt keine Prüfung der Mechanik.

Syntax laut Marlin:
M852 [I] [J] [K] [S]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M915TMC-Z-Achse kalibrieren

Führt eine spezielle Z-Ausrichtroutine mit unterstützten TMC-Treibern aus. Nur auf dafür eingerichteten Maschinen verwenden.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink

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ühren
Gut zu wissen: FWRETRACT muss aktiv sein. M207 legt Länge, Geschwindigkeit und optionalen Z-Hub fest. In RepRapFirmware kann G10 mit Parametern auch Werkzeugwerte setzen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G11Filament 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ördern
Gut zu wissen: Das ist die Wiederanförderung, keine Linieninterpolation. Ein eventuell gesetzter Z-Hub wird zurückgenommen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M82Absolute 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ücksetzen
Gut zu wissen: Bei E10 gefolgt von E12 werden im absoluten Modus nur weitere 2 Einheiten gefördert, sofern keine weiteren Faktoren eingreifen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M83Relative 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 relativ
Gut zu wissen: Bei E2 gefolgt von E2 werden insgesamt 4 Einheiten gefördert. In Marlin M83 nach G90/G91 setzen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M163Mischanteil einstellen

Setzt den Anteil eines Extruderkanals bei einem Mixing-Extruder. Die Mischung wird mit den passenden weiteren Befehlen verwaltet.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M164Mischung als Werkzeug speichern

Übernimmt die aktuellen Mischanteile in einen virtuellen Werkzeugplatz. Erfordert einen eingerichteten Mixing-Extruder.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M165Mischung direkt setzen

Legt mehrere Extruderanteile gemeinsam fest. Die Kanalparameter richten sich nach der unterstützten Mischkonfiguration.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M166Farbverlauf einstellen

Konfiguriert einen höhenabhängigen Mischverlauf zwischen virtuellen Mischwerkzeugen. Benötigt Gradient-Mix-Unterstützung.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: Volumenmodus und Slicer-Ausgabe müssen zusammenpassen. Nicht versehentlich mitten im Druck umstellen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M207Firmware-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 abfragen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M208Wiederanfö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 abfragen
Gut zu wissen: In RepRapFirmware ist M208 stattdessen für Achsgrenzen belegt.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M209Automatischen Retract erkennen

Schaltet die Erkennung geeigneter reiner Extruderbewegungen als Firmware-Retract um. Nur mit passender FWRETRACT-Konfiguration.

Syntax laut Marlin:
M209 [S<bool>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 Materialfluss
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M403MMU2-Materialtyp setzen

Übermittelt den Filamenttyp für ein unterstütztes Multi-Material-System. Nur mit entsprechender MMU2-Anbindung relevant.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M404Nenndurchmesser für Sensor

Setzt den Filament-Nenndurchmesser für die automatische Flussanpassung mit Breitenmesssensor.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M405Filamentbreitenregelung einschalten

Aktiviert die sensorbasierte Flussanpassung. Transportverzögerungen zwischen Sensor und Düse müssen berücksichtigt werden.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M406Filamentbreitenregelung ausschalten

Deaktiviert die automatische Anpassung anhand des Filamentbreitensensors.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M407Filamentbreite abfragen

Meldet die aktuelle Messung eines eingerichteten Filamentbreitensensors.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M592Nichtlineare Extrusion korrigieren

Konfiguriert eine optionale nichtlineare Extrusionskompensation. Nicht mit Linear Advance oder einer einfachen Flussänderung gleichsetzen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 starten
Gut zu wissen: Klipper stellt M600 nicht pauschal als eingebauten Standard bereit. Dort ist häufig ein zum Drucker passendes Makro erforderlich.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M603Filamentwechsel-Längen einstellen

Konfiguriert unterstützte Lade- und Entladelängen des Filamentwechselablaufs. Die Wege müssen zum Extrudersystem passen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M605Mehrdüsen-Modus wählen

Konfiguriert unterstützte Dual-/IDEX-Betriebsarten, etwa Duplikation. Erfordert die passende Hardware und korrekt kalibrierte Offsets.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M702Filament entladen

Startet einen eingerichteten Entladevorgang. Nicht unkontrolliert bei kaltem, festgehaltenem Filament ausführen.

Syntax laut Marlin:
M702 [T<extruder>]U<distance>[Z<distance>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: Keinen K-Wert von einem anderen Extruder ungeprüft übernehmen. Klipper und RepRapFirmware verwenden andere Befehle und Modelle.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M951Magnetischen 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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ählen
Gut zu wissen: Werkzeugwechsel können Bewegungen oder Materialförderung auslösen. T0 als Parameter in M104 ist dagegen eine Hotend-Auswahl für diesen Temperaturbefehl.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
T?-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?

Gut zu wissen: Nur mit passender MMU2-Konfiguration. Bestimmte Varianten benötigen MMU2_MENUS und warten auf Temperatur.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink

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übe
Gut zu wissen: Nur ausführen, wenn eine Reinigungsfläche und die dazugehörigen Koordinaten eingerichtet sind.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
G27Druckkopf 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 Parkposition
Gut zu wissen: Kein universeller Parkpunkt: Die Firmware legt die reale Position fest.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M0 / 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.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 auflisten
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M21SD-Karte initialisieren

Bindet das unterstützte Speichermedium für Dateizugriffe ein. Die Firmware muss SD-Unterstützung enthalten.

Syntax laut Marlin:
M21

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M22SD-Karte freigeben

Gibt das eingebundene Speichermedium frei. Nicht mitten in einem benötigten Dateizugriff ausführen.

Syntax laut Marlin:
M22

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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ählen
Gut zu wissen: Dateiname muss tatsächlich auf der SD-Karte existieren.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M24SD-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 fortsetzen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M25SD-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 pausieren
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M26Dateiposition setzen

Verschiebt die Leseposition innerhalb einer SD-Datei. Ein Byteoffset allein stellt keinen sicheren Druckzustand wieder her.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M27SD-Druckstatus abfragen

Meldet den Zustand beziehungsweise Fortschritt des Dateidrucks. Automatische Berichte können je nach Build verfügbar sein.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M29SD-Schreibvorgang beenden

Schließt den mit M28 begonnenen Dateischreibvorgang beziehungsweise beendet die SD-Protokollierung.

Syntax laut Marlin:
M29

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M31Druckzeit ausgeben

Meldet die erfasste Druckdauer. Er ersetzt keine präzise Vorschau der verbleibenden Zeit.

Syntax laut Marlin:
M31

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M75Druckzeitmessung starten

Startet den Job-Zeitmesser. Das allein startet noch keine Druckdatei.

Syntax laut Marlin:
M75 [string]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M76Druckzeitmessung pausieren

Pausiert den Job-Zeitmesser. Eine echte Druckpause muss separat ausgelöst werden.

Syntax laut Marlin:
M76

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M77Druckzeitmessung stoppen

Beendet den Job-Zeitmesser. Nicht mit einem Motor-, Heizungs- oder Druckabbruch verwechseln.

Syntax laut Marlin:
M77

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M78Druckstatistik ausgeben

Meldet gespeicherte Job-Statistiken. Weitere Optionen können Statistikwerte zurücksetzen.

Syntax laut Marlin:
M78 [R<index>] [S<78>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M108Wartezustand aufheben

Beendet unterstützte Heiz- oder Benutzerwartezeiten. Bei blockierendem Ablauf hängt die sofortige Verarbeitung vom Emergency Parser ab.

Syntax laut Marlin:
M108

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 anhalten
Gut zu wissen: Kein Testbefehl für einen laufenden Druck. Übertragungsweg und Emergency Parser beeinflussen die Reaktion; im Ernstfall den vorgesehenen Hardware-Not-Halt verwenden.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M125Pause 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M410Bewegungen sofort stoppen

Stoppt die Schrittmotorbewegung abrupt. Heizungen bleiben davon grundsätzlich getrennt; die Positionsreferenz kann anschließend unzuverlässig sein.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M413Stromausfall-Fortsetzung einstellen

Verwaltet die optionale Wiederaufnahme nach Stromausfall. Sie setzt geeignete Firmware, Speicherung und Maschinenbedingungen voraus.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M524SD-Druck abbrechen

Beendet einen laufenden SD-Druck. Das Verhalten beim Abbruch hängt auch von konfigurierten Abbruchaktionen ab.

Syntax laut Marlin:
M524

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M540SD-Abbruch bei Endstop

Verwaltet die Option, einen SD-Druck bei einem Endstop-Ereignis abzubrechen.

Syntax laut Marlin:
M540 S<flag>

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M808Wiederholungsabschnitt markieren

Markiert Schleifen im unterstützten SD-Druckablauf. Eine falsche Wiederholungszahl kann denselben Abschnitt mehrfach ausführen.

Syntax laut Marlin:
M808 [L<count>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Gut zu wissen: Ohne neue Definition kann der jeweilige Befehl den hinterlegten Ablauf ausführen. Vorher mit M820 prüfen, was gespeichert ist.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M820G-Code-Makros anzeigen

Gibt die gespeicherten Makrodefinitionen aus. Dient der Kontrolle vor ihrer Ausführung.

Syntax laut Marlin:
M820

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M928SD-Protokollierung starten

Protokolliert serielle Eingaben in eine Datei auf dem Speichermedium. M29 beendet die Protokollierung.

Syntax laut Marlin:
M928 filename

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink

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.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 anzeigen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M115Firmware 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 anzeigen
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M117Displaytext 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 Drucken
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M118Nachricht 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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 lesen
Gut zu wissen: Bei der Fehlersuche Zustände jeweils betätigt und unbetätigt prüfen, bevor eine Referenzfahrt gestartet wird.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M154Position regelmäßig melden

Aktiviert oder konfiguriert automatische Positionsberichte. Unterstützt die Host-Anzeige ohne ständige Einzelabfragen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M250Displaykontrast einstellen

Ändert den Kontrast eines unterstützten LCD. Nicht jedes Display bietet diese Funktion.

Syntax laut Marlin:
M250 [C<contrast>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M255Display-Ruhezeit einstellen

Legt die Wartezeit bis zur Displayruhe oder Abschaltung der Beleuchtung fest. Die Wirkung ist displayabhängig.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M256Displayhelligkeit einstellen

Ändert die Helligkeit einer unterstützten Displaybeleuchtung. Erfordert steuerbare Hintergrundbeleuchtung.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 Signalton
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M414Displaysprache auswählen

Wechselt zwischen den einkompilierten Display-Sprachen. Eine Sprache muss im Build enthalten sein.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 speichern
Gut zu wissen: Vorher M503-Ausgabe dokumentieren. Nicht ungeprüft ans Ende jedes kopierten Schnipsels setzen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M501Gespeicherte 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 laden
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M502Firmware-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 laden
Gut zu wissen: Kalibrierte Werte können dadurch verloren gehen. Erst M500 würde den geänderten Zustand dauerhaft speichern.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M503Aktive Einstellungen anzeigen

Gibt die aktuellen Konfigurationswerte aus. Sinnvoll zur Dokumentation vor einer Änderung.

Syntax laut Marlin:
M503 [C] [S]

Kommentiertes Beispiel

M503 ; aktuelle Einstellungen dokumentieren
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M504Konfigurationsspeicher prüfen

Prüft den gespeicherten EEPROM-Inhalt auf Gültigkeit. Es ist kein vollständiger Funktionstest des Druckers.

Syntax laut Marlin:
M504

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M510Maschine sperren

Aktiviert die optionale Maschinensperre. Benötigt die Passwort-/Lock-Funktion der Firmware.

Syntax laut Marlin:
M510

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M511Maschine entsperren

Hebt die eingerichtete Maschinensperre mit den vorgesehenen Angaben auf.

Syntax laut Marlin:
M511 P<passcode>

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M512Sperrcode einstellen

Verwaltet den Zugangscode der optionalen Maschinensperre. Die Parameter richten sich nach der verwendeten Firmwareversion.

Syntax laut Marlin:
M512 P<password>[S<password>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M550Maschinenname einstellen

Ändert den unterstützten Druckernamen. Anzeige und Speicherung hängen vom Build ab.

Syntax laut Marlin:
M550 [P<name>] [string]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M553Subnetzmaske setzen

Stellt die IPv4-Subnetzmaske einer unterstützten Ethernet-Konfiguration ein.

Syntax laut Marlin:
M553 [P<subnet-mask>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M554Gateway setzen

Stellt die Gateway-Adresse der unterstützten Ethernet-Konfiguration ein.

Syntax laut Marlin:
M554 [P<gateway>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M575Serielle Baudrate ändern

Stellt die Übertragungsgeschwindigkeit einer unterstützten seriellen Schnittstelle ein. Der Host muss denselben Wert verwenden.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M995Touchscreen kalibrieren

Startet die Kalibrierung eines unterstützten TFT-Touchscreens. Die Bedienoberfläche führt durch die Referenzpunkte.

Syntax laut Marlin:
M995

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M997Firmware-Aktualisierung anstoßen

Startet die vom Board unterstützte Firmware-Aktualisierung. Verfahren und benötigte Datei sind hardwareabhängig.

Syntax laut Marlin:
M997

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink

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.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M3Spindel rechts oder Laser ein

Aktiviert eine konfigurierte CNC-Spindel beziehungsweise einen Laser. Gehört zu Spezialmaschinen, nicht zum gewöhnlichen FDM-Druckbetrieb.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M5Spindel oder Laser ausschalten

Deaktiviert die eingerichtete Spindel-/Laserfunktion. Der Befehl ersetzt keinen unabhängigen Hardware-Not-Halt.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 Sekunden
Gut zu wissen: Ohne S und Achsangabe werden alle Motoren gelöst. Danach kann erneutes Homing nötig sein.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M42Pin-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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M80Netzteil einschalten

Aktiviert den konfigurierten schaltbaren Netzteilausgang. Funktioniert nur bei passender Stromversorgungssteuerung.

Syntax laut Marlin:
M80 [S]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M81Netzteil ausschalten

Schaltet ein unterstütztes Netzteil über die Firmware aus. Restwärme und notwendige Nachkühlung berücksichtigen.

Syntax laut Marlin:
M81

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M120Endstop-Auswertung aktivieren

Aktiviert die entsprechende Endstop-Auswertung. Die Wirkung hängt von der Firmwarekonfiguration ab.

Syntax laut Marlin:
M120

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M121Endstop-Auswertung deaktivieren

Deaktiviert die entsprechende Endstop-Auswertung. Nur für gezielte Diagnose; dadurch können Schutzgrenzen verloren gehen.

Syntax laut Marlin:
M121

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M126Baricuda-Ausgang 1 öffnen

Aktiviert den ersten unterstützten Baricuda-Ventilkanal. Spezialfunktion für entsprechend umgerüstete Maschinen.

Syntax laut Marlin:
M126 [S<pressure>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M127Baricuda-Ausgang 1 schließen

Schließt den ersten Baricuda-Ventilkanal. Benötigt die Baricuda-Hardwareoption.

Syntax laut Marlin:
M127

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M128Baricuda-Ausgang 2 öffnen

Aktiviert den zweiten unterstützten Baricuda-Ventilkanal. Kein gewöhnlicher Extruderbefehl.

Syntax laut Marlin:
M128 [S<pressure>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M129Baricuda-Ausgang 2 schließen

Schließt den zweiten Baricuda-Ventilkanal. Nur bei dafür eingerichteter Hardware relevant.

Syntax laut Marlin:
M129

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M150LED-Farbe setzen

Steuert unterstützte RGB- oder RGBW-Beleuchtung. Kanäle und Helligkeit müssen zur angeschlossenen LED-Hardware passen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: Grenzen nicht als pauschale Fehlerbehebung ausschalten.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M226Auf 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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M261I²C-Daten anfordern

Liest Daten von einem unterstützten I²C-Gerät. Dient der Anbindung spezieller Erweiterungen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M265I²C-Bus durchsuchen

Sucht nach antwortenden I²C-Adressen. Eine gefundene Adresse erklärt noch nicht das Protokoll des Geräts.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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 abfragen
Gut zu wissen: Eine Positionsänderung kann eine Sonde oder einen anderen Mechanismus bewegen. Keine fremden Winkelwerte übernehmen.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M281Servo-Winkel bearbeiten

Ändert hinterlegte Servo-Endstellungen. Mechanische Anschläge und die Bedeutung der Positionen müssen vorher bekannt sein.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M282Servo-Signal lösen

Beendet die Ansteuerung eines unterstützten Servos. Dadurch kann dessen aktive Haltekraft entfallen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M355Gehäusebeleuchtung steuern

Schaltet eine konfigurierte Gehäuseleuchte und stellt gegebenenfalls ihre Helligkeit ein.

Syntax laut Marlin:
M355 [P<int>] [S<bool>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M380Magnetventil aktivieren

Schaltet ein unterstütztes Solenoid ein. Werkzeugzuordnung und Beschaltung richten sich nach dem Build.

Syntax laut Marlin:
M380 [S<index>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M381Magnetventile deaktivieren

Schaltet unterstützte Solenoids ab. Die reale Funktion hängt von den daran angeschlossenen Aktoren ab.

Syntax laut Marlin:
M381 [S<index>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Gut zu wissen: Benötigt I2C_POSITION_ENCODERS. Bewegende Tests und Einstellungen nur mit eingerichteten Modulen durchführen. Die vollständige Parametertabelle steht in der Originalquelle.
Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M906TMC-Motorstrom einstellen

Setzt Ströme unterstützter Schrittmotortreiber. Zulässige Werte hängen von Motor, Treiber und Kühlung ab.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M907Motorstrom per Trimpot

Steuert elektronische Potentiometer zur Motorstromregelung. Nur bei passender Board-Hardware.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M908Trimpot-Pins einstellen

Greift auf unterstützte digitale Potentiometer zu. Pin- und Kanalzuordnung müssen zum Board passen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M909DAC-Motorstrom auslesen

Meldet Motorstromwerte einer unterstützten DAC-basierten Regelung.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M910DAC-Werte dauerhaft speichern

Schreibt unterstützte DAC-Stromeinstellungen in deren nichtflüchtigen Speicher.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M911TMC-Temperaturvorwarnung lesen

Meldet gespeicherte Übertemperatur-Vorwarnungen geeigneter Treiber. Ursache und Kühlung anschließend prüfen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M912TMC-Vorwarnmerker löschen

Setzt die gespeicherten Temperaturvorwarnungen zurück. Das behebt die Ursache einer Überhitzung nicht.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M913TMC-Hybridschwelle setzen

Legt die Geschwindigkeit für den automatischen Wechsel des Treibermodus fest. Benötigt die entsprechende Hybridfunktion.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M914Sensorloses Homing abstimmen

Stellt die StallGuard-Empfindlichkeit unterstützter TMC-Treiber ein. Skala und Wirkrichtung unterscheiden sich zwischen Treiberfamilien.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M916L6474: Temperaturtest

Spezielle Treiberdiagnose zur Bestimmung einer thermischen Warnschwelle. Kann belastende Testbewegungen auslösen.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M917L6474: Überstromtest

Sucht passende Stromschwellen im Treiber-Testverfahren. Nur für gezielte Inbetriebnahme geeigneter Hardware.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
M918L6474: Geschwindigkeitstest

Ermittelt Grenzen im speziellen Treiber-Testverfahren. Kein gewöhnlicher Geschwindigkeitsbefehl für Druckobjekte.

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
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>]

Marlin · Verfügbarkeit abhängig vom BuildOffizielle Erklärung ↗# Direktlink
↑ Zur Befehlssuche

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.

AufgabeMarlinKlipperRepRapFirmware
Mesh erzeugenPassende G29-VarianteBED_MESH_CALIBRATEG29 / Mesh-Ablauf
DruckkompensationM900SET_PRESSURE_ADVANCEM572
SensoreinstellungM851PROBE_CALIBRATEG31
G31Sled andockenKein allgemeiner StandardbefehlSensorstatus/-parameter
M208Recover-EinstellungenKein allgemeiner StandardbefehlAchsgrenzen

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-BefehlAufgabe
BED_MESH_CALIBRATEBett vermessen.
BED_MESH_PROFILE LOAD=defaultVorhandenes Profil ausdrücklich laden.
PROBE_CALIBRATESondenoffset kalibrieren.
PROBE_ACCURACYWiederholgenauigkeit der Sonde prüfen.
Z_TILT_ADJUSTKonfigurierte Z-Antriebe ausrichten.
QUAD_GANTRY_LEVELVierfach angetriebene Traverse ausrichten.
SET_PRESSURE_ADVANCEExtrusionsdruck-Kompensation einstellen.
PID_CALIBRATEHeizungsregelung abstimmen.
SAVE_CONFIGKalibrierwerte speichern; Neustart beachten.
PAUSE / RESUMEPausieren beziehungsweise fortsetzen.
CANCEL_PRINTDruck abbrechen.
TURN_OFF_HEATERSAlle Heizer ausschalten.
RESTART / FIRMWARE_RESTARTSoftware beziehungsweise Firmwarezustand neu starten.
HELPVerfügbare Befehle anzeigen.
Mesh in Klipper: Ein gespeichertes Profil wird über 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 dokumentieren

2. 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 E

3. 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 Druckbewegungen
Die beiden Leveling-Zeilen sind auskommentierte Alternativen. Wähle das passende Verfahren. UBL benötigt beispielsweise einen anderen Ladeablauf. Hersteller können für ihre Sonde eine andere Heiz- und Messreihenfolge verlangen. Eine Purge-Line wird hier nicht pauschal vorgegeben.

4. 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 wird

Der 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.

Aktualisierte Grundlagen: G10/G11 korrekt als Retract/Recover, G21 als Millimeter-Modus, T0 als Werkzeug-/Hotendauswahl und F-Werte mit korrekter Einheit. Außerdem sind die Unterschiede zwischen Mesh-Messung, Mesh-Aktivierung und dauerhaftem Speichern ausdrücklich getrennt.

Weiterlesen im Archiv: BLTouch und automatische Bettvermessung · PLA-Filament

↑ Zurück zum Anfang

3D Druck Archiv · G-Code-Handbuch · Die Animation läuft lokal im Browser und sendet keine Befehle an einen Drucker.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

3D Druck Archiv
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.