Installation Marlin Firmware auf Ender 3 Pro (Board v1.1.4)

Ich habe heute versucht meinen (etwas älteren) Ender 3 Pro 3D-Drucker mit der aktuellsten Marlin-Firmware auszustatten, da ich gerne ein paar Features nutzen wollte, die die Standard-Firmware nicht bietet (vorerst hauptsächlich (manuelles) Mesh-Leveling).

Nach etwa vier Stunden ist mir das ganze dann auch geglückt und der Drucker werkelt jetzt mit aktueller Marlin 2.0.7 Firmware. Da ich vermutlich in einem Bruchteil der Zeit fertig gewesen wäre, wenn es eine aktuellere und vor Allem eine speziell zu meiner Board-Version passende Anleitung gegeben hätte, dachte ich mir, ich schreib das jetzt hier einfach mal so runter.

Disclaimer: Ich beschreibe hier nur meine Vorgehensweise, es gibt garantiert auch noch andere Wege zum Ziel, aber aus den verschiedenen Anleitungen die ich dazu gefunden habe, habe ich nun diesen für mich als „am einfachsten funktionierend“ empfunden. Vielleicht ist das auch alles totaler quatsch. Das befolgen dieser Anleitung unterliegt deiner Verantwortung. Ich übernehme keine Haftung für eventuelle Schäden!

Okay. Also, los geht’s mit den

Voraussetzungen

Software

Hardware

  • Ender 3 Pro mit v1.1.4 Board („Melzin“)
  • Arduino Uno (oder ein Klon)
    • Viele „Starter-Kits“ kommen mit allerhand Zubehör, unter anderem z.B. mit:
    • USB Typ A <-> USB Typ B Kabel (für den Arduino)
    • 5x Dupont Kabel (weiblich <-> weiblich)
    • 1x Dupont Kabel (weiblich <-> männlich)
  • USB Typ A <-> Mini USB Kabel (für den Ender 3 Pro)
  • H2.0 Innensechskant (Inbus, zum öffnen des Ender 3 Pro Elektronik-Gehäuses)
  • Notebook oder Computer (in Druckernähe)

Vorbereitung / Installation der Software

Fangen wir an mit der Installation und Konfiguration der benötigten Software:

Marlin Firmware und Konfigurationsvorlagen

Lade zunächst die aktuelle Marlin-Version aus dem GitHub Repository runter. Ich habe hier einfach den aktuellsten Release verwendet, häufig wird aber auch der aktuellste stand des 2.0.x-bugfix Branchs empfohlen.

Die Entsprechenden Konfigurationen haben mittlerweile ein eigenes Repository. Lade die Vorlagen von dort herunter (passend zum gewählten Release/Branch der Firmware)

Nun müssen die passenden Konfigurationen noch in den Firmware-Ordner kopiert werden. Navigiere dazu in den Ordner config/examples/Creality/Ender-3 Pro/CrealityV1 aus dem Configurations-Repository. Kopiere dann den gesamten Inhalt in das Marlin Verzeichnis innerhalb des heruntergeladenen MarlinFirmware-Repositorys und überschreibe dabei die Vorhandenen Dateien.

CH340 Treiber

Für die Verbindung mit dem Drucker per USB wird noch ein entsprechender Treiber benötigt. Lade diesen für Windows 10 hier von der Website des Herstellers herunter und installiere diesen. (Einfach die .exe ausführen)

Visual Studio Code (und Extensions)

Für das Flashen der Firmware ist mittlerweile PlatformIO der empfohlene Weg. Dieses basiert auf Visual Studio Code (aka. VSCode). Lade also zunächst VSCode von der offiziellen Website herunter und installiere es.

Sobald die Installation fertiggestellt ist, starte VSCode und öffne die Extension-Ansicht (STRG+UMSCHALTTASTE+X). Suche dann oben links nach „PlatformIO IDE“ und klicke auf Installieren. Dies kann je nach Rechenleistung ein paar Minuten dauern, schließe VSCode währenddessen nicht. Sobald die Installation fertiggestellt ist, wirst du vermutlich aufgefordert VSCode neu zu starten, bzw. neu zu laden.
Danach öffne erneut die Extension-Ansicht und suche nach „Auto Build Marlin“. Installiere auch diese Extension. (Das sollte deutlich schneller gehen als PlatformIO.)

Öffne nun das Verzeichnis der heruntergeladenen MarlinFirmware in VSCode (Datei -> Ordner öffnen). Wichtig: Nicht den Marlin Ordner von vorher (mit den Konfigurationsdateien) öffnen, sondern den übergeordneten. Du erkennst den richtigen Ordner daran, dass er die Datei platformio.ini beinhaltet.

Arduino IDE

Weiter geht’s mit der Arduino IDE. Diese (und den Arduino) benötigen wir um zunächst einen Bootloader auf dem Ender 3 Pro Board zu installieren, damit wir später die Marlin-FW einfach per USB-Kabel flashen können.

Lade am besten einfach die portable Version (Windows ZIP file) von der Arduino-Webseite herunter und starte Sie. Diese benötigt keine Admin-Rechte zur Installation und sollte somit einfach „Out of the Box“ funktionieren.

Wir wollen den Arduino Uno gleich als ISP Programmer nutzen. Dazu gibt es einen Beispiel-Sketch den wir zunächst auf den Arduino laden müssen.
Öffne den Sketch in der Arduino IDE via Datei -> Beispiele -> 11.ArduinoISP -> ArduinoISP

Dann muss noch eine Library hinzugefügt werden. Öffne dazu den Bibliotheksverwalter (STRG+Umschalt+I) und suche dann nach „U8glib“. Installiere diese (Version 1.19.1)

Außerdem brauchen wir für später die definitionen für das Board des Ender 3 Pro. Öffne dazu die Voreinstellungen der IDE: Datei -> Voreinstellungen und trage unter „Zusätzliche Boardverwalter-URLs“ ein:

Öffne dann Werkzeuge -> Board: [Arduino Uno] -> Boardverwalter… Suche und installiere dann „Sanguino“ (Version 1.0.3).

Schließe nun den Arduino Uno an deinen Computer an und kontrolliere, dass in der IDE unter Werkzeuge -> Board: Arduino Uno und unter Port der korrekte Anschluss (vermutlich COM*) ausgewählt ist.
Lade dann den Sketch auf den Arduino hoch (STRG+U).

Nun ist der Arduino Uno bereit um als ISP verwendet zu werden. Weiter geht’s damit dann im nächsten Schritt.

Bootloader Flashen

Kommen wir nun zum ersten spannenden Part: Das schreiben des Bootloaders auf das Drucker-Board.

Verbinde dazu zunächst den ISP-Header des Boards mit dem ICSP-Header auf dem Arduino. (Mehr Details und Grundlagen zum Arduino/ISP: https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP)

Ender 3 Pro Board ISP-Header
ISP-Header auf dem Ender 3 Pro Board
ICSP-Header-Pinbelegung
ISP/ICSP-Header Pinbelegung

Folge dabei der Pinbelegung. Pin 1 auf Pin 1, Pin 2 auf Pin 2 usw. Mit ausnahme von Pin 5. Der Reset-Pin wird auf dem Arduino auf Digital-Out Pin 10 gesetzt. (Hier wird das eine Männl.-Weibl. Dupont Kabel benötigt.)

Sofern der Arduino noch am Computer hängt und mit Strom versorgt wird, sollten nun bereits LEDs am Drucker-Board leuchten/blinken.

Stelle nun in der Arduino IDE unter Werkzeuge -> Board: Sanguino und Programmer: Arduino as ISP ein.

Nun kann über Werkzeuge -> Bootloader brennen der Flash-Prozess gestartet werden. Die LEDs am Ender-Board sollten kurz etwas blinken und die IDE dann unten links anzeigen, dass der Prozess erfolgreich war.

Du kannst nun den Arduino wieder trennen. Ab jetzt benötigen wir nur noch den USB-Port des Druckers.

Firmware Flashen

Weiter geht’s mit dem eigentlichen Ziel: Die Marlin Firmware auf das Board bringen.

Verbinde den Drucker mit dem USB-MiniUSB Kabel mit deinem Computer und schalte den Drucker ein.

Kehre nun zurück zu VSCode mit dem geöffneten Marlin Ordner. Links im Menü solltest du den Auto Build Marlin Bereich und dann oben den Build-Button finden. (Letzterer erscheint nur, wenn du mit der Maus über der Sidebar hoverst.)

VSCode Auto Build Marlin

Nun sollte sich der Marlin Firmware Auto Build Tab öffnen. Hier siehst du nochmal die Details zum ausgewählten (über die Beispielkonfigurationen) Board und Drucker.

Im Unteren Bereich Environments findest du die verfügbaren Umgebungen für das Board. Relevant ist hier „sanguino1284p“. Klicke dort zunächst auf Build (Dieser Prozess kann einige Minuten dauern.)

Sobald dies abgeschlossen ist und der Drucker korrekt mit dem Computer verbunden wurde, klicke den Upload Button hinter dem selben Environment. Die Firmware wird nun auf das Board des Druckers übertragen und der Drucker sollte nach erfolgreicher Übertragung „neu starten“ und den Bootscreen der gewählten Marlin-Firmware-Version anzeigen.

Fertig

Nun solltest du sicherheitshalber zunächst die Grundfunktionen des Druckers testen (Movement der Achsen, Auto-Homing, Extruder- und Bed-Heating). Sofern hier alles gut aussieht kannst du einen Testdruck durchführen und/oder gegebenenfalls weitere Parameter an der Firmware ändern. Wiederhole dann einfach den Build– und darauffolgenden Upload-Prozess über die „Auto Build Marlin“ Extension um die Firmware mit deinen Änderungen erneut zu übertragen.

3 Gedanken zu “Installation Marlin Firmware auf Ender 3 Pro (Board v1.1.4)”

  1. Hallo, sehr gute Beschreibung. Habe das gleiche Board und das so gemacht wie beschrieben. Bei mir geht das nicht imer Fehler “ cc nicht gefunden oder falsch geschrieben.“ .
    Können Sie mir dabei weiter helfen.

    MfG
    Frank Jakob

  2. Danke dir für diesen walkthrough! Damit war es bei mir in weniger als einer Stunde getan.
    Eine Anmerkung wäre hierbei, dass man wenn man den Bootloader in Arduino brennen möchte, inzwischen hier noch den richtigen (ziel) Prozessor auswählen muss. Das war in meinem fall ATMEGA1284P 16MHz. Sonst ist standartmäßig ein anderer ausgewählt und es gibt eine Fehlermeldung. Darüber könnte man evtl stolpern.
    Grüße!

Schreibe einen Kommentar

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.