Anet A8 Board Version 1.5 und Marlin Firmware

Falls jemand auch in den “Genuss” kam einen Anet A8 Drucker zu erwerben, welcher Out of the Box keine Sicherheitsfunktionen wie “Thermal Runaway” etc besitzt. Dem sei gesagt, wenn ihr eine Mainboard Revision 1_5 (1.5) habt, ist es gar nicht so einfach Marlin oder eine andere Custom Firmware zu flashen. Der Grund scheint hier wohl ein defekter oder zu gro├čer Bootloader zu sein.

Ich habe nun einige Tage damit verbracht, herauszufinden warum es nicht auf dem normalen Weg mit der Arduino IDE nicht klappt. Am Ende bin ich dazu ├╝bergegangen, das ganze mit einem ISP Programmer zu erledigen. Was anfangs auch nicht ganz einfach war, ich komme nicht aus der Microcontroller Welt ,)

Um es kurz zu halten, ich habe es mit folgendem Werkzeug erledigt:

Mit einem Arduino Nano als AVRISP hab ich es nicht geschafft, ich vermute es lang an der Stromversorgung, welche nicht über den Arduino laufen sollte. Mit dem oben verlinkten USB ISP auf 3.3v gestellt klappt es auf Anhieb super. Nein, das sind keine Affiliate Links, ich habe damit nur gute Erfahrung gemacht.

Installiert euch am besten ein virtuelles Windows 10, denn es werden Treiber und div. Software ben├Âtigt, die man sonst eigentlich nicht im t├Ąglichen Leben ben├Âtigt.

Folgende Software wird ben├Âtigt:

Das Softwarepaket hab ich euch geschn├╝rt, ihr m├╝sst es quasi nur Runterladen und entpacken. Im AVDRDude Ordner sind auch gleich die fertig kompilierten .HEX Dateien der angepassten Marlin Firmware enthalten.

Als n├Ąchstes bitte den USB ISP mit folgenden DIP Schalter Einstellungen versehen:

 

 

Dann das verkabeln des Mainboards mit dem USB ISP erfolgt mit 6 Jumper Kabel (Alternativ auch einem 6 poligem Flachbandkabel, ich bevorzuge jedoch Jumperkabel. Das Schema des USB ISP ist wie folgt:

 

 

 

 

Das Schema des Anet A8 Mainboards:

 

 

 

 

 

 

 

 

 

Nach dem verkabeln solltet ihr das ganze nun an euren Rechner anschlie├čen. Der USB ISP sollte nun gr├╝n leuchten und zu beginn kurz rot blinken. Ein Test, ob alles korrekt verkabelt ist k├Ânnte nun sein:

avrdude.exe -P COM3 -p m1284p -c avrispv2 -v -v -v -n

Hierbei euren COM Port bitte entsprechend anpassen! Die Ausgabe sollte etwas sein wie:

avrdude.exe: Version 5.11, compiled on Aug 30 2011 at 10:24:06
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch

             System wide configuration file is "C:\Users\shade\Downloads\avrdude-5.11\avrdude.conf"

             Using Port                    : COM5
             Using Programmer              : avrispv2
avrdude.exe: stk500v2_getsync(): found STK500 programmer
             AVR Part                      : ATMEGA1284P
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

             Programmer Type : STK500V2
             Description     : Atmel AVR ISP V2
             Programmer Model: STK500
             Hardware Version: 10
             Firmware Version Master : 2.10
avrdude.exe: stk500v2_command(): command failed
avrdude.exe: stk500v2_getparm(): failed to get parameter 0x9a
             Topcard         : Unknown
             Vtarget         : 3.3 V
             SCK period      : 2.2 us
             Varef           : 3.3 V
             Oscillator      : Off

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e9705
avrdude.exe: safemode read 1, lfuse value: d6
avrdude.exe: safemode read 2, lfuse value: d6
avrdude.exe: safemode read 3, lfuse value: d6
avrdude.exe: safemode: lfuse reads as D6
avrdude.exe: safemode read 1, hfuse value: de
avrdude.exe: safemode read 2, hfuse value: de
avrdude.exe: safemode read 3, hfuse value: de
avrdude.exe: safemode: hfuse reads as DE
avrdude.exe: safemode read 1, efuse value: fd
avrdude.exe: safemode read 2, efuse value: fd
avrdude.exe: safemode read 3, efuse value: fd
avrdude.exe: safemode: efuse reads as FD

avrdude.exe: safemode read 1, lfuse value: d6
avrdude.exe: safemode read 2, lfuse value: d6
avrdude.exe: safemode read 3, lfuse value: d6
avrdude.exe: safemode: lfuse reads as D6
avrdude.exe: safemode read 1, hfuse value: de
avrdude.exe: safemode read 2, hfuse value: de
avrdude.exe: safemode read 3, hfuse value: de
avrdude.exe: safemode: hfuse reads as DE
avrdude.exe: safemode read 1, efuse value: fd
avrdude.exe: safemode read 2, efuse value: fd
avrdude.exe: safemode read 3, efuse value: fd
avrdude.exe: safemode: efuse reads as FD
avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

Falls der Output nicht mit einem

avrdude.exe: stk500_getsync(): not in sync: resp=0x67

oder etwa:

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes!  Invalid device signature.
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.

endet, habt ihr alles korrekt verkabelt und eingestellt. Falls einer der obigen Fehler auftritt, ist es mei├čtens ein Problem mit der Spannungsversorgung oder eine falsche Verkabelung.

Ihr k├Ânnt nun die von mir vorkompilierten .HEX Files flashen oder weitere Anpassungen in der configuration.h in der Arduino IDE vornehmen. Ich gehe mal von einem direkten Flash aus:

avrdude.exe -P COM3 -p m1284p -c avrispv2 -Uflash:w:Marlin.ino.with_bootloader.sanguino.hex:i

Ausgabe sollte dann in etwa sein:

avrdude.exe: Version 5.11, compiled on Aug 30 2011 at 10:24:06
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch

             System wide configuration file is "C:\Users\shade\Downloads\avrdude-5.11\avrdude.conf"

             Using Port                    : COM5
             Using Programmer              : avrispv2
             AVR Part                      : ATMEGA1284P
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
               flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

             Programmer Type : STK500V2
             Description     : Atmel AVR ISP V2
             Programmer Model: STK500
             Hardware Version: 10
             Firmware Version Master : 2.10
avrdude.exe: stk500v2_command(): command failed
avrdude.exe: stk500v2_getparm(): failed to get parameter 0x9a
             Topcard         : Unknown
             Vtarget         : 3.3 V
             SCK period      : 2.2 us
             Varef           : 3.3 V
             Oscillator      : Off

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9705
avrdude.exe: safemode: lfuse reads as D6
avrdude.exe: safemode: hfuse reads as DE
avrdude.exe: safemode: efuse reads as FD
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "Marlin.ino.with_bootloader.sanguino.hex"
avrdude.exe: writing flash (130556 bytes):

Writing | ################################################## | 100% 45.22s

avrdude.exe: 130556 bytes of flash written
avrdude.exe: verifying flash memory against Marlin.ino.with_bootloader.sanguino.hex:
avrdude.exe: load data flash data from input file Marlin.ino.with_bootloader.sanguino.hex:
avrdude.exe: input file Marlin.ino.with_bootloader.sanguino.hex contains 130556 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 47.58s

avrdude.exe: verifying ...
avrdude.exe: 130556 bytes of flash verified

avrdude.exe: safemode: lfuse reads as D6
avrdude.exe: safemode: hfuse reads as DE
avrdude.exe: safemode: efuse reads as FD
avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

Thats it, ihr habt nun einen Anet A8 mit OptiBoot Bootloader, AutoLeveling Funktionalit├Ąt und der bew├Ąhrten Marlin Firmware.

Leave a comment ?

10 Comments.

  1. Super Anleitung, hat prima geklappt.
    Vielen Dank.

    Gru├č
    Matthias

  2. Super Anleitung, vielen Dank.
    Eventuell k├Ânnte man vorher noch die Orginal-Software sichern z.B. mit avrdude.exe -P COM3 -c avrispv2 -p m1284p -U flash:r:orginal.hex:i

  3. Super Idee! Hatte meinen AnetA8 umgebaut und wollte flashen – leider ohne Erfolg.
    Diese Anleitung hat mich auf die richtige Spur gebracht – Danke daf├╝r.
    Leider habe ich noch das Problem, dass bei der neusten Marlin Software (1.1.9) beim Build immer ein Fehler kommt und ich im Netz keinen Hinweis auf die Fehlerursache gefunden habe. Somit kann ich w├Ârdlich nichts flashen.
    Kannst Du bitte den Link f├╝r den Download der Hex-Dateien wieder herstellen?
    Danke und viele Gr├╝├če
    Clemens

  4. Robert Brettschneider

    Der Link geht nicht mehr ÔÇŽ.

  5. der link

    AVRDude f├╝r Windows inkl. 32Bit libusb0.dll
    https://store.shade.sh/avrdude-5.11.zip

  6. Im AVDRDude Ordner sind auch gleich die fertig kompilierten .HEX Dateien der angepassten Marlin Firmware enthalten

    404 Not Found

  7. Wo finde ich bitte die Datei
    Marlin.ino.with_bootloader.sanguino.hex

    Danke, Gerd

  8. Kannst du deine hex dateien nochmal hochladen?

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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