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.

I have an older A8 and would like to update the firmware. However, every source I've looked at seems to quickly slide into techie jargon that is way (I think) over my head. Is there a recent source for update instructions written (not a video person) in plain English?

I like the idea of what seems to be a very simple approach described in alieneila's post, above, but don't have a clue of what steps to actually take. Like what's Arduino IDE? What are the correct Anet A8 config files? Where's the main folder - on my PC or on the Anet motherboard? Oh yeah. I could go on and on :(

To be clear, I'm not a total luddite (used to be pretty competent with MS-DOS, writing DbIII applications, updating software, etc.) but I've been primarily working in the hardware arena with my 3d printer.

I miss MSDOS! The last version I used was 4.01, if I recall correctly. I'm told that it persists on out there as a clone. I loved PCTools, too. Better than Norton Commander. 8)

Before we go any further... do you really have an excellent reason for updating the firmware in your A8? Starting from an MSDOS / DB3 position... there are some hurdles and I'd like to be sort of sure that you really have an excellent reason for embarking on an adventure like this one. What version of firmware are you running now? ANet firmware? Marlin? Which version/revision/build?

Also... which version of the board do you have in that A8? The V1.7 board (prominent glass fuse in front near the power supply connections) or the earlier board (no glass fuse)? Do you know if its firmware has ever been updated before? If not, the job is much tougher and involves a new word for your vocabulary: "bootloader". Without jumping through some hoops, it's impossible to update the firmware without installing a bootloader first. Good news: if the firmware has BEEN updated already, then there's already a bootloader in place and your task is much, much easier.

Now... the Arduino IDE. The "IDE" part stands for Integrated Development Environment, and it just means that there's a program for that. 8) I'm sure that by now you've been introduced, if only in passing, to the presence of Arduinos in our environment. They're kinda' cool little ultra-simple single-board computers. Technically they function by virtue of microcontrollers, though, instead of microprocessors. That means that they're better with their hands than they are with their heads - they work well for procedurally controlling various sorts of hardware. They aren't floating-point number crunchers.

Until I hear back on those questions ^^^ I'll pause here.

If necessary... and if you're REALLY SURE you need to update your firmware... I'm ready to walk you all the way through the process. This may or may not be the best venue - we may end up taking the conversation to FaceBook Messenger or email or something.

Oh. Yes. Which OS do you use regularly? Are you a Windows peep or a Linux peep or an Apple peep or a phone-only peep?

OK, I'll start with the easy ones. Why to update firmware? Well, first, based on comments I've seen on various sites, my current firmware is probably out of date and lacks safety features contained in newer versions. Apparently, if I continue as-is I will end up engulfed in flames and experience a fiery demise. Second, I sometimes read posts about certain features my printer should have, and when I explain that my printer doesn't seem to have those features (and won't do whatever it is I'm supposed to have it do), I'm informed that my firmware is out of date and to update it is a piece of cake.

What firmware to I have? Beats me. I purchased my A8 in December 2018 but have no idea how long it may have sat on the shelf. Apparently, I'm supposed to see a screen shot showing the firmware version on the LCD on bootup - but I don't. Every time I've Googled how to determine what firmware brand/version I have, all I get are links to videos on how to update it.

What motherboard? Not sure. I can't locate any fuse on the board. Attached is a photo. Is the "ANET 30" in the upper left corner of the board an indication of the board version?

OK. You have an ANet Melzi V1.0 board. There are two red ANet boards, the V1.0 and the V1.7. The 1.7 has the fuse, the V1.0 is the one that wrongly became famous for printer fires.

Side note: those fires were actually always exceedingly rare but spectacularized in the news. In the real world, thermal runaways are rare events and don't result in massive destruction unless you're in the practice of draping your curtains across the printer while it prints. A real-world thermal runaway wrecks the hotend and then all the excitement is done.

Your firmware version is... I'm not even sure what version it is. ANet is tight-lipped about that. They're very open about the firmware for their ETxxx printers, but not so much for the A8xxx ones. At any rate, it's a pretty fair bet that your A8 has an ANet-specific subset of Marlin 1.0 running on it, which means that you probably WILL benefit from bumping up a little. Maybe not all the way up to current, since that's full of BS features that you absolutely do NOT need... and certainly not Marlin, which contains a bug for ANet boards. Marlin 1.1.x should be great for your printer, though. That's what I run on my A8 Plus; I have no interest in updating to any later version for it because it will never have a BLTouch (or equivalent) sensor - I refuse to have any of those troublesome, valueless things in my shop.

To save myself a lot of typing... 8) This is actually a pretty good guide to updating the firmware on a V1.0 board:

BUT... skip over the section that talks about an adapter. You don't need that unless your board needs a bootloader (it may not), in which case you can do the same exact thing with a five-dollar (Amazon) Arduino, which can be a fun thing to play with after your firmware is all finished.

IF... you do NOT have a bootloader, then following all the rest of the instructions on that page will get you finished but won't complete the last crucial step... and will leave the firmware in your printer completely untouched. You CANNOT hurt anything about your printer with it UNLESS you have a bootloader. The bootloader's job is to manage firmware updates, and you can't touch the firmware without one. Except by trickery. 8)

So... try following all the steps on that page EXCEPT the ones involving the adapter and the ones involving the bootloader. It cannot possibly hurt to try. If you brickwall at the "Upload" part (meaning you have no bootloader yet), I'll be glad to help you get past that with a cheap Arduino. If... you brickwall at any earlier spot, let me know and I'll help you get past it and on to the next step. With luck, you won't brickwall at all - your update will work smoothly and you'll have new firmware in your printer by suppertime. 8)

Woah, I've got some reading to do. Appreciate the info. I'll be back ........


We'll be here. 8)

It ain't as bad as it looks. You'll enjoy it... and you'll learn a lot.

I'm still here and upgrade is still pending. Just have some print jobs in the que and want to get them finished before potentially turning my mother board into a brick. I'll be back ........

Oh, ye of little faith. 8)

We'll be here, popcorn in hand. 8)