{"id":1927,"date":"2018-07-18T22:26:51","date_gmt":"2018-07-18T20:26:51","guid":{"rendered":"https:\/\/blog.shade.sh\/?p=1927"},"modified":"2022-01-21T15:56:40","modified_gmt":"2022-01-21T14:56:40","slug":"anet-a8-board-version-1-5-und-marlin-firmware","status":"publish","type":"post","link":"https:\/\/blog.shade.sh\/index.php\/archive\/1927","title":{"rendered":"Anet A8 Board Version 1.5 und Marlin Firmware"},"content":{"rendered":"<p>Falls jemand auch in den &#8220;Genuss&#8221; kam einen Anet A8 Drucker zu erwerben, welcher Out of the Box keine Sicherheitsfunktionen wie &#8220;Thermal Runaway&#8221; 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\u00dfer Bootloader zu sein.<\/p>\n<p>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 \u00fcbergegangen, das ganze mit einem ISP Programmer zu erledigen. Was anfangs auch nicht ganz einfach war, ich komme nicht aus der Microcontroller Welt ,)<\/p>\n<p><!--more--><\/p>\n<p>Um es kurz zu halten, ich habe es mit folgendem Werkzeug erledigt:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.amazon.de\/dp\/B0068M158K\/ref=cm_sw_em_r_mt_dp_U_yK5tBbTARRYV0\">USB ISP<\/a><\/li>\n<li><a href=\"https:\/\/www.amazon.de\/dp\/B00NBO4F76\/ref=cm_sw_em_r_mt_dp_U_iP5tBbJ01NXP7\">Jumperkabel Female\/Female<\/a><\/li>\n<\/ul>\n<p>Mit einem Arduino Nano als AVRISP hab ich es nicht geschafft, ich vermute es lang an der Stromversorgung, welche nicht \u00fcber den Arduino laufen sollte. Mit dem oben verlinkten USB ISP auf 3.3v gestellt klappt es auf Anhieb super. Nein, das sind <em>keine\u00a0Affiliate Links<\/em>, ich habe damit nur gute Erfahrung gemacht.<\/p>\n<p>Installiert euch am besten ein virtuelles Windows 10, denn es werden Treiber und div. Software ben\u00f6tigt, die man sonst eigentlich nicht im t\u00e4glichen Leben ben\u00f6tigt.<\/p>\n<p>Folgende Software wird ben\u00f6tigt:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.microsoft.com\/de-de\/software-download\/windows10\">Windows 10<\/a> (Geht sicher auch unter MacOS \/ Linux, Treiber sind ein Thema)<\/li>\n<li><a href=\"https:\/\/www.arduino.cc\/download_handler.php?f=\/arduino-1.8.5-windows.exe\">Arduino IDE<\/a> (Zum jetzigen Stand Version 1.8.5<\/li>\n<li><del>AVRDude f\u00fcr Windows inkl. 32Bit libusb0.dll<\/del> <a href=\"https:\/\/s.shade.sh\/librarys.zip\">N\u00f6tige Librarys<\/a><\/li>\n<li><em>Optional<\/em>: <del>Marlin Firmware 1.1.8<\/del><\/li>\n<li><em>Optional<\/em>: <del>Treiber f\u00fcr den USB ISP unter Windows 7\/8 &#8211; Windows 10 ben\u00f6tigt keinen Treiber<\/del><\/li>\n<\/ul>\n<p>Das Softwarepaket hab ich euch geschn\u00fcrt, ihr m\u00fcsst es quasi nur Runterladen und entpacken. Im AVDRDude Ordner sind auch gleich die fertig kompilierten .HEX Dateien der angepassten Marlin Firmware enthalten.<\/p>\n<p>Als n\u00e4chstes bitte den USB ISP mit folgenden DIP Schalter Einstellungen versehen:<img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1929\" src=\"https:\/\/blog.shade.sh\/wp-content\/uploads\/2018\/07\/spannung.png\" alt=\"\" width=\"2224\" height=\"310\" \/><\/p>\n<p>Dann das verkabeln des Mainboards mit dem USB ISP erfolgt mit 6 Jumper Kabel (Alternativ auch einem 6 poligem Flachbandkabel, ich bevorzuge jedoch Jumperkabel.\u00a0Das Schema des USB ISP ist wie folgt:<img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1930\" src=\"https:\/\/blog.shade.sh\/wp-content\/uploads\/2018\/07\/cabeling.png\" alt=\"\" width=\"230\" height=\"167\" \/><\/p>\n<p>Das Schema des Anet A8 Mainboards:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1931\" src=\"https:\/\/blog.shade.sh\/wp-content\/uploads\/2018\/07\/0c3afeb53834f3ed925506eb2e3f68eefd89c762.jpg\" alt=\"\" width=\"364\" height=\"347\" \/><\/p>\n<p>Nach dem verkabeln solltet ihr das ganze nun an euren Rechner anschlie\u00dfen. Der USB ISP sollte nun gr\u00fcn leuchten und zu beginn kurz rot blinken. Ein Test, ob alles korrekt verkabelt ist k\u00f6nnte nun sein:<\/p>\n<pre class=\"lang:batch decode:true \">avrdude.exe -P COM3 -p m1284p -c avrispv2 -v -v -v -n<\/pre>\n<p>Hierbei euren COM Port bitte entsprechend anpassen! Die Ausgabe sollte etwas sein wie:<\/p>\n<pre class=\"lang:batch decode:true\">avrdude.exe: Version 5.11, compiled on Aug 30 2011 at 10:24:06\n             Copyright (c) 2000-2005 Brian Dean, http:\/\/www.bdmicro.com\/\n             Copyright (c) 2007-2009 Joerg Wunsch\n\n             System wide configuration file is \"C:\\Users\\shade\\Downloads\\avrdude-5.11\\avrdude.conf\"\n\n             Using Port                    : COM5\n             Using Programmer              : avrispv2\navrdude.exe: stk500v2_getsync(): found STK500 programmer\n             AVR Part                      : ATMEGA1284P\n             Chip Erase delay              : 9000 us\n             PAGEL                         : PD7\n             BS2                           : PA0\n             RESET disposition             : dedicated\n             RETRY pulse                   : SCK\n             serial program mode           : yes\n             parallel program mode         : yes\n             Timeout                       : 200\n             StabDelay                     : 100\n             CmdexeDelay                   : 25\n             SyncLoops                     : 32\n             ByteDelay                     : 0\n             PollIndex                     : 3\n             PollValue                     : 0x53\n             Memory Detail                 :\n\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00\n\n             Programmer Type : STK500V2\n             Description     : Atmel AVR ISP V2\n             Programmer Model: STK500\n             Hardware Version: 10\n             Firmware Version Master : 2.10\navrdude.exe: stk500v2_command(): command failed\navrdude.exe: stk500v2_getparm(): failed to get parameter 0x9a\n             Topcard         : Unknown\n             Vtarget         : 3.3 V\n             SCK period      : 2.2 us\n             Varef           : 3.3 V\n             Oscillator      : Off\n\navrdude.exe: AVR device initialized and ready to accept instructions\n\nReading | ################################################## | 100% 0.01s\n\navrdude.exe: Device signature = 0x1e9705\navrdude.exe: safemode read 1, lfuse value: d6\navrdude.exe: safemode read 2, lfuse value: d6\navrdude.exe: safemode read 3, lfuse value: d6\navrdude.exe: safemode: lfuse reads as D6\navrdude.exe: safemode read 1, hfuse value: de\navrdude.exe: safemode read 2, hfuse value: de\navrdude.exe: safemode read 3, hfuse value: de\navrdude.exe: safemode: hfuse reads as DE\navrdude.exe: safemode read 1, efuse value: fd\navrdude.exe: safemode read 2, efuse value: fd\navrdude.exe: safemode read 3, efuse value: fd\navrdude.exe: safemode: efuse reads as FD\n\navrdude.exe: safemode read 1, lfuse value: d6\navrdude.exe: safemode read 2, lfuse value: d6\navrdude.exe: safemode read 3, lfuse value: d6\navrdude.exe: safemode: lfuse reads as D6\navrdude.exe: safemode read 1, hfuse value: de\navrdude.exe: safemode read 2, hfuse value: de\navrdude.exe: safemode read 3, hfuse value: de\navrdude.exe: safemode: hfuse reads as DE\navrdude.exe: safemode read 1, efuse value: fd\navrdude.exe: safemode read 2, efuse value: fd\navrdude.exe: safemode read 3, efuse value: fd\navrdude.exe: safemode: efuse reads as FD\navrdude.exe: safemode: Fuses OK\n\navrdude.exe done.  Thank you.<\/pre>\n<p>Falls der Output nicht mit einem<\/p>\n<pre class=\"lang:default decode:true \">avrdude.exe: stk500_getsync(): not in sync: resp=0x67<\/pre>\n<p>oder etwa:<\/p>\n<pre class=\"lang:default decode:true \">avrdude.exe: Device signature = 0x000000\navrdude.exe: Yikes!  Invalid device signature.\n             Double check connections and try again, or use -F to override\n             this check.\n\n\navrdude.exe done.  Thank you.<\/pre>\n<p>endet, habt ihr alles korrekt verkabelt und eingestellt. Falls einer der obigen Fehler auftritt, ist es mei\u00dftens ein Problem mit der Spannungsversorgung oder eine falsche Verkabelung.<\/p>\n<p>Ihr k\u00f6nnt 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:<\/p>\n<pre class=\"lang:default decode:true \">avrdude.exe -P COM3 -p m1284p -c avrispv2 -Uflash:w:Marlin.ino.with_bootloader.sanguino.hex:i<\/pre>\n<p>Ausgabe sollte dann in etwa sein:<\/p>\n<pre class=\"lang:default decode:true\">avrdude.exe: Version 5.11, compiled on Aug 30 2011 at 10:24:06\n             Copyright (c) 2000-2005 Brian Dean, http:\/\/www.bdmicro.com\/\n             Copyright (c) 2007-2009 Joerg Wunsch\n\n             System wide configuration file is \"C:\\Users\\shade\\Downloads\\avrdude-5.11\\avrdude.conf\"\n\n             Using Port                    : COM5\n             Using Programmer              : avrispv2\n             AVR Part                      : ATMEGA1284P\n             Chip Erase delay              : 9000 us\n             PAGEL                         : PD7\n             BS2                           : PA0\n             RESET disposition             : dedicated\n             RETRY pulse                   : SCK\n             serial program mode           : yes\n             parallel program mode         : yes\n             Timeout                       : 200\n             StabDelay                     : 100\n             CmdexeDelay                   : 25\n             SyncLoops                     : 32\n             ByteDelay                     : 0\n             PollIndex                     : 3\n             PollValue                     : 0x53\n             Memory Detail                 :\n\n                                      Block Poll               Page                       Polled\n               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack\n               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------\n               eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff\n               flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff\n               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00\n               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00\n               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00\n\n             Programmer Type : STK500V2\n             Description     : Atmel AVR ISP V2\n             Programmer Model: STK500\n             Hardware Version: 10\n             Firmware Version Master : 2.10\navrdude.exe: stk500v2_command(): command failed\navrdude.exe: stk500v2_getparm(): failed to get parameter 0x9a\n             Topcard         : Unknown\n             Vtarget         : 3.3 V\n             SCK period      : 2.2 us\n             Varef           : 3.3 V\n             Oscillator      : Off\n\navrdude.exe: AVR device initialized and ready to accept instructions\n\nReading | ################################################## | 100% 0.00s\n\navrdude.exe: Device signature = 0x1e9705\navrdude.exe: safemode: lfuse reads as D6\navrdude.exe: safemode: hfuse reads as DE\navrdude.exe: safemode: efuse reads as FD\navrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed\n             To disable this feature, specify the -D option.\navrdude.exe: erasing chip\navrdude.exe: reading input file \"Marlin.ino.with_bootloader.sanguino.hex\"\navrdude.exe: writing flash (130556 bytes):\n\nWriting | ################################################## | 100% 45.22s\n\navrdude.exe: 130556 bytes of flash written\navrdude.exe: verifying flash memory against Marlin.ino.with_bootloader.sanguino.hex:\navrdude.exe: load data flash data from input file Marlin.ino.with_bootloader.sanguino.hex:\navrdude.exe: input file Marlin.ino.with_bootloader.sanguino.hex contains 130556 bytes\navrdude.exe: reading on-chip flash data:\n\nReading | ################################################## | 100% 47.58s\n\navrdude.exe: verifying ...\navrdude.exe: 130556 bytes of flash verified\n\navrdude.exe: safemode: lfuse reads as D6\navrdude.exe: safemode: hfuse reads as DE\navrdude.exe: safemode: efuse reads as FD\navrdude.exe: safemode: Fuses OK\n\navrdude.exe done.  Thank you.<\/pre>\n<p>Thats it, ihr habt nun einen Anet A8 mit OptiBoot Bootloader, AutoLeveling Funktionalit\u00e4t und der bew\u00e4hrten Marlin Firmware.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Falls jemand auch in den &#8220;Genuss&#8221; kam einen Anet A8 Drucker zu erwerben, welcher Out of the Box keine Sicherheitsfunktionen wie &#8220;Thermal Runaway&#8221; etc besitzt. Dem sei gesagt, wenn ihr eine Mainboard Revision 1_5 (1.5) habt, ist es gar nicht &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/blog.shade.sh\/index.php\/archive\/1927\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[391,1,132,256,32],"tags":[392,394,396,393,395],"class_list":["post-1927","post","type-post","status-publish","format-standard","hentry","category-3d-printing","category-allgemein","category-downloads","category-erfahrungsbericht","category-fun","tag-anet-a8","tag-avrdude","tag-bootloader","tag-marlin","tag-usb-isp"],"_links":{"self":[{"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/posts\/1927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/comments?post=1927"}],"version-history":[{"count":7,"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/posts\/1927\/revisions"}],"predecessor-version":[{"id":2079,"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/posts\/1927\/revisions\/2079"}],"wp:attachment":[{"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/media?parent=1927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/categories?post=1927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.shade.sh\/index.php\/wp-json\/wp\/v2\/tags?post=1927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}