When does UNO bootloader run?

JimG:
I suspect the DTR autoreset mechanism is causing your bootloader to run on power up. At least I'm fairly confident this is true when a FT232RL chip is present for USB serial. But I'm only speculating that the 16U2 on the Uno behaves similarly.

I demonstrated this to myself by putting an Uno optiboot-flashed 328P on a breadboard and observed that the chip skips the bootloader (no 3 flashes) when power is applied. The 3 flashes show up when the RESET line is taken low, however.

The same chip, when inserted into the socket on an Arduino clone went through the bootloader code each time power was applied from either the DC jack or USB.

My conclusion is that the power up sequence causes a DTR reset. Don't know if it is the result of activity by the FT232RL, or if the RC network on the reset line caused it.

Jim

Well the Uno in rev2 and the present rev3 did add a 1K ohm pull-down resistor on the DTR output pin from the 16U2 chip that the older arduino 2009 board did not use on the FTDI DTR output. I wonder if that pull-down resistor keeps the 328p reset pin low long enough after initial power-up to cause a true pin1 external reset condition and thus activation the bootloader wait period to be active?

Lefty