Você pode usar um microcontrolador incorporado na EEPROM. O PIC16F84A de 8 bits possui 64 bytes de EEPROM, o que é bom para normalmente 10.000.000 e um mínimo de 1.000.000 de gravações em cada byte (isso é conhecido como resistência de bytes). O PIC escolhido em outra resposta, o PIC12F635, possui uma EEPROM de 128 bytes e uma durabilidade de 100.000 gravações. O PIC24F16KA102 , um processador de 16 bits, possui 512 bytes de EEPROM e também uma resistência de bytes de 100.000 gravações.
O OP não indica com que frequência o LED pisca. Para os fins desta discussão, vamos supor que seja quatro vezes por minuto.
Em um ano ele piscará
4 * 60 * 24 * 365 = 2 , 102 , 400 t i m e s .
Como a EEPROM precisa capturar os últimos eventos ativados e desativados, ela será gravada com o dobro desse número, ou cerca de 4,2 milhões de vezes . Em cinco anos, isso é 21 milhões de vezes.
Claramente, isso excederá as especificações de qualquer EEPROM que agora integro em um microcontrolador.
Mas existe uma solução simples para isso. Em vez de usar o mesmo byte repetidamente para acompanhar o status ativado ou desativado, pode-se usar uma matriz de bytes, que preenche todo o chip.
Você precisa de dois bytes para cada elemento na matriz. Portanto, uma EEPROM de 64 bytes, como a do PIC16F84A, pode conter 32 elementos. Cada vez que você grava na EEPROM, grava um 0 no byte de status (ou seja, este elemento possui dados) e um 0 no byte de dados (o LED foi desligado pela última vez) ou um 0xFF (o LED foi ligado pela última vez). Na próxima vez que você acessar a EEPROM, indexe os elementos até encontrar um com um byte de status 0xFF e use o elemento em questão. Se não houver mais, reinicialize a EEPROM e inicie novamente (para os PICs low-end, isso significa escrever 0xFF para cada um dos bytes de status; para o PIC24, existe um comando para apagar toda a EEPROM). Se você precisar conhecer o último status do LED, indexe através da matriz como antes, mas agora volte um elemento e leia o byte de dados.
Isso basicamente divide o número de acessos a um único byte por um fator de 16 para o PIC16F84A (16 e não 32 porque cada um dos bytes de status é gravado duas vezes). Portanto, seria capaz de lidar com 16 milhões de gravações no total, o suficiente para quase quatro anos de dados. E o PIC12F635, com sua EEPROM maior, mas menor capacidade de bytes de 100K, seria capaz de lidar com 3,2 milhões de gravações no total, o suficiente por nove meses.
O PIC24F16KA102, com seu EEPROM de 512 bytes e recurso de exclusão em massa, seria capaz de lidar com 25,6 milhões de gravações, o suficiente por mais de cinco anos.
Se a taxa de intermitência for de apenas quatro vezes por hora em vez de quatro vezes por minuto , isso significa um total de 70.080 gravações por ano. Até o PIC12F635, com sua capacidade de 100.000 gravações por byte, duraria 45 anos!