I'm trying to troubleshoot an issue with avrdude involving a Raspberry Pi and a transistor to control the reset pin on an Arduino Pro Micro (atmega32u4).

Where can I find information on the reset/programming process for the atmega32u4 or Arduino? The atmega32u4 data sheet provides a bit of information but some of it is above my head.

For example, avrdude (and other programmers) require the microcontroller to be reset before uploading a new program or interacting (ie. fuses) with the chip.

Why is this?

The atmega32u4 specifies a minimum reset pulse of 400ns (ie. high to low to high again), but how long afterwards is the chip available for communication to avrdude?

  • avrdude interacts with a program that is running on the microcontroller (bootloader)
    – jsotola
    Commented May 28, 2021 at 1:21
  • For AtMega32U4, a hardware reset, plus setting the PE2 to low will put the chip into hardware bootloader activation(HWB). Search HWB in the datasheet for more info. Arduino Micro uses DFU bootloader which take some time to be ready after reset, you can find out more about AVR DFU implementation here.
    – hcheung
    Commented May 28, 2021 at 2:14
  • It all depends on how you are programming - are you using ICSP? Or DFU? Or the Arduino bootloader? It all makes a difference.
    – Majenko
    Commented May 28, 2021 at 12:46


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.