MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

Process to update Anet motherboard to Marlin firmware?


Please Login to Comment

K so I'm thinking abut trying to upgrade my old Anet A8 motherboard to Marlin. I have been looking around on the intertubes and now I'm more confused than ever. Everyone uses a different flavor of Marlin and no one does the update in the same way. Many also seem to leave out important steps.

Can someone help me or direct me to an upgrade posting or video on how to do this? Assume I know nothing (because I don't).



Anet Boards are seriously simple. I'd give my firmware a shot. YouTube video tutorial is listed below as well. It's for the E12, but works the same for the A8, minus the bootloader flashing.

I have started making a Unified Firmware Remix based on TH3Ds firmware. It's still Marlin based (1.1.8+), but is much safer, easier to use, and has extra features and bugfixes built in. It supports multiple printers from the same firmware package. You just have to edit Configuration.h (it tells you what to do), and flash it. SOME boards will require a bootloader to be flashed first (it's actually pretty easy). I made some tutorial videos on my YouTube channel to help out.

I run my own build on both my Anet A8 and Anet E12. Might be worth a look. Stock Marlin has a lot of limitations, and just like custom ROMs for Android, this would be a worthwhile look!

MN-UFR supports the following printers currently

Alfawise U10
CR-10 Mini
CR-10 S4
CR-10 S5
CR-10S Mini
CR-10S S4
CR-10S S5
Anet A2
Anet A6
Anet A8
Anet E10
Anet E12
Ender 2
Ender 3
Tevo Tornado
Lulzbot TAZ5
Wanhao Duplicator i3** (and re-brands)
Wanhao Duplicator i3 Mini (and re-brands)
Wanhao Duplicator D6 (and re-brands)

More background information can be found on TH3Ds firmware page:

theres also the easy route of using marlin-config
it will notate most of what each item does,
just install it and its prerequisites (git and platform io)
then open it, select the first folder offered to you (it will now clone marlin into a marlin folder, if marlin was already cloned it will just open after you select the same folder)
load the a8 example. by draging both of the files in the a8's example folder (after cloning open the folder you selected then navigate marlin>marli>examples>anet>a8) into the app and dropping into the indicated area
this is a working base marlin, just make the changes you want or need.
simply connect the a8 to your computer, if you are using a slicer and its connected to the a8 disconnect it, as only one device may use 1 serial connection at 1 time (thing of serial as a 1 lane street)
now select the anet10 board from the compile menu then click compile and then flash.
once done and no errors occured power cycle the a8.

Thanks. I ran into trouble trying to install platform IO. Says it installed, checking afterwards it says it did not. Kind of stuck there right now.

did you follow these instructions to install platformIO

I just upgraded mine from stock 2 days ago! I was a bit nervous about going through with it, but I found this script on github that made the process smooth as butter. Do have a linux system or a Raspberry Pi?

I ran the script on my octoprint server that's always plugged into the Anet... The upgrade process was about as easy as it gets.

Here's the script:
there's a link in the readme that goes into further detail about the Anet printers.

For me the process went something like this:

clone the git repository
run ./ -s to setup arduino toolchain
run ./ -m to clone the marlin firmware and it's dependencies
override the default Configuration.h and Configuration_adv.h files with the files in example_configurations/Anet/A8/ - I left mine default the first time, but you can look at these and adjust them to your liking.
run ./ -u to build and upload to the Anet board.

This is certainly going to make my future upgrades and firmware tweaks easy as can be. I just edit the config on the Pi and issue the command to update. Three minutes later, the firmware is re-flashed.

I do wish I would have recorded my eeprom settings prior to this process. I think it was something I did to wipe them out, but the printer seems fine and reasonably accurate now, even with the default configs. Even if you mess that up like me, you'll be able to access most of the important settings for tuning and calibration through the panel on the printer once you have the new firmware installed.

I am incredibly pleased with he marlin firmware, there's a few things i still need to tweak, but so far it's performing very nicely.

I know this is an old post, but im about to go down this path myself.
Your post being the stand out for me, I was hoping to ask you a few questions.
Did you run the marlintool on the pi itself?
And what settings did you wish to record from the eeprom? Is it something i should be aware of?

Hi, no worries!

Yes, I ran this marlintool directly from the PI while SSH'd into it from my PC. You can use "git clone" to copy the repository to your pi. There's a link to the configuration header files for the Anet if you look in the readme of the github repository under the "building for Anet hardware" heading.

I needed to do this to add a BLTouch sensor to my printer. I needed to uncomment and tweak a few lines in the header files to enable this. The Pi was invaluable in this process because it allowed me to quickly and easily iterate through several configuration changes to the printer with minimal hassle. Definitely read through all the header files to see what additional features are available. After enabling the touch sensor I also found the section that would enable nozzle cleaning (with an externally mounted wire brush), and enabled that as well. Careful though, the more features you enable, the more program memory it will take and it's possible to get it up to a point where it's too big for the eeprom on the printer controller, although I do believe that this script will warn you if you exceed the maximum ROM size.

Wow, i had been putting it off too until i read this. Tho i did it from my desktop ( installed all the bits on my PI afterward ) this was brain dead easy and painless. Sure, updating firmware is easy and have done that many a time on other boards, but i had a real hard time finding coherent documentation on the files i needed to update ( and with what :) ), and didn't want to end up bricking my board.

the youtube video I used to upgrade to Marlin...

Thanks. I was using that one too but one of the components in it would not install on my laptop and seened to be preventing the process from continuing.

What's not installing?

Comment has been deleted

Just install the Arduino IDE and Marlin and copy the right Anet A8 config files to the main folder... you shouldn't need more than that

I second Alieneila's assertion; I do it that way all day long, for ANet, for Creality, for Voxelab... anything with an 8-bit board built around an Atmel microcontroller. It nearly falls together that way. No need to install any PlatformIO or otherwise complicate anything. Dead simple.