Open-Source-Projekt
MarlinFirmware/Marlin avatar
MarlinFirmware/Marlin

Marlin-Firmware: der Bugfix-Zweig 2.1, Boards und Build-Weg

Marlin ist eine Firmware für RepRap 3D-Drucker, die sowohl für 8- als auch für 32-Bit-Mikrocontroller optimiert ist. Marlin unterstützt alle gängigen Plattformen. Bei vielen kommerziellen 3D-Druckern ist Marlin bereits installiert. Erkundigen Sie sich bei Ihrem Anbieter, ob Sie Quellcode für Ihre spezifische Maschine benötigen.

17.586 Sterne19.720 ForksC++GPL-3.0

Auf einen Blick

Was ist das?
Marlin ist eine GPL-3.0-Firmware für RepRap-Drucker, die eine gemeinsame Codebasis für 8-Bit-AVR- und 32-Bit-ARM-Boards pflegt. Der Standardzweig bugfix-2.1.x sammelt Patches für das aktuelle Release und ist laut README ausdrücklich nicht für den Produktionsbetrieb bestimmt.
Für wen ist es gedacht?
Marlin ist die richtige Wahl, wenn ein RepRap-Drucker mit einer etablierten Open-Source-Firmware gefahren werden soll und der Hersteller oder das Configurations-Repository passende Konfigurationsdateien liefert. Wer einen neuen Zweig wie bugfix-2.1.x flasht, muss die Warnung im README ernst nehmen: Diese Stand sind für Tests gedacht, nicht für eine unüberwachte Produktionsmaschine.
Darf ich es kommerziell nutzen?
Ja, unter Bedingungen. GPL-3.0 ist eine Copyleft-Lizenz: Wenn Sie Software weitergeben, die sie enthält, müssen Sie deren Quellcode unter derselben Lizenz veröffentlichen. Wer sie nur intern betreibt, ohne sie weiterzugeben, löst diese Pflicht nicht aus.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 8 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich C++, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Marlin und der Bugfix-2.1.x-Zweig

Marlin ist eine Firmware für RepRap-3D-Drucker, die in C++ geschrieben ist und sowohl 8-Bit- als auch 32-Bit-Mikrocontroller abdeckt. Viele kommerzielle Drucker werden laut Beschreibung im Repositorium bereits mit Marlin ausgeliefert. Der Standardzweig trägt den Namen bugfix-2.1.x und bündelt Patches für die aktuellste 2.1.x-Version.

Das README markiert diesen Zweig ausdrücklich mit dem Hinweis, nicht für die Produktion bestimmt zu sein. Periodisch fließen die gesammelten Änderungen in ein neues 2.1.x-Minor-Release. Marlin 2.1 selbst ergänzt Unterstützung für bis zu neun koordinierte Achsen und bis zu acht Extruder, was sich an modernen Druckerkonstruktionen mit mehreren Werkzeugen orientiert.

Ein Code für 8-Bit-AVR und 32-Bit-ARM

Das Repositorium pflegt eine gemeinsame Codebasis, die beide Board-Familien abdeckt. Marlin stammt aus der Ära der Arduino-basierten 8-Bit-Platinen, und laut README ist das Ziel, 8-Bit-AVR-Boards dauerhaft zu unterstützen. Die 32-Bit-ARM-Boards bieten mehr Rechenleistung und Speicher und ermöglichen neuere Funktionen, die in der Firmware teilweise ein 32-Bit-Board voraussetzen.

Diese Dualität ist praktisch, weil Nutzer bestehender älterer Platinen nicht sofort migrieren müssen. Wer ein modernes Board besitzt, profitiert von den zusätzlichen Features; wer ein klassisches AVR-Board fährt, bleibt auf demselben Release-Stand wie der Rest der Community.

Die Hardware-Abstraktionsschicht und die Plattformtabelle

Die Hardware-Abstraktionsschicht (HAL) stellt laut README eine gemeinsame API für die anvisierten Plattformen bereit. Sie erlaubt, Bewegungs- und Oberflächenaufgaben auf unterster und oberster Ebene zu behandeln und an den Hardware-Takt zu binden. Für mehr als ein Dutzend Plattformen existieren HALs, wobei AVR und STM32 als die bekanntesten gelten.

Die Plattformliste umfasst Arduino AVR, Teensy, Arduino Due, ESP32, GD32, HC32, LPC1768, LPC1769, RP2040, STM32-Familien, SAMD sowie Linux native. Beispiele aus der Liste sind RAMPS, Melzi, RAMBo, MKS SBASE, Smoothieboard und BigTreeTech-SKR-Varianten. Eine HAL für RP2040 ist laut Text im Beta-Stadium; für ganz konkrete Wünsche wie die Duet3D-Familie wünscht sich das Team ebenfalls Unterstützung.

Konfigurationen: Configurations-Repository und Download-Seite

Vor dem Bau benötigt Marlin eine Konfiguration für die jeweilige Hardware. Hersteller liefern auf Anfrage den Quellcode und die Konfigurationen für ihre Maschinen; wer eine neuere Marlin-Version installieren will, braucht aktualisierte Konfigurationsdateien. Das Repository MarlinFirmware/Configurations sammelt Hunderte von getesteten Beispielkonfigurationen von Nutzern.

Das README weist darauf hin, den passenden Zweig auszuwählen. Die Download-Seite unter marlinfw.org/meta/download koppelt kompatible Software- und Konfigurationspakete. Gerade bei Unsicherheiten über Board oder Drucker ist diese Zuordnung hilfreich, weil sie Fehler durch falsch kombinierte Bausteine vermeiden soll.

Build-Werkzeuge: PlatformIO, VS Code und Arduino IDE

Für Kompilieren und Upload nennt das README vier Wege. Bevorzugt wird die PlatformIO-IDE-Erweiterung für Visual Studio Code, ergänzt um die Erweiterung Auto Build Marlin. Alternativ ist ein VSCode-Devcontainer dokumentiert, der die Umgebung ohne manuelle Einrichtung bereitstellt.

Der Build über die Arduino-IDE bleibt möglich, wird aber als derzeit weniger bevorzugter Weg beschrieben. Für Einsteiger, die klassische Arduino-Umgebungen kennen, ist der Einstieg trotzdem niederschwellig; für regelmäßige Entwicklungsarbeit rät die Dokumentation zu PlatformIO, weil die Umgebung im Projektumfeld besser aufeinander abgestimmt ist.

Tests und der Weg der Community-Beiträge

Mitwirkende senden Pull Requests gegen den Zweig bugfix-2.1.x und werden gebeten, die Codierungsstandards zu befolgen. Build-Tests liegen unter buildroot/tests und laufen nach dem Push auf GitHub-Servern. Lokale Befehle wie make tests-config-all-local und make tests-config-single-local TEST_TARGET=... prüfen die Konfigurationen vor Ort, daneben gibt es Docker-Varianten.

Unit-Tests lassen sich über PlatformIO, Make oder Docker ausführen. Für ein Projekt mit so vielen Board-Kombinationen ist dieses Testnetz zentral, weil es sicherstellt, dass Änderungen nicht stillschweigend einzelne Plattformen brechen. Die Dokumentation beschreibt, wie Tests gestartet werden, auch wenn nicht jeder Befehl im README bis ins Detail erklärt ist.

Projektstruktur: Leitung, Gründer und Support-Kanäle

Das README führt die Projektleitung namentlich auf. Scott Lahteine ist als Projektleiter gelistet, dazu Administratoren wie Peter Ellens, Chris Pepper, Keith Bennett, Roxanne Neufeld, Jason Smith, Victor Oliveira und Bob Kuhn. Erik van der Zalm wird als Gründer geführt, das ursprüngliche Logo stammt von Ahmet Cem TURAN.

Für Hilfesuchende nennt der Text den Marlin-Discord, eine Facebook-Gruppe, das RepRap-Forum und eine YouTube-Playlist zu Konfigurationen. Die Issue-Queue ist für Fehlerberichte und Funktionswünsche vorgesehen. Support-Zusagen über diesen Rahmen hinaus macht das README nicht; konkrete Antwortzeiten gibt es nicht.

GPL-3.0: was die Lizenz für Nutzer bedeutet

Marlin ist unter GPL-3.0 veröffentlicht. Das README erklärt die zentrale Pflicht: Wer Marlin als Grundlage eines eigenen Produkts verwendet, muss Marlin offen halten und kompatiblen Quellcode Endnutzern auf Anfrage bereitstellen. Als einfachster Weg zur Einhaltung wird genannt, einen GitHub-Fork zu erstellen, Änderungen dort zu veröffentlichen und Nutzer darauf zu verweisen.

Der Lizenzauszug erwähnt ausdrücklich, dass für die freie Software keine Garantie besteht. Wer in den Zweig bugfix-2.1.x eingreift oder ihn in ein Gerät einspielt, trägt für die Folge selbst Verantwortung. Die zuletzt veröffentlichten Ausgaben wie 2.1.1.6 vom Juli 2026 sind über die Release-Seite abrufbar, während die Metadaten aktuell rund 17500 Sterne und 19700 Forks ausweisen.

Redaktionelles Fazit

Marlin ist die richtige Wahl, wenn ein RepRap-Drucker mit einer etablierten Open-Source-Firmware gefahren werden soll und der Hersteller oder das Configurations-Repository passende Konfigurationsdateien liefert. Wer einen neuen Zweig wie bugfix-2.1.x flasht, muss die Warnung im README ernst nehmen: Diese Stand sind für Tests gedacht, nicht für eine unüberwachte Produktionsmaschine. Unter GPL-3.0 bleibt der Quellcode offen weiterzugeben.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen