Spontaneous un-programming of Arduino USB board

Daniel:

  1. Very interesting, thanks! Re surge protection, I have both transorb and (small) cap in series - so certainly rise time is indeed limited.
    However, we just connected a variable voltage power supply and ramped it up/down dozens of times to no negative effect... Maybe I will have to build signal generator to do 10^10 times :-).

  2. Because I am actually quite novice to the whole Atmel / Arduino environment, may I ask (in order to be able to think about Atmel's document):

a) Once a program has been written to the EEPROM, and assuming my sketch does nothing other than standard variable writes, does running a sketch (or the Arduino boot loader) involve any writes to EEPROM? I would think not, but don't in fact know...

b) I gather from the Atmel doc that even if normally EEPROM would not be written, it could be inadvertently written simply by low voltage on the power supply due to corrupted program counter (and thus CPU inadvertently getting into EEPROM write code), yes?

c) I also gather from the end of your post that currently the standard fuse settings (as in the case for example in boards received by Sparkfun) are with brownout disabled, and thus are counter to recommendation by Atmel, and that we should re-program them to rectify that, yes?

More if/as it develops,
David