Eu tenho uma placa ATMega328 do Arduino personalizada que geralmente roda em 5V a 8MHz (usando o perfil e o carregador de inicialização do Arduino Pro 3.3V 8MHz). A principal razão pela qual estou usando essa configuração é para que eu possa colocar a placa no modo de suspensão quando a energia principal for desconectada e ela começar a ficar sem carga da bateria (3V de uma célula moeda). As fontes de 5V e 3V são diodos OR'ed juntos e a entrada de 5V é ligada ao INT0. No código, quando detecta que o INT0 caiu baixo, ele inicializa o modo de suspensão e tudo é desligado, com exceção do timer do watchdog que mantém um ciclo de 1Hz para manter uma contagem interna e verificar se o chip deve ser reativado. Isso funciona perfeitamente quando a energia de 5V é aplicada primeiro, depois a bateria é inserida e, em seguida ,5V está desconectado. Ele dorme e quando o 5V é trazido de volta, ele acorda e vejo que não perdeu a conta.
No entanto, o problema surge quando o 3V é aplicado primeiro . Sinceramente, não tenho certeza se está inicializando. Mas o que ele deve fazer é inicializar, verifique se INT0 (Digital 2) está baixo e, se houver, vá dormir. Observando o desenho atual, vejo que ele alimenta alguns mA por alguns segundos e depois cai para cerca de 0,3mA (ainda mais alto do que deveria estar no modo de suspensão). Mas quando eu reaplicar 5V, nada . O consumo de energia volta a funcionar, mas não responde (sobre a série FTDI).
Existe talvez algo que esteja faltando que não possa ser inicializado em 3V ... em teoria, ele deve funcionar muito bem.
Atualização: coloquei um LED no D13 e tentei o esboço piscante. Funciona bem ao iniciar a partir de 3V ou 5V. No entanto, quando executo o firmware e inicio em 3V, o LED começa a piscar descontroladamente. Não faço ideia do que está causando isso, pois nunca configurei o D13 como algo no meu código. Mas isso me faz pensar que é algo a ver com o gerenciador de inicialização ...