Anet A8 Plus with Marlin 2.0

It’s a pain searching for Anet A8 Plus, but I got my Anet A8 Plus equipped with the latest Marlin firmware the bugfix-2.0.x version to be precise.

  1. Download the latest Arduino IDE
  2. Download the Anet A8 board definition
  3. Follow the readme (i.e. place it in My Documents\Arduino\hardware)
  4. Download the latest Marlin 2.0 firmware
  5. Extract the downloaded archive
  6. Navigate to \config\examples\Anet\A8plus
  7. Copy both files to \Marlin
  8. Open \Marlin\Marlin.ino
  9. Click “Verify/Build” (you might see some warnings)
  10. If this throws an error like:
    u8glib.h: No such file or directory
    1. Sketch > Include Library > Manage libraries
    2. Wait for download to finish
    3. In the “Filter your search” box, type “u8glib”.
    4. Scroll down until you see “U8glib by oliver”. Click on it.
    5. Click “Install”
    6. Wait for installation to finish
    7. Click “Close”
    8. Click “Verify/Build” again to retry
  11. Connect the Anet A8 Plus to your computer
  12. Click “Upload”
  13. Voila your Anet A8 Plus is now equipped with Marlin 2.0

38 thoughts on “Anet A8 Plus with Marlin 2.0”

  1. When I try to verify before upload on Anet A8 Plus in Marlin 2.0 bugfix, I get an error fail to compile for Anet A8 Version 1.0 board.
    What programmer should be used (AVR ISP MkII) or something else. Do I need to use the Optiboot 1.0 board version.

  2. Hey Tom i got allways erros like missing libary by token and if i put // behind the if there is coming other erros.. i get frustrating about the config files

    1. Hey Celil, do you have some console output of the error? I’m going to record a video on how to compile and upload Marlin soon might be of help too

  3. i had to disable a few things to get it on the board due to lack of memory but seems to work well now

    1. Hey Steve that’s quite strange since I didn’t have to disable anything and still had quite some space left, looking into adding an auto bed leveling sensor soon which I reckon will still fit within the Anet 1.7 board, as it also fit on the older revision on my classic Anet A8.

  4. Hi Tom:
    After you home all axis, where does your X axis sit at, mine sits at -26. That isn’t anywhere near being over the bed before the Z axis comes down to the bed. Why would this be.

    1. To prevent smashing into the glass bed I think, and to keep oozing of the nozzle off too the side and not somewhere on the build plate.

      You could adjust it, but I rather like the feature.

  5. Hey Tom,

    I have been having issues with my Anet A8 Plus (not been modified with any hardware or firmware). When I try to set the temperature of the nozzel to i.e 30C it increases dramatically to 40C. I have replaced my thermostat 3 times, still same issue. I have had prints before but after 2 weeks it started to have this issue. I figured the thermostat is functioning correctly so I tried to upgrade the firmware since lots of people have found that helpful. I just upgraded to 2.0 Marlin and I still have the same issue, any thoughts? If you can help me get this straightened out, I will pay you my man. Thank you.

    1. Hey Hussein,

      Does it overshoot (i.e. eventually comes back to 30C) or keep increasing beyond 40C? Does the display show the target temp as 30C and the current temp as 40C?
      Do you have Octoprint running? If not try so and check the temperature graph, I’m interested to see how the temperature develops.

    2. Hey Tom,

      Sorry I have not replied in a while. Tom my printer will enventually come back to its set temperature, but it takes a couple of minutes to do so. The current temperature is higher than the set temperature.
      *UPDATE:
      I was able to update the 1.7 board with Marlin, still nothing. So I looked into other discussions online and I saw that the MOFSET might have been the issue. So I brought a new board to replace the on board MOFSET. I then installed Marlin again on the new board, and still showing the same issue. I am not sure what the Octoprint is nor how to check the temperature graph. Much appreciated.

  6. Hello again Tom, and thank you for your last response. Im wondering if I install marlin on my anet A8 plus , following your tutorial , I can get the manual leveling feature, like in this video:
    https://youtu.be/88YTA1Pgv54

    It is because it’s a nightmare to calibrate the bed , because the 8mm rods bends. Or probably my bed is bended, I don’t know.
    Thanks in advance , and thanks for your great post about this printer , regards

  7. in arduino , I have to choose board “anet 1.0” or “anet 1.0 (optiboot) ??

    I dont have a programmer , I want to upload firmware just connected via USB to printer.

    A video doing all process sure will help to many users , If you can do I will be very thanksfull

  8. Hi Tom,
    I want to upgrade my Anet A8 Plus with Marlin 2.0. as you desribed here. But as I understand I need to burn the new bootloader first for the Optiboot option? If so, that’s a “big” extra step to consider and it’s not mentionned in your opening post, so I’m a bit confused. Can you clear this out?
    Thanx and cheers,
    Roel

  9. oops, I figured it out myself. I just followed your steps without burning the optiboot bootloader. But in the Arduino IDE I just choose: /tools/boards/Anet V1 (optiboot)
    Everything seems OK now, I see “Marlin bugfix 2.0” in the startup screen on the LCD of my printer.
    The confusion comes from the readme file from the “Anet Board Master folder”. It says that the optiboot function is recommended but you can only use it by burning the optiboot bootloader.

    1. I forgot to say that the bootloader size has to be subtracted from the 128k. I don’t remember what it is, it is between 2 & 4 k max

  10. Hi Tom, after succesfull installed marlin 2.0 in my anet A8 plus, i do some modifications to get extra features and now its it imposible to comunicate with board. Can you help me ? I follow the same exact steps but dont work. here its the errors:

    Arduino:1.8.9 (Windows 10), Tarjeta:”Anet V1.0 (Optiboot)”

    El Sketch usa 123706 bytes (95%) del espacio de almacenamiento de programa. El máximo es 130048 bytes.
    Variables globales usan 5250 bytes de memoria dinamica.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x60
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x60

    1. I’m not sure but I’ve switched to a shorter USB cable since I occasionally ran into getsync() errors, a 10 out of 10 failure would suggest something else but I’m not quite sure what.

    2. This is because the board has only 128k of flash memry and the extra features take additional space going beyond this limit. The solution is to try to drop some features that you don’t really need like bootscreen,….

    3. This is true as well as the bootloader size being part of the total available space, check de Verify results in Arduino IDE before trying to upload it! Save you a lot of head aches!

  11. Once marlin is installed I can get communication with board anymore , do I need an Arduino and flash bootloader for make changes in marlin 2.0 and upload again ? Is the process of your post actually delete boot loader ?

    1. No there’s no removing or burning of bootloader part of the process I described, does Marlin boot on your printer?

    1. mine after that is bricked, no image on display…do I have to order a new board ?

    1. all its ok, is the same cable and options that I used the first time I do the process succesful , but this time I want to reflash again with advanced pause activated

  12. Hello friends, I restored bootloader with an USBASP and all goes well, my board can boot again, and then I did a little modification to marlin acording to my needs: like change filament feature, adjust acceleration and jerks, preheating temperatures, change language, etc etc , If you like I can upload files for other users. Thanks for your information Tom.

    1. That’s great to hear, can you provide the steps for restoring a broken bootloader? I hope to never need it but it would be great as reference!

  13. I flashed the bootloader using an USBASP programmer , selected in programmer section, and choose anet optiboot in board. then press burn bootloader. thats all. After that you can upload marlin as usual.

    For the USBASP you need an adapter from 10 pin to 6 pin, and connect to board in J3 port, the red section of the cable un lower part, and you have to leave free 2 pins up and two pins down, so the connector was plugged centered.

    look at picture:
    https://ibb.co/Bgw1gfS

    also I upload my marlin configured with advanced pause feature an some changes. just put this files into your marlin folder, if ask for overwritte press yes.

    https://anonfile.com/K5ya0b34n6/Marlin_zip

    Regards,
    danimod.

Leave a Reply

Your email address will not be published. Required fields are marked *

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