You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When an "Export Compiled Binary" operation is performed, the Arduino development tools generate two variants of the binary:
The sketch application alone (e.g., FooSketch.ino.hex)
The sketch application merged with the bootloader binary of the board (e.g., FooSketch.ino.with_bootloader.hex)
The latter of these variant is useful in case you want to allow uploading via the bootloader at some point in time after flashing a board with the exported binary file, without being forced to first perform a "Burn Bootloader" operation to replace the bootloader on the board (which is lost if you flash the board with the first variant on the above list.
Bootloader binaries may include an application program. This is the case with the platform's "Caterina" bootloader binaries, which contain an application to blink the built-in LED at 0.5 Hz.
The "with_bootloader" variant of the exported binary will not function as intended if the application is merged with a bootloader binary that already contains an application.
For this reason, the Arduino boards platform platform framework allows the location of the bootloader binary file to be defined via either one of two (undocumented 😢) platform properties (implementation here):
bootloader.file
bootloader.noblink
If bootloader.noblink is not defined, then the bootloader binary specified by the bootloader.file property (which is also traditionally used in the bootloader action command template of the "Burn Bootloader" operation) will be used for the "Export Compiled Binary" operation.
Problem
The following boards have an application embedded in their bootloader binary, but do not specify a bootloader-only binary via a bootloader.noblink property:
Arduino Leonardo
Arduino Leonardo ETH
Arduino Micro
🐛 This results in the "with_bootloader" binary file generated by performing an "Export Compiled Binary" operation for these boards having a blink application instead of the sketch exported.
Select the board you are using from Arduino IDE's Tools > Board menu.
Select Sketch > Export Compiled Binary from the Arduino IDE menus.
A compile operation will begin.
Wait for the compilation to finish successfully.
Select Sketch > Show Sketch Folder from the Arduino IDE menus.
The folder of the sketch will open in your file manager.
Find the binary with the .with_bootloader.hex filename suffix that is located under the build subfolder of the sketch subfolder (e.g., build/arduino.avr.leonardo/FooSketch.ino.with_bootloader.hex).
Use AVRDUDE to flash the binary to your board.
🐛 The built-in LED on the does not blink at 0.05 Hz as it should if the compiled sketch program was running.
Arduino AVR Boards version
Original report
Not stated.
Last verified with
fff865837b225d17b932f9c416c7fd36a6b3a645
Additional context
Unlike the boards listed above, the "Arduino Yún" is correctly configured:
per1234
changed the title
Several 32u4 boards missing noblink firmware
"Blink" variants of Caterina bootloader are used to generate "with_bootloader" exported binaries for some boards
Feb 20, 2025
Describe the problem
Background
When an "Export Compiled Binary" operation is performed, the Arduino development tools generate two variants of the binary:
FooSketch.ino.hex
)FooSketch.ino.with_bootloader.hex
)The latter of these variant is useful in case you want to allow uploading via the bootloader at some point in time after flashing a board with the exported binary file, without being forced to first perform a "Burn Bootloader" operation to replace the bootloader on the board (which is lost if you flash the board with the first variant on the above list.
Bootloader binaries may include an application program. This is the case with the platform's "Caterina" bootloader binaries, which contain an application to blink the built-in LED at 0.5 Hz.
The "with_bootloader" variant of the exported binary will not function as intended if the application is merged with a bootloader binary that already contains an application.
For this reason, the Arduino boards platform platform framework allows the location of the bootloader binary file to be defined via either one of two (undocumented 😢) platform properties (implementation here):
bootloader.file
bootloader.noblink
If
bootloader.noblink
is not defined, then the bootloader binary specified by thebootloader.file
property (which is also traditionally used in thebootloader
action command template of the "Burn Bootloader" operation) will be used for the "Export Compiled Binary" operation.Problem
The following boards have an application embedded in their bootloader binary, but do not specify a bootloader-only binary via a
bootloader.noblink
property:🐛 This results in the "with_bootloader" binary file generated by performing an "Export Compiled Binary" operation for these boards having a blink application instead of the sketch exported.
To reproduce
Equipment
Demo
A compile operation will begin.
The folder of the sketch will open in your file manager.
.with_bootloader.hex
filename suffix that is located under thebuild
subfolder of the sketch subfolder (e.g.,build/arduino.avr.leonardo/FooSketch.ino.with_bootloader.hex
).🐛 The built-in LED on the does not blink at 0.05 Hz as it should if the compiled sketch program was running.
Arduino AVR Boards version
Original report
Not stated.
Last verified with
fff865837b225d17b932f9c416c7fd36a6b3a645
Additional context
Unlike the boards listed above, the "Arduino Yún" is correctly configured:
ArduinoCore-avr/boards.txt
Lines 44 to 45 in c8c514c
Additional reports
The text was updated successfully, but these errors were encountered: