Anet A8 – Marlin Firmware

On my Anet A8 I’m going to be making some hardware changes, installing a E3D v6 hot end and auto level sensor, and for those changes to work I will need to install a new firmware on the Anet main board.  While doing research I couldn’t really find a concise guide for everything involved with installing the Marlin firmware, so I put this together to help me in the future.

  • Installing Arduino Desktop IDE
    • If you do not have the Arduino Desktop IDE installed, you need to download it and install it for your platform.  At the time of this writing the latest version is 1.8.5 and it works on Windows, Mac, and Linux.
    • It can be found on under the Software section.  Download and install the Arduino Desktop IDE.
    • You can use the guide, Install the Arduino Desktop IDE, on  for whatever platform you are on.
  • Finding the Arduino hardware directory
    • On Windows you need to open Documents and then open the Arduino directory.  In the Arduino directory there should be a hardware sub-directory; if not, then you need to create it.
    • On Linux it would be ~/Arduino/hardware.
  • Copying Anet V1.0 board definition to Arduino hardware directory.
    • After finding the hardware directory, you need to download and install the Anet A8 board definition (Anet V1.0); this enables the Arduino Desktop IDE to compile firmware for the Anet 3D printers, like the Marlin firmware.
    • The board definition can be found in the SkyNet3D github,  you can download the zip file or use git to clone the repository.
    • Once the files have been extracted, there should be a sub-directory called anet, this directory needs to be moved to your Arduino hardware directory from step 2.
  • (Isn’t Required)Updating the bootloader to Optiboot.
    • The benefits are that the 3D printer will boot faster and the bootloader takes up less program storage space, so there is more room for the Marlin firmware (which it doesn’t need).
    • To me these steps are overly complicated for a little benefit, but maybe one day you will need to re-flash the bootloader and you may as well use Optiboot.
    • I used a USBasp to flash the bootloader:
      • Setup the USBasp driver for Windows
        • plug in USBasp
        • Download Zadig from
        • Start zadig
        • Options > List all devices
        • Select USBasp from drop down menu
        • Select libusbK(v3.0.7.0) driver
        • Click install
    • While the Anet main board has a 10-pin connector (J3) it actually uses a 6-pin ISCP pinout, so the USBasp can not be connected directly to the main board.
      • Below is a picture of the Anet main board with the programming connector circled, it is next to the LCD connector.anet-mainboard
      • Pin layout:


      • USBasp connected to the Anet main board:


    • Next you can test the connection of the USBasp to the Anet main board by using AVRDUDE:
      • On Windows AVRDUDE can be found in the Arduino install directory under hardware\tools\avr\bin\.
        • C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\
      • Open a command prompt and run the command:
        • .\avrdude.exe -C ..\etc\avrdude.conf -c usbasp -b 19200 -p atmega1284p -v
      • There shouldn’t be any errors and should list information about the Anet main board if the connection is successful.
      • More on AVRDUDE can be found on Adafruit:
    • Use the Arduino IDE to burn bootloader
      • Under Tools set the Board to Anet V1.0 (Optiboot)
      • Set programmer to USBasp
      • Next select Burn Bootloader


    • To go back to original bootloader, set Board to Anet V1.0.  Then select Burn Bootloader.
  • Now download the Marlin firmware, you can get the latest release from the Marlin Github.  At time of writing version 1.1.6 is latest release.
    • Extract the firmware
  • Marlin Configuration Files
    • The example firmware configuration for the Anet A8 is a good place to start and will work if you had not made any major changes to your Anet A8.
    • The example configuration can be found in the Marlin\example_configurations\Anet\A8\
    • Copy the Configuration.h and Configuration_adv.h to the main Marlin directory, overriding the default ones.
    • The Marlin configuration documentation has all the information you need to know on the files if you want to make any changes:
  • Upload the firmware to the Anet A8:
    • Plug the Anet A8 USB cable into your computer
    • In the Marlin directory open the Marlin.ino file in the Arduino IDE.
    • In the Tools menu select the correct Anet board, either Anet V1.0 or Anet V1.0 (Optiboot).
    • In the Tools menu select the correct Port.
    • Compile the firmware, click on the Verify icon.
    • To upload the firmware to the Anet A8, click on the Upload icon.

One thought on “Anet A8 – Marlin Firmware

  1. Tymo

    Thank you! You are very right – it is the first time somebody describes this procedure in so clear way!
    BTW – without bootloader writing I cannot do the Marlin installation.
    Once again thank you!



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s