gpb01:
Come buona cosa, indipendentemente da tutto, ricorda sempre di mettere come prima istruzione del setup() una banale delay(1000) ... ti metterà al riparo da eventuali problemi con il bootloader
Per le schede basate sull'Atmega32U4 va usato un test specifico, per attendere fino all'apertura della comunicazione seriale if(Serial)