Nachdem ich endlich den Autolevel-Sensor montiert habe, wollte ich eine neue Version von Marlin hochladen. Dabei hat es leider den Bootloader des Anet Boards zerschossen. Das ist erstmal ein Problem, da der Drucker damit tot ist und nichts mehr macht oder anzeigt. Jeder Versuch eine andere oder alte Firmware hochzuladen wird mit Fehlermeldungen quittiert:

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
usw.

Glück im Unglück. Ich hatte noch ein Arduino Uno Board bei mir rumliegen ...

Vorrausetzungen

Board Definition Installieren

Die Board Definition lädt man entweder als ZIP-Datei herunter oder man klont das git-Repository. Danach kopiert man den Ordner hardware in den Arduino Dokumentenordner (normalerweise unter ~/Arduino) und startet die Arduino IDE.

Unter Tools -> Board sollten zwei Anet 1.0 Boards erscheinen. Ich habe das Anet 1.0 (Optiboot) ausgewählt. Das Optiboot Board wird empfohlen, da es weniger Platz benötigt, als der Standard Bootloader. Und da unser Bootloader eh hinüber ist, kann man auch gleich einen besseren brennen.

Note: The Optiboot board option is highly recommended as the Optiboot bootloader 
uses much less space than the standard Atmega 1284p bootloader, allowing more flash 
space for the firmware. If you choose to use the Optiboot option you MUST burn the 
Optiboot bootloader before uploading firmware, otherwise you risk overwriting the 
bootloader.

Arduino ISP Programmer Sketch vorbereiten

Damit man den Arduino als Programmierwerkzeug benutzen kann, wird der Arduino ISP Sketch benötigt. Diesen flasht man wie folgt:

  • Unter File -> Example -> Arduino ISP den Sketch auswählen.
  • Unter Tools -> Board wählt man den Arduino Uno und als Port den Port mit dem der Arduino verbunden (z.b. /dev/tty.USB0).
  • Als Programmer wählt man den AVRISP mkII.

Jetzt lädt man den Sketch hoch. Damit ist der Arduino vorbereitet und das Anet Board kann mit dem Arduino verbunden werden.

Anet Motherboard mit dem Arduino verbinden

Man sucht auf dem Anet Board den Steckerplatz J3 (neben dem LCD Anschluss).

Das Pinlayout ist wie folgt:

Richtung CPU <-- --> Richtung LCD Stecker

     * *
GND  * * Reset
MOSI * * SCK
+VCC * * MISO
     * *

Die Pins verbindet man auf dem Arduino wie folgt:

Reset -> Pin 10
MOSI  -> Pin 11
MISO  -> Pin 12
SCK   -> Pin 13
GND   -> GND
+VCC  -> 5V

Durch die Verbindung erhält das Anet Board den Strom vom Arduino. Daher muss der Drucker nicht eingeschaltet sein.

Bootloader brennen

  • Im Tools Menü das Anet V1.0 (Optiboot) Board auswählen und als Port wieder den Port nehmen, an dem der Arduino verbunden ist (z.b. /dev/tty.USB0).
  • Als Programmer wählt man jetzt den Arduino as ISP.

Danach kann mittels Tools -> Write Bootloader der neue Bootloader gebrannt werden.

Firmware hochladen

Zum Abschluss schließt man das Anet Board per USB an, schaltet den Drucker an und brennt die Firmware wie gehabt.

  • Im Tools Menü das Anet V1.0 (Optiboot) Board, den Port und als Programmer den AVRISP mkII wählen.
  • Den Marlin Firmware Sketch öffnen und hochladen.

Jetzt kann man sich hoffentlich wieder freuen, das der Drucker wieder funktioniert ...

Nächster Beitrag Vorheriger Beitrag