error when burning the bootloader

3/26/2020 7:26:18 PM

Hello experienced users more familiar with installation and troubleshooting than we are.

We successfully completed our first sketch in Arduino but received an error when burning the bootloader.

In our review of the previous posts, forgive us if we overlooked notes from anyone who prepared a sketch for use as follows: Arduino:1.8.12 (Windows 7), Tarjeta:"Anet V1.0 (Optiboot)" That is what we are using (although in Arduino the board is listed as a V1.0, the board in the printer is V1.7 but is not on the Arduino list).

The readme does not say how to abate this error and proceed to upload. However it does say “If you choose to use the Optiboot option you MUST burn the Optiboot bootloader before uploading firmware, otherwise you risk overwriting the bootloader.” Now that we have this “error burning bootloader” how can we proceed?

somebody-said:
The readme does not say how to abate this error and proceed to upload. However it does say “If you choose to use the Optiboot option you MUST burn the Optiboot bootloader before uploading firmware, otherwise you risk overwriting the bootloader.”

Please post a link to where we can view this readme.

somebody-said:
Now that we have this “error burning bootloader” how can we proceed?

Please do this:

  • (In the Arduino IDE) File > Preferences
  • Check the checkbox next to “Show verbose output during: upload”.
  • Click the “OK” button.
  • Start the Burn Bootloader process
  • After the Burn Bootloader process fails, you’ll see a button on the right side of the orange bar: “Copy error messages”. Click that button.
  • In a forum reply here, click on the reply field.
  • Click the </> button on the forum toolbar. This will add the forum’s code tags markup to your reply.
  • Press “Ctrl + V”. This will paste the Burn Bootloader output between the code tags.
  • Move the cursor outside of the code tags before you add any additional text to your reply.

Do you have an AVRISP mkII ISP programmer connected to your computer?

somebody-said: the last line does not coincide with our action.

The last line reads"Mostrar salida detallada durante la compilación". Translated is:"Show verbose output during: compiling".

Yes, that's a known bug in the Arduino IDE.

somebody-said: No, there is no AVRISP mkII ISP programmer connected to our computer.

That's why you're getting the error. That error is the normal and expected error when you do a Tools > Burn Bootloader without having the programmer connected to your computer.

somebody-said: not connected to anything other than two computer screens and the new mainboard in the 3D printer that we are trying to get activated.

Then you will have no hope of burning the bootloader. In order to burn a bootloader on your 3D printer board, you need a device called an ISP programmer. You can purchase dedicated ISP programmers. One such programmer is called the "AVRISP mkII". This happens to be the default setting of the Arduino IDE's Tools > Programmer menu. There are several other ISP programmers you can use. If you have a spare Arduino board, you can turn it into an "Arduino as ISP" programmer: https://www.arduino.cc/en/Tutorial/ArduinoISP

somebody-said: How can we proceed with our initiative?

First of all, you should note that using the Optiboot bootloader is only a recommendation.

After you install the Anet platform in the Arduino IDE, you will find two option in the Arduino IDE's Tools > Board menu:

  • Anet V1.0
  • Anet V1.0 (Optiboot)

If you select Tools > Board > Anet V1.0, you should be able to just proceed directly to downloading the firmware from the Internet, configuring the firmware, then uploading the firmware to your 3D printer using the Arduino IDE's Sketch > Upload option.

If you select Tools > Board > Anet V1.0 (Optiboot), you will need to do the burn bootloader process because apparently the Anet comes with a different bootloader from Optiboot.

So, if it's so much more work to use the Tools > Board > Anet V1.0 (Optiboot) option, why do they recommend it? The reason is because the stock bootloader on the Anet uses 4 kB of flash memory, while the Optiboot bootloader uses 1 kB of flash. In the world of computers, 3 kB is nothing, but in the world of microcontrollers it's significant.

The question comes down to the size of the firmware you are going to be using. With the stock bootloader, the maximum firmware size is 124 kB. With the Optiboot bootloader, the maximum firmware size is 127 kB. If your firmware is 124 kB or less, there is no reason to use Optiboot. You don't benefit in any way from having unused flash memory. The size of the 3D printer firmware will likely depend on the configuration you use. You may find that there are features you want to enable that will cause it to exceed 124 kB. This is when using the Optiboot bootloader is beneficial.

Considering your level of expertise in this subject, I would recommend you to first see if you can update the firmware without burning the bootloader. If you get a "Sketch too big" error from the Arduino IDE, then you will know that the firmware size exceeds the available flash memory. The Arduino IDE's console will also show you the size of the firmware. If it's between 126976 and 130048 bytes, then you will be able to upload the firmware after burning the Optiboot bootloader. If the firmware size is over 130048 bytes, then it won't fit even with the Optiboot bootloader, and you will need to disable some features of the firmware.

The important thing is: if you haven't burned the Optiboot bootloader to your 3D printer board, make sure to select Tools > Board > Anet V1.0. DO NOT use the Tools > Board > Anet V1.0 (Optiboot) option unless you have burned the Optiboot bootloader. The reason is, this could result in you overwriting the existing bootloader, which cause your 3D printer board to be unusable until you have burned the bootloader (which will bring it back to as good as new).

I'm glad to hear you got the firmware uploaded. That is good progress!

The issues you are having now are very specific to your firmware or 3D printer hardware. Although I'm reasonably knowledgeable about Arduino, I have very little knowledge about 3D printers and have actually never used a 3D printer, nor even ever seen a 3D printed object in person. So I don't think I will be able to help with this part.

I would recommend looking for a forum (or Slack or Discord or whatever other newfangled things people are using these days to communicate) about 3D printers (ideally, for your specific 3D printer). It is possible that other members of this forum would be able to help. In that interest, it would probably be helpful if you told us which firmware you are using.

somebody-said:
Of course, we turned the printer off to allow the smell and smoke to clear.

After that, did you upload Marlin to your 3D printer board again?

somebody-said:
LED screen is still lit and illustrates the Error message in the attached image.

By "attached image" are you referring to the image you attached to your previous reply (EEPROM error on printer.jpg)?:

When you uploaded the eeprom_clear sketch, you erased the Marlin firmware. The eeprom_clear sketch only takes a few seconds, so it's likely it was able to clear the EEPROM memory before you had to turn it off due to the overheating.

So now you need to upload the Marlin firmware to your 3D printer board again. Hopefully, now that the EEPROM memory is cleared it will work as expected.

I would recommend disconnecting the power to the extruder as you work on troubleshooting this issue.