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
- Download and install the latest Arduino IDE
- NOTE: I used 1.8.10, You can always download an older version, if needed.
- Download the Anet A8 board definition
- Extract the Anet A8 board definition
- From the extracted Anet A8 board definition copy the Arduino\Hardware folder to the Arduino installed location (Default: C:\Program Files (x86)\Arduino)
- Download the latest Marlin 2.x.x firmware
- Extract the Marlin firmware
- From the extracted Marlin firmware copy \Config\Examples\Anet\A8plus to the \Marlin\ folder (same location as Marlin.ino)
- Connect USB to your Anet motherboard
- Open the installed Arduino IDE
- Download and Install u8glib by oliver
- Click Sketch -> Include Library, Click Manage libraries
- Search U8glib – MAKE SURE TO SELECT TO CORRECT ONE! – U8Glib by oliver,
- Click Install
- Click Close
- Click Tools -> Board, Select Anet 1.0 (Optiboot)
- NOTE: Small and Fast Bootloader for Arduino and other Atmel AVR chips
- Click Port, Select the assigned COM port
- NOTE: If you want to check if your connected, Click Tools -> Get Board info. This will return information about the board, if your connected.
- Find the line in the Configuration.h: #define ANET_FULL_GRAPHICS_LCD
- comment it out like this: //#define ANET_FULL_GRAPHICS_LCD
- Find the line: //#define CR10_STOCKDISPLAY
- Uncomment it like this: #define CR10_STOCKDISPLAY
- Find the line: #define ENDSTOP_INTERRUPTS_FEATURE
- comment like this: //#define ENDSTOP_INTERRUPTS_FEATURE
- 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.
- 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: