Não é. Bem, ele pode se desgastar lentamente se você o executar por 20 anos .... (como a maioria dos outros produtos físicos)? Pelo menos, não depende da complexidade do código, mas de quantas operações de gravação foram feitas na mesma seção de memória. Além disso, quando estiver desgastado, ficará bloqueado e não se tornará um código mais simples como piscar o LED.
Um Arduino (Uno) possui três partes de memória. SRAM, FLASH e EEPROM. A SRAM é mais como uma porta lógica de transistor. Não se desgastará ao armazenar variáveis. FLASH e EEPROM consistem em portões flutuantes. Eles se desgastam lentamente quando você escreve novos dados. Na folha de dados do microcontrolador Ateml , ele afirma:
A memória Flash possui resistência de pelo menos 10.000 ciclos de gravação / apagamento. (Do capítulo 8.2)
A EEPROM possui resistência de pelo menos 100.000 ciclos de gravação / apagamento. (Do capítulo 8.4)
No entanto, a memória FLASH é um espaço para execução de código. A operação de gravação não é feita enquanto o Arduino está em execução. Você só escreve memória FLASH ao fazer upload de um novo código. Portanto, ele se desgastará quando você enviar o código pelo menos 10.000 vezes.
Se você realmente quiser, pode criar um código especial para auto-reprogramar a memória FLASH, geralmente com o objetivo de manter dados variáveis quando o Arduino estiver desligado. Quando você escreve esse tipo de programa, ele se desgasta lentamente, porque a memória FLASH não possui muita resistência à escrita. É por isso que você será sugerido a usar a EEPROM, que tem muito mais expectativa de vida, se desejar manter os dados mesmo quando o Arduino estiver desligado.
Para resumir, ele se desgastará reescrevendo a memória FLASH ou EEPROM, não pela execução do código.