No es. Bueno, podría desgastarse lentamente si lo ejecuta como 20 años ... (como la mayoría de los otros productos físicos)? Al menos no depende de la complejidad del código sino de cuántas operaciones de escritura se realizan en la misma sección de memoria. Además, cuando se gaste, se bloqueará y no se convertirá en un código más simple como parpadear el LED.
Un Arduino (Uno) tiene tres partes de memoria. SRAM, FLASH y EEPROM. SRAM es más como una puerta de transistor lógica. No se desgastará almacenando variables. FLASH y EEPROM consisten en compuertas flotantes. Poco a poco se desgastan cuando escribes nuevos datos. De la hoja de datos del microcontrolador Ateml , dice:
La memoria Flash tiene una resistencia de al menos 10,000 ciclos de escritura / borrado. (Del Capítulo 8.2)
La EEPROM tiene una resistencia de al menos 100,000 ciclos de escritura / borrado. (Del Capítulo 8.4)
Sin embargo, la memoria FLASH es un espacio para la ejecución de código. La operación de escritura no se realiza mientras Arduino se está ejecutando. Solo escribe memoria FLASH cuando carga un nuevo código. Por lo tanto, se desgastará cuando cargue el código al menos 10,000 veces.
Si realmente lo desea, puede hacer un código especial para auto reprogramar la memoria FLASH, generalmente con el propósito de mantener datos variables cuando Arduino está apagado. Cuando escribe este tipo de programa, se desgastará lentamente porque la memoria FLASH no tiene mucha resistencia de escritura. Es por eso que se le sugerirá que use EEPROM, que tiene mucha más esperanza de vida, si desea mantener los datos incluso cuando Arduino está apagado.
En resumen, se desgastará reescribiendo la memoria FLASH o EEPROM, no por la ejecución del código.