EEVblog Electronics Community Forum

Products => Computers => Topic started by: bostonman on July 29, 2021, 03:40:12 am

Title: Firmware and Bootloader Questions for Anet A8
Post by: bostonman on July 29, 2021, 03:40:12 am
I've been planning to update the firmware in my Anet A8 printer. I've viewed some YouTube videos (there is a guy with many videos regarding this printer).

Anyway, I believe I've gone through the steps enough to understand a few questions I have.

The first is regarding the bootloader. it's suggested to use the Optiboot bootloader because it's smaller in size, and also, a bootloader provides the ability to upgrade the firmware via USB.

My questions are:

If I chose not to install a bootloader, will this be an issue if I have a programmer already (thus saving space)?

If my board already has a bootloader, and I assume it's not the Opti version, will writing another bootloader cause the board to have two bootloaders?

If it's not a loaded question, what do other bootloaders have that the opti bootloader doesn't that makes it smaller?

As for firmware updating, I believe I understand all the steps. A few questions, however, I think they are self explanatory:

If I update the firmware and chose specific features to enable (or disable), will I need to do this each time I update the firmware to a new rev (I'm quite sure the answer is yes - but they use separate configuration files which maybe don't get updated often and can be reused with the changes).

I found two methods to update the firmware. One is using Visual Studio, the other is using Adruino software. Both seem to have similar methods and need some sort of definition(s) to talk to the Anet A8. I'm fearing that maybe all these definitions will not be available in the future. Is there a way to save one package so I can reinstall firmware if need be in the future?
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: Ranayna on July 29, 2021, 08:44:40 am
That should at least have partial answers for you:

https://www.eevblog.com/forum/reviews/anet-a8-3d-printer/msg3180296/#msg3180296 (https://www.eevblog.com/forum/reviews/anet-a8-3d-printer/msg3180296/#msg3180296)

This is how the FW upgrade worked for me, but i never did additional upgrades afterwards.
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: bostonman on July 30, 2021, 03:33:46 am
I appreciate the link.

If you read on, you'll see I was involved in that thread. :)

The actual FW update to the printer is half the problem, but the bootloader was one thing that baffled me. Does a new bootloader write over the old one, or is it possible to accidentally write two bootloaders thus wasting space?

There is a step within the (easier?) update steps which is to edit one line of code, and I'm uncertain why, however, I think I'd need to respond to the message in the thread you provided since it's exclusively for the printer and not general bootloader stuff.
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: Ranayna on July 30, 2021, 06:13:47 am
I know that  you were involved ;)

I can only say that i simply did not bother with any bootloaders. I mentioned it, yes, but since everything worked after the upgrade, i did not further look into them.
I did what i enumerated in that post to upgrade the firmware. Everything with the Arduino IDE, an especially pointing out the board definition that worked for me. There is nothing stopping you to dowload the .json file and adding it from your file system.

Oh, and i do not remember if i ever mentioned that here on the forum: The thermal runaway checks did really work for me, at least partially :D I had several cases where the Anet stopped because the cooling fan was set too strong, and the nozzle temperature fell more that 10 degrees from the set value. That caused the printer to stop.
I never actually tested the other case though.
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: bostonman on July 30, 2021, 01:58:34 pm
Quote
Oh, and i do not remember if i ever mentioned that here on the forum: The thermal runaway checks did really work for me, at least partially :D I had several cases where the Anet stopped because the cooling fan was set too strong, and the nozzle temperature fell more that 10 degrees from the set value. That caused the printer to stop.
I never actually tested the other case though.

This is good to know as I'd probably wonder why the printer turned off.

What fan speed do you use? From what I've seen, my standard speed settings don't seem to make the heaters deviate by 1 degree C, but the more knowledge I have, the easier diagnosing problems will be.

Any firmware updates I've done in general over the years have been simply plug n play. Either FPGAs or other various updates. Having to deal with bootloaders and other stuff has been a (confusing) education.
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: Ranayna on July 30, 2021, 06:09:19 pm
This was the default 100%.
Reducing to 50% eliminated that issue, but shortly after i literally crashed the Anet...
In the original firmware that never gave me issues, but Marlin was affected.
It may also be related to the printed object. It was funnelshaped and caught the airflow quite loudly  ;D
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: bostonman on August 09, 2021, 04:55:48 am
Tonight I was following a video on installing a bootloader.

The video uses Arduino software v1.8.9. I was using v1.8.14. Initially I didn't pay any attention to the different version numbers, and, as the tutorial stated, when I connect the Anet board (via a USBasp programmer), the LEDs blink (which they did).

After getting the last step before selecting program bootloader, I noticed a menu option that didn't exist and it was to select the flash memory type. I clicked program to see what happened and it seems the bootloader installed. I assumed maybe my newer version of Arduino didn't need the flash memory info or the board definitions now contained the information.

Having thought maybe I should use the same v1.8.9 version to select the flash memory type, I downloaded it and attempted to connected the board the same way, however, this time the LEDs didn't flash; nor is Ardunio seeing the Anet board.

I'm wondering if installing the bootloader now disabled the pin header comm port (whatever the name of it is) and is now exclusively though USB.

Does anyone know if this is true?

Also, is there a way to delete the booloader and reinstall it and/or can I accidentally install two bootloaders thus occupying more space in flash memory?
Title: Re: Firmware and Bootloader Questions for Anet A8
Post by: bostonman on August 13, 2021, 01:31:34 pm
I've been patiently trying to upgrade the firmware on this Anet A8 and reached a dead end.

First I installed a bootloader by downloading Audrino software, downloading the board definitions, copying files from the board definitions into the Audrino directory, selected the optibootloader, installed a USBasp driver, made sure to select ATmega1284p, and installed the bootloader.

At this point it seemed to upload well, however, I was no longer able to communicate with the Anet board. Assuming it has now switched to the USB, I've tried connecting it to the USB and I'm unable to see it. Currently it's out of the printer, so maybe it needs power instead of trying to get it from the USB port.

After I went to build Marlin 2.0.9.1 in Visual Studio Code, and, per the tutorial, I need to download Config 2.0.8.2 and copy three files _Statusscreen, Configuration, Configuration_adv, into the Marlin firmware folder.

After following some basic steps in Visual Studio Code, I went to build it, and, unlike the tutorial, I have two environments: sanguino1284p and sanguino1284p_optimized.

I don't know what the difference is, or what they mean, but I chose to build the standard (i.e. no optimized) and got a compiling error that configuration.adv.h is for an old version of Marlin. I then tried the optimized and got the same compiling error.

I'm uncertain why I'm getting this because I'm using the latest and greatest version of Marlin and the latest version of the configuration files.

Also, I don't know why I can't communicate with the board after installing the bootloader (I'm hoping it just needs external power).