Anet A8 Plus upgrade to Marlin 2.0.x

I really wanted to upgrade my Anet A8 Plus with a bed leveling sensor, unfortunately I was not able to find the source code for the firmware stock firmware used.

UPDATED: Some is now available here: ANET 3D Firmware

  1. Download and install the latest Arduino IDE
    1. NOTE: I used 1.8.10, You can always download an older version, if needed.
  2. Download the Anet A8 board definition
  3. Extract the Anet A8 board definition
  4. From the extracted Anet A8 board definition copy the Arduino\Hardware folder to the Arduino installed location (Default: C:\Program Files (x86)\Arduino)
  5. Download the latest Marlin 2.x.x firmware
  6. Extract the Marlin firmware
  7. From the extracted Marlin firmware copy \Config\Examples\Anet\A8plus to the \Marlin\ folder (same location as Marlin.ino)
  8. Connect USB to your Anet motherboard
  9. Open the installed Arduino IDE
  10. Download and Install u8glib by oliver
    1. Click Sketch -> Include Library, Click Manage libraries
    2. Search U8glib – MAKE SURE TO SELECT TO CORRECT ONE! – U8Glib by oliver,
    3. Click Install
    4. Click Close
  11. Click Tools -> Board, Select Anet 1.0 (Optiboot)
    1. NOTE: Small and Fast Bootloader for Arduino and other Atmel AVR chips
  12. Click Port, Select the assigned COM port
    1. NOTE: If you want to check if your connected, Click Tools -> Get Board info. This will return information about the board, if your connected.
  13. Find the line in the Configuration.h: #define ANET_FULL_GRAPHICS_LCD
  14. comment it out like this: //#define ANET_FULL_GRAPHICS_LCD
  15. Find the line: //#define CR10_STOCKDISPLAY
  16. Uncomment it like this: #define CR10_STOCKDISPLAY
  17. Find the line: #define ENDSTOP_INTERRUPTS_FEATURE
  18. comment like this: //#define ENDSTOP_INTERRUPTS_FEATURE
    1. NOTE: The update and consolidation of TMC support into the TMCStepper the library has made the ENDSTOP_INTERRUPTS feature incompatible with TMC drivers, until a workaround can be found.
  19. Now you’re ready to upload the firmware, or add/remove features needed

The Anet V.1.7 board comes with a limited flash ROM (128k – 131,072 and thats including the bootloader). This will not all you to pick all features and add them.

Should you by accident (like me) put a too large firmware or corrupt the bootloader, you will need a USBasp and a 10-to-6 poled adapter.

If You see the following error, flash the bootloader using USBAsp, your sketch is properly too big.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x60

I recommend you to review and edit you own configuration files, but for sample purposes here are mine: [download id=”931″]