9. The A-Star 32U4 Bootloader
Our 32U4 family of boards come with a USB bootloader that can be used in conjunction with the
Arduino IDE or AVRDUDE to load new programs onto the device. This section documents some
technical details of the bootloader for advanced users who want to better understand how it works. If
you just want to get started using your device, it is fine to skip this section.
The A-Star 32U4 Bootloader is based on the
[https://github.com/arduino/Arduino/tree/
master/hardware/arduino/avr/bootloaders/caterina]
, which is the bootloader used on the
[https://www.pololu.com/product/2192]
[https://www.pololu.com/product/2188]
and several other
ATmega32U4 boards. The bootloader is open source and its
a-star/tree/master/bootloaders/caterina]
is available on GitHub. The bootloader occupies the upper four
kilobytes of the ATmega32U4’s program memory, leaving 28 KB for the user program. The
bootloader’s USB interface consists of a single virtual serial port that accepts the programming
commands defined in
[http://www.atmel.com/images/doc1644.pdf]
. The bootloader always runs first
immediately after the AVR is reset.
Startup logic
The main difference between the A-Star 32U4 Bootloader and Caterina is in the startup logic. This
is the part of the bootloader that runs immediately after the AVR is reset, and it decides whether to
run the user program or run the rest of the bootloader. The startup logic of the Caterina bootloader is
designed so that when the RST line goes low, the bootloader will run. This means that if you want to
restart your program using the RST line, it will take 8 seconds before the bootloader times out waiting
for an upload and the sketch starts.
The A-Star 32U4 Bootloader has different startup logic that allows you to use the RST line to reset the
board with a smaller delay. If the RST line goes low once, the user program will run after a 750 ms
delay. If the RST line goes low twice within 750 ms, then the bootloader will run. (This behavior is the
same as on boards like SparkFun’s Pro Micro.)
The start-up logic of the A-Star 32U4 Bootloader is shown in the flowchart below:
Pololu Balboa 32U4 Balancing Robot User’s Guide
© 2001–2019 Pololu Corporation
9. The A-Star 32U4 Bootloader
Page 89 of 97