Marlin 2.0 installieren mit Visual Studio Code, PlatformIO & Auto Build Marlin

Auto Build Marlin

Wenn Ihr größere Marlin-Firmware Projekte / Module installieren wollt, so wird die alte Arduino IDE schnell zu klein. Deshalb beschreibe ich hier kurz Schritt für Schritt wie Ihr die Visual Studio Code Umgebung nebst dem Plugin PlatformIO und Auto Build Marlin installiert und darauf ein Marlin 2.0 Projekt erstellt. / konfiguriert und auf Euren Drucker installiert.

Visual Studio Code installieren

Visual Studio Code ist eine freie platformübergreifende Entwicklungsumgebung von Microsoft. Mit diversen Plugins lässt Sie sich für unterschiedliche Programmiersprachen an die individuellen Bedürfnisse anpassen. Visual Studio Code (aka VS-Code) könnt Ihr hier (Setting up Visual Studio Code) kostenlos downloaden.

Nachdem Ihr die Software downgeloaded und gestartet habt, müsst Ihr die Lizenzvereinbarungen akzeptieren:

Lizenzvereinbarungen Visual Studio Code

Anschließend wählt Ihr den Installationspfad. Den könnt Ihr in der Regel so lassen. Er liegt (ich habe das User-Setup gewählt) im AppData-Verzeichnis des Benutzers:

Installationsordner Vidual Studio Code auswählen

Ihr könnt die Installation noch individualisieren. Wenn Ihr nicht viel mit VS-Code arbeitet und VS-Code nur für die Marlin Firmware benötigt, so braucht Ihr hier keine Einstellungen zu machen.

Zusätzliche Einstellungen Visual Studio Code

Am Ende klickt Ihr noch auf Installieren und der Rest geht von alleine. Ihr könnt Visual Studio Code bereits starten. die weitere Installaion erfolgt im eingebauten Paketmanager.

PlatformIO installieren

Auf den Marlin-Webseiten steht, dass PlatformIO die Visual Studio Code Umgebung in eine IDE verwandelt um Marlin zu kompilieren.
Das ist zwar tatsächlich so, aber ein bisschen zu eng gesehen. PlatformIO macht aus dem Visual Studio Code eine Entwicklungsumgebung für empedded Entwicklung. Also eine Umgebung für z.B. AVR oder aber auch ARM MCUs. Die Arduino Boards sind z.B. bekannte embedded Boards.

Da es in diesem Artikel aber nicht direkt um embedded Entwicklung geht erspare ich Euch die Grundlagen und wir installieren zusätzlich (außschließlich) das Plugin „Auto Build Marlin“. Mit diesem Plugin könnt Ihr sehr leicht die Marlin-Firmware für Eueren 3D-Drucker konfigurieren, kompilieen und auf Euren Drucker übertragen.

Auto Build Marlin installieren

Wählt im frisch gestarteten Visual Studio Code den untersten Button (Extensions) oder drückt die Tasten STRG+CTRL+X gleichzeitig. Im darauf erscheinenen Extension-Manager tippt Ihr im Suchfeld „marlin“ ein. Der Extension-Manager sucht Euch direkt das Auto Build Marlin heraus:

Auto Build Marlin installieren
Visual Studio Code Paketmanager mit Auto Build Marlin

Der große Vorteiul. Der Extension-Manager kennt die Abhängigkeiten und installiert automatisch alle fehlenden Programme und Module (so. z.B. auch PlatformIO).

Auto Build Marlin, Abhängigkeiten  installieren
Extension-Manager Abhängigkeiten installieren

Wenn die Installation fertig ist, wird empfohlen Visual Studio Code neu zu starten.

Auto Build Marlin, Installation abgeschlossen
Auto Build Marlin, Installation abgeschlossen, Neustart anstehend

Nach der Installation habt Ihr links nun zwei neue Icos. Unten das Icon für PlatformIO (wurde bene automatisch mit installiert) und darüber das Icon für Auto Build Marlin.

Auto Build Marlin, leerer Projektordner
Visual Studio Code, links im Menü die neuen Plugins PlatformIO und Auto-Build-Marlin

Marlin downloaden

Die aktuell Marlin-Firmware könnt Ihr hier (Download | Marlin Firmware (marlinfw.org)) downloaden. Laded Euch einfach das ZIP-File runter und entpackt es in einen Ordner eurer Wahl.

Klickt nun auf das M (Auto Build Marlin) Icon und anschließend auf Ordner öffnen. Ihr müsst den Marlin Projektordner öffnen, nicht den innenliegenden Marlin Ordner. Wenn Ihr das ZIP aus obigem Link geladen und entpackt habt, ist es der Ordner Marlin-2.0.x.

Ihr werdet nun gefragt, ob Ihr den Autoren vertraut. Das solltet Ihr mit Ja beantworten, damit alle Features aktiviert werden.

Ihr bekommt eine Fehlermeldung, wenn es der falsche Ordner ist. Ist es der richtige Ordner wird automatisch Platformio gestartet und die platformio.ini in den Editor geladen.

Auto Build Marlin verwenden

Wenn Ihr nun wieder auf das M (Auto Build Marlin) Icon klickt und anschließend auf Show Arm Panel, so könntet Ihr theoretisch das Projekt bereits erstellen:

Auto Build Marlin mit geöffnetem Marlin 2.0 Projekt
Auto Build Marlin ARM Panel

Klickt einfach mal auf „Build“ hinter mega2560. Ihr seht wie schnell das Projekt kompiliert und zum Upload bereit ist. Das ist ein guter Test, um zu schauen, ob alles richtig installiert ist.

Nun, wenn Ihr kein RAMPS 1.4 Board habt, hilft Euch das fertig kompilierte Projket natürlich nicht. Also die Config-Files fürs ANET-Board downloaden und in den Marlin Projektordner kopieren. Die Config-Files findet Ihr hier (https://github.com/MarlinFirmware/Configurations).
WICHTIG: Zuerst links das richtige Release wechseln (in unserem Fall 2.0.9.1!
Anschließend rechts den Button Code und anschließend Download ZIP klicken. Im ZIP-File sucht Ihr Dann unter config/examples/ Dann eurer Board heraus (bei mir es ist der Hersteller Anet und das Board A8Plus). Kopiert alle drei Dateien in das Marlin Software Verzeichnis. Also das MArlin-Verzecihnis unterhalb des Marlin 2.0.x Projekt-Verzeichnis.

Die IDE erkennt automatisch, dass sich die Config-Files geändert haben und lädt diese neu. Das Ziel ist nun das ANET (nicht mehr RAMPS) -Board:

Auto Build Marlin, mit ANET Config
Auto Build Marlin mit ANET Board

Habt Ihr alles neu gebuildet (Build-Button), so sollte das ohne Fehler durchgelaufen sein:

Auto Build Marlin, Build-Ergebnis
Auto Build Marlin für ANET A8 Plus

Nun könnt Ihr die Firmware zu Eurem Drucker übertragen. Dazu müsst Ihr aber vorher einen Boat-Loader auf das Board spielen, so Ihr das noch nicht getan habt. Wie das geht habe ich Euch hier ausführlich beschrieben: ANET Board 1.7 mit Bootloader flashen.

2 Kommentare

Schreibe einen Kommentar

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