Firmware Teil 1: Creality3D CR-10 Bootloader

Wenn ihr den Creality3D CR-10 auspackt und zusammenbaut ist kein Bootloader auf dem Drucker, nur die Firmware.
Das heißt: Wenn ihr den Drucker am PC ansteckt und die Treiber installiert könnt ihr ihn zwar steuern, aber nichts an der Firmware ändern. Wie ihr das ändert, zeigen wir euch hier.

Nochmal zur näheren Erläuterung:

Möchtet ihr zum Beispiel, die Firmware abändern (Autoleveling aktivieren) oder eine andere Firmware aufspielen dann benötigt ihr einen Bootloader welcher es euch ermöglicht über die Arduino IDE Firmware auf den Chip des CR-10 Melzis  (so heisst die Hauptplatine des Druckers) zu spielen.

Was also beim ANET A8 selbstverständlich war, nämlich den Drucker einfach per USB anzuschliessen und eine andere Firmware zu flashen, ist beim Creality3D CR-10 standardmäßig nicht möglich. Da wir natürlich auch hier die bequeme Autolevel-Funktion in der Marlin Firmware nutzen möchten, lässt sich dieser Schritt nicht verhindern.

Hier also eine detaillierte und ausführliche Anleitung mit der ihr den Bootloader brennen könnt um eine andere Firmware zu flashen.

Was wird benötigt
  • Arduino Uno R3 (Chinaklone oder Original)
    Wichtig: Arduino MEGA/MEGA2560 funktionierte nicht!
  • Arduino IDE ab v1.6.3 (liegt dem Download bei)
  • Fünf Weiblich-Weiblich und ein Männlich-Weiblich Jumperkabel
  • Creality CR-10 Hauptplatine
  • USB-Kabel für UNO und Melzi (Hauptplatine des CR-10)
  • Werkzeug um das Gehäuse des CR-10 zu öffnen
  • ZIP Datei mit den benötigten Programmen:  CR_10_Flash_v1.zip (1006 Downloads)
1. Arduino UNO zum ISP Programmer programmieren

Installiere die letzte Version der Arduino IDE, oder verwende die 1.8.2 aus der CR_10_Flash_v1.zip.
Verbinde deinen Arduino UNO mit deinem PC und schaue im Gerätemanager nach dem COM-Port des UNO.
Hier im Beispiel ist es Port COM7.

 

 

 

Ist dein Arduino UNO erkannt und du kennst den Port, gehe wie folgt vor:

  1. Arduino IDE öffnen
  2. Im Werkzeuge Menü wählst du bei Board „Arduino/Genuino Uno“
  3. Bei Port wählst du den ermittelten Port deines UNOs
  4. Nun gehe unter Datei>Beispiele>ArduinoISP>ArduinoISP
  5. Klicke auf den Pfeil nach rechts unterhalb von Bearbeiten um das Programm hochzuladen

Wenn alles ohne Fehlermeldung geklappt hat ist dein Arduino nun ein ISP-Programmer.
Du kannst ihn nun abstecken, um ihn mit dem Melzi-Board im CR-10 zu verbinden.

2. Arduino UNO mit Melzi-Board verbinden
  1. Als erstes entfernst du alle Kabel vom Steuergehäuse des CR-10 und trennst die Stromversorgung.
  2. Wende das Gehäuse und entferne die fünf Schrauben der Bodenplatte.
  3. Drehe das Gehäuse mit dem SD-Kartenslot nach oben und entferne die vier Schrauben des Netzteils.
  4. Schwenke das Netzteil vorsichtig aus dem Gehäuse und achte darauf keine Kabel abzureißen.
  5. Nun solltest du das Melzi-Board sehen. Ob du es im eingebauten, oder ausgebauten Zustand flashst überlasse ich dir.
  6. Als erstes stecke den Jumper, der sich unten bei den Stromanschlüssen auf dem Board befindet, von VREG auf USB um.
  7. Nun verbindest du den UNO mit dem Melzi in folgender Weise:
Melzi Arduino Kabelart
MISO MISO weiblich/weiblich
5V 5V weiblich/weiblich
SCK SCK weiblich/weiblich
MOSI MOSI weiblich/weiblich
RESET Digital Pin 10 weiblich/männlich
GND GND weiblich/weiblich
3. Bootloader flashen

Um den Bootloader zu brennen brauchen wir zuerst die Bootloader-Dateien. Entweder du lädst dir die neuste Version, oder du verwendest die Version aus der CR_10_Flash_v1.zip.

In der CR_10_Flash_v1.zip findest du eine „Lauszus-Sanguino-1.0.2.zip“ in welcher die Bootloader enthalten sind. Entpacke den Ordner in das Installationsverzeichnis deiner Arduino IDE (C:\Program Files (x86)\Arduino\hardware)

Nun kannst du die Boards mit deinem PC verbinden und den Bootloader brennen:

  1. Wenn die Boards wie oben beschrieben verkabelt sind verbinde das Melzi mit deinem PC per USB.
  2. Schaue im Gerätemanager nach dem COM-Port.
  3. Verbinde nun auch deinen Arduino mit dem PC.
  4. Öffne die Arduino IDE und wähle unter Werkzeuge>Board wähle „Sanguino“.
  5. Unter Werkzeuge>Prozessor wähle „ATmega1284 or ATmega1284P (16MHz)“.
  6. Wähle unter Werkzeuge>Port den Port deines Arduinos.
  7. Wähle unter Werkzeuge>Programmer>Arduino as ISP.
  8. Als letztes wähle Werkzeuge>Bootloader brennen.
  9. Wenn alles korrekt abläuft steht unten links completed successfully.
  10. den Jumper der sich unten bei den Stromanschlüssen, auf dem Board befindet, von USB auf VREG umstecken

 

Falls bei dir der oben genannte Weg nicht funktionierten sollte, versuche folgende Alternative: (Diese funktioniert anscheinend auch mit einem Arduino MEGA.)

  1. Downloade die letzte Version von Nick Gammons Programmsammlung, oder verwende die Version aus der zip. In der CR_10_Flash_v1.zip befindet sich eine „arduino_sketches-master.zip“.
  2. Entpacke diese und öffne in dieser den Ordner „Atmega_Board_Programmer“ und die darin enthaltene ino.
  3. Trenne das USB-Kabel vom Melzi und ziehe die Jumperkabel NUR vom UNO ab.
  4. Wähle wieder unter Werkzeuge>Board den UNO aus, wie auch unter Port den Port des UNOs.
  5. Stelle bei Programmer wieder auf „AVRISP mkII” um.
  6. Lade das Programm auf den UNO.
  7. Verbinde die Boards wieder durch die Jumperkabel miteinander.
  8. Öffne über Werkzeuge>Serieller Monitor das Eingabefenster für den UNO.
  9. Im Seriellen Monitor sind unten rechts zwei Drop Down Boxen. Wähle in der ersten „Sowohl NL als auch CR“ und in der zweiten „115200 Baud“.
  10. Es sollte nun Text erscheinen. Wenn die Meldung „Failed to enter ICSP programming mode” kommt ist etwas falsch verkabelt.
  11. Ist alles richtig verkabelt sollte “Type ‘Q’ to quit, ‘V’ to verify, or ‘G’ to program the chip with the bootloader …” angezeigt werden. Tippe nun oben in der Eingabezeile ein „G“ ein und klicke auf „Senden“.
  12. Wenn alles richtig läuft wird das Programm den Bootloader brennen.

Glückwunsch, der Bootloader ist jetzt auf dem Board und es kann eine neue/andere Firmware auf das Board geflasht werden!

Zur Anleitung Firmware Teil 2: Creality3D CR-10 Firmware flashen (inkl. Autolevel)

 

Quellen:

Sanguino Bootloader
https://github.com/Lauszus/Sanguino

Nick Gammon Programmsammlung
https://github.com/nickgammon/arduino_sketches

 

Startseite Foren Firmware Teil 1: Creality3D CR-10 Bootloader

Dieses Thema enthält 16 Antworten und 5 Teilnehmer. Es wurde zuletzt aktualisiert von  Andre vor 17 Stunden, 11 Minuten.

Login Registrieren
  • Autor
    Beiträge
  • #1908 Antwort

    Mayr_1995
    Teilnehmer

    Wenn ihr den Creality3D CR-10 auspackt und zusammenbaut ist kein Bootloader auf dem Drucker, nur die Firmware. Das heißt: Wenn ihr den Drucker am PC ansteckt und die Treiber installiert könnt ihr ihn zwar steuern, aber nichts an der Firmware ändern. Wie ihr das ändert, zeigen wir euch hier. Nochmal…
    [zum Artikel: Firmware Teil 1: Creality3D CR-10 Bootloader]………

  • #2276 Antwort

    Markus

    Mein CR-10 hat bislang Marlin nicht akzeptiert.

    Mein Arduino IDE gibt mir immer den Fehler aus das ich das “Mega” Board verwenden soll (natürlich funktioniert das eben so wenig).

    Wisst Ihr schon wann Ihr euren Artikel weiter führt und beschreibt wie man die Firmware nun drauf bekommt?

     

  • #2545 Antwort

    Charlyak
    Teilnehmer

    Hallo Markus, Du musst die  Datei “Configuration.h” aus dem Ordner ”

    “Marlin\example_configurations\Creality\CR-10” in das Hauptverzeichnis

    “Marlin” kopieren. Und schon gehts. Viel Spaß.

  • #2560 Antwort

    sat-seb
    Teilnehmer

    Hallo Leute,

     

    bei mir hat angeblich das brennen geklappt…

    jetzt ist auf dem Display nix mehr..

    wann kommt die Firmware??

    oder ist doch etwas falsch wenn das Display keinen Inhalt mehr hat??

  • #2680 Antwort

    Micha

    Hi PlastikJunkies-Team

    erst einmal vielen Dank für Eure tolle arbeit.
    Habe mir von Euch für meinen Anet A8 immer sehr gute Tips geholt.

    Nun bin ich schon bissi angefixt vom CR-10.
    Werdet Ihr den CR-10 noch auf Autolevel umrüsten und einen Bericht darüber veröffentlichen?
    Ich würde mich darüber auf jeden Fall sehr freuen.

    Lg. Micha

     

  • #2866 Antwort

    Mike

    Halo,

     

    eine Frage, funktionieren das hier:
    ATMEGA16U2 Version Uno R3 MEGA328P Board kompatibel für Arduino

    Ist eine andere ATMEGA als oben erwähnt. Oder gilt das für alles?

    Viele Grüße

  • #2946 Antwort

    Dom

    Hi ich hab die Anleitung probiert, bis zum IPS Programmer upload geht alles…

    wenn ich jedoch das Board auf Sanguino umstelle bekomm ich in der console folgende Fehlermeldung.

    >Die aktuell ausgewählte Board benötigt den Kern ‘arduino:arduino’, der nicht installiert ist.

    Der Fehler ist inder eingepackten zip Version 1.8.2 alsd auch in der frisch geladenen 1.8.5 … was kann man da machen ?…

    vielen Dank & Grüße

    Dom

  • #3048 Antwort

    Fabian

    Hi ich habe das Problem das ich beim upload von Sanguino immer den Fehler bekomm:

    Arduino: 1.8.2 (Windows 10), Board: “Sanguino W/ ATmega1284 or ATmega1284P (16MHz)”

    java.lang.NullPointerException
    at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:362)
    at processing.app.Editor.lambda$handleBurnBootloader$14(Editor.java:2486)
    at java.lang.Thread.run(Thread.java:745)
    Error while burning bootloader.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    meine Frage was mach ich Falsch ?

    viele grüße

    Fabian

  • #3124 Antwort

    Alex

    Hallo,

    wenn ich den Bootloader flashe, bleibt die originale Firmware dann erhalten oder muss ich zwangsläufig auch gleich eine neue flashen?

    Ich würde auch gern noch eine Sicherung erstellen, um später eventl. mal wieder auf Original zurückzugehen, falls nichts läuft.

    • #3125 Antwort

      t0bse
      Keymaster

      nein du überschreibst die firmware immer, die alte bleibt also nicht auf dem drucker gespeichert.

      den bootloader zu flashen und danach keine firmware macht wenig sinn, dann kannst du dir den bootloader auch sparen 😀

    • #3127 Antwort

      Alex

      Gibt es denn die Möglichkeit, die Originale Firmware zu sichern oder hat jemand ein Backup? Will nur auf Nummer sicher gehen, falls ich es mit einer angepassten fw nicht vernünftig hinbekomme.

  • #3218 Antwort

    Thomas

    Hallo,

     

    ich habe den CR-10S mit einem anderen Board,

     

    Weiß jemand vielleicht wie da der Arduino angeschlossen werden soll?

     

    Viele Grüße

     

    Thomas

  • #3357 Antwort

    Nightmare1956

    Hallo zusammen

    Kann man das auch mit einem USBasp Programmer machen.

    Ich habe hie solch ein teil seit einiger Zeit hier liegen,aber über Suchmaschinen nur Englische anleitungen gefunden aber zum Melzi Bootloader flaschen habe ich nichts gefunden. Kann mir jemand denn erklären wie das damit geht?

    Danke schon mal im Voraus

    Grüße aus Wuppertal

    Gerd

  • #3457 Antwort

    Andre

    Ich hab da mal ne Frage.

    Kann man den Bootloader auch mit einem USB-ISP-Programmer, statt mit einem Arduino flashen?

    Ich habe einen ISP Programmer von DIAMEX mit einem 6-poligen (weiblichen) Stecker rumliegen. http://www.avr-programmer.com/downloads/usb-isp/usb-isp_installation_de.pdf

    Ich glaube die Pinbelegung des Steckers müsste genau passen.

    liebe Grüße

    Andre

     

  • #3627 Antwort

    Andre

    Der neue CR-10S hat bereits ein Bord mit werksmäßigem Bootloader.

    Das Flashen eines Bootloaders ist also bei dem neuen Board (V2) nicht erforderlich. Feine Sache…

    Über die Arduino IDE muss “ATmega2560” als Board eingestellt werden und als Programmer: “AVRRISP mkII

    Habe mir unter https://printedsolid.com/blogs/news/installing-marlin-1-1-6-on-your-cr-10s-with-mesh-bed-leveling

    Marlin 1.1.7 heruntergeladen. Habe dann In “Configuration.h”   auf Deutsch umgestellt: #define LCD_LANGUAGE de

    Hat alles auf Anhieb geklappt. Die Chinesen haben dazu gelernt, tolle Sache…

    das neue CR-10 Bord V2

Login Registrieren
Antwort auf: Firmware Teil 1: Creality3D CR-10 Bootloader
Deine Information: