Articles, Blog

Unbricking Anet A8 Controller With USB Programmer

September 1, 2019

Ok so I’ve managed to brick the controller
on the Anet A8. And I got myself a device to un-brick it. I’ll just go to my Ebay and show you want
I bought. I bought two. So I think it’s this one here. I bought this one here and it wasn’t particularly
good. You can see it’s a ISP ASP programmer. Ok what I’m going to do is flash the original
bootware on this, and the way you do that is by going to the IDE which comes with the
firmware. The only problem is this one here doesn’t
have the right settings in the board or the programme, so I’m going to open up Skynet
V 2.3.2. I’ve got Arduino 1.8.0 – I open this up. You can see in the board section it says Anet
V1.0 and the programmer is set to USBasp. Now what I can do with this, is plug the ASP
in. You want to make sure you put the 6 pin connector
in the right way around. Make sure you look at the diagram and the
images on the trouble shooting section of the firmware. It’s very simple. You press Burn Bootloader and that’s the script
there. The next thing you want to do is go to the
documentation folder, firmware reset, and open the AVRdudess. Change that to USBasp, change the port to
USB, the MCU’s going to change to ATmega1284p. You’re going to open firmwarwe with the auto-level
(if you have a levelling sensor) and press go. And
that should write that next file onto the. Ok so I’m back to the factory reset. That’s a relief. I can actually see some information now on
the blue display panel, before all I had was two white lines. Ok so that’s how you unbrick the controller
board on the Anet A8. Ok so I tried to update the firmware using
the IDE that come in the folder with Skynet v 2.3.2 and I was getting some error messages. I copied them down. This is what they looked like. Essentially this was the error message which
attempts to kind of place the firmware onto the controller wasn’t working. I don’t know if unbricking the device did
something to some of the settings – I’m not fluent enough with this to identify. I made a load of changes to the configuration.h
file on what I read and watch, and I figured out a way of getting around that problem by
using ASP unbricking device that I bought. This time by creating a hex file. So you want to make sure you put a configuration
file into the folder containing the skynet arduino files. I modified one myself and the gist of it is
on screen now. Then what I did was created a hex file and
to do that you press export compiled binary. And it dumps that in the folder with the rest
of the firmware information that you’re sourcing from. So once that’s done I’ll show you. It’s compiled a sketch. Essentially what you do when you’re adjusting
the configuration file, is you make a change, you save it. I was working on Notepad ++ and you go into
arduino IDE and verify it and see if you get any error messages. And generally if you’ve missed a step or something
is clashing, something will be flagged up with a message. So once that’s done you go to your skynet
folder and search for the hex file *.*hex. You can see two files have been created, one
with the bootloader and one without. Now you go back to the documentation folder,
you go to troubleshoot, troubleshoot again, firmware reset, and AVRdudess stock firmware
hex, go to AVRdudess, and you open the AVRdudess application. You then change the USB to ASP – which was
the thing I showed you on screen that I bought from Ebay. You change your port to USB, and you change
the MCU to the type of arduino that’s on the Anet A8 which is an ATmega1284p. Then you go to flash and navigate to the skynet
folder and I’m going to go with the one with the bootloader. Press ok, and then you press go. I noticed a few people had asked question
about the same problem I was having and no-one seemed to answer them. And the reason I got into this mess in the
first place, was because I was trying to get a 3D touch probe to work on the Anet A8 using
the Skynet Firmware. I can honestly say the world of 3D printers
is very different to CNC routers. It’s very idiosyncratic and the software
mirrors that. But the printer is back up and working, and
the stock proximity sensor is also doing what it is meant to. I just need to decided what to do with the
footage up to the moment I bricked the Anet. I don’t think I’m going to have another go
at installing the 3D touch probe. Anway thanks for watching.


  • Reply Gara Eubanks July 21, 2017 at 12:17 pm

    Just curious, why did you bother with unbricking the Anet board? I would have just thrown a cheap ramps board on it and call it a day. It's a bit more wiring work, but totally worth it. I put a level sensor on my Anet A8, along with a ramps and the AM8 frame. After all of that, it's a solid printer.

    The problem with flashing changes to the Anet board, is you have to use Skynet's version of Arduino IDE. Those Anet boards are very picky.

    Another great informative video! Keep making them! I really enjoyed watching your CNC build. I would love to build one myself soon!

  • Reply buggyland July 21, 2017 at 4:42 pm

    The CH340 usb/serial on the Anet is the culprit. #&$%!
    Was it when you enabled Z_MIN_PROBE_REPEATABILITY_TEST that it went tits up? was for me and others too aparently. All too often the Skynet for Anet group are a little too tribal (and/or "facebooky") to be helpful.

    But man, out of the box, the output from the Anet is amazing, equalling printers at twice the price or more. If you're using an external mosfet for the heatbed then the Anet controller is fine. Unless it's actually broken why replace it?

  • Reply Jesus Blanco September 9, 2017 at 4:41 pm

    Many thanks. It has helped me a lot!

  • Reply IT December 30, 2017 at 3:43 pm

    All should have a common ground.

  • Reply Jimngu Gk April 9, 2018 at 5:35 am

    Hi ! can I use marlin to burn the boot loader like this one ?

  • Reply ItsDrivingMeInsane June 24, 2018 at 3:02 am

    Great video. I have the same error messages that you had. In my case, I could unbrick it using the FirmwareResetV1.hex with the AVRdudess, using an Usbasp, but I could not burn the bootloader in the Arduino 1.8.5 IDE. Also, no matter what I try, I still cannot load the Marlin firmware. I get the same errors in the Arduino IDE as mentioned previously. Nothing I do gets rid of the white line across the display. I have followed many videos about how to fix my firmware issue, but none have worked. I have the right board loaded and the right usb port set. I've tried both Anet boards in the list. So, I have what looks like a working bootloader because the D1 next to the main chip flashes while the board boots, but nothing happens but white square boxes after that. I'm beginning to think the main chip is bad. Any thoughts would be really appreciated.

  • Reply Brian Hillard September 20, 2018 at 10:48 pm

    That sync error was probably caused by you flashing the stock Anet firmware back after unbricking it?
    I had to use an USBASP to flash a bootloader because my stock Anet board didn't have a bootloader, and I couldn't flash Marlin. The trick is to simply flash the bootloader with the programmer then disconnect, and flash the firmware(non stock) to the board using the Arduino IDE. Flashing the stock firmware using AVRDudes will overwrite the bootloader you flashed previously.

  • Reply QuadCopter 102 May 26, 2019 at 11:34 pm

    Where would i connect the ubasp on the board?? The top right corner unused connecter next to LCD 2004 ?

  • Reply Martin Masci July 4, 2019 at 8:04 am

    Is possible use AVRDUDESS and USB programmer to dump (and then restore) the original firmware? How? Just select "read" on "flash" section? and format?

  • Leave a Reply