Pular para o conteúdo

Um maker da Malásia extraiu 500 dias de bateria de um ESP32. O display? Desenhado em um navegador. ​

Estação meteorológica de papel eletrônico WeatherPaper V2, de Jeremy Ngai

A maioria das estações meteorológicas são tijolinhos robustos que imploram por um carregador a cada poucas semanas. A WeatherPaper V2 vai na direção contrária. Ela tem 11,6mm de espessura, fica rente à parede como uma peça de decoração fosca e funciona por mais de 500 dias com uma única carga.

O criador é Jeremy Ngai, um entusiasta da Malásia com um lema direto: engenharia é divertida quando você começa a fazer o que gosta. Encontramos a criação, nos apaixonamos por ela e quisemos compartilhá-la, em parte porque o Lopaka conquistou um lugar no kit de ferramentas dele.

A coceira: a V1 era ótima, e esse era o problema ​

A WeatherPaper V1 funcionava. Ela tinha boa aparência. E o Jeremy não suportava. Era volumosa, consumia muita energia, e o hardware ineficiente deixava espaço apenas para uma bateria minúscula de 500mAh. Ele fixou um objetivo implacável na parede para a V2: mais de um ano de bateria.

Todo o resto veio a partir desse número. Ele migrou para um display de papel eletrônico preto e branco de 4,2 polegadas, trocou a placa de desenvolvimento genérica por um Seeed Studio XIAO ESP32-C3 com carregador integrado e sono profundo de 44uA, e projetou uma PCB personalizada para encolher tudo. A bateria cresceu de 500mAh para 1500mAh. O dispositivo ficou mais fino mesmo assim.

PCB personalizada, bateria, display e XIAO ESP32-C3 da WeatherPaper

A parte que os criadores ignoram: a tela precisa ter boa aparência ​

O papel eletrônico castiga você aqui. O hardware pode ser perfeito, o firmware pode economizar energia como um monge, e nada disso importa se o display parecer uma planilha. Você dá uma olhada na WeatherPaper e lê quatro coisas: Índice de Qualidade do Ar, sensação térmica, velocidade do vento, condição do tempo. Ícones limpos, hierarquia sensata, nada gritando.

Isso significa bitmaps monocromáticos, e em displays embarcados os bitmaps são onde a diversão vai morrer. O caminho clássico: desenhar um ícone em algum lugar, exportá-lo, passar pelo image2cpp, copiar um muro de hex em um arquivo bitmap.h, gravar e olhar de olhos apertados para o resultado. Erre um pixel, faça tudo de novo.

Onde o Lopaka se encaixa ​

O Jeremy aponta os criadores para o Lopaka nesta etapa: projetar os ícones monocromáticos e extraí-los como código utilizável. Você coloca seus gráficos em uma tela de desenho do tamanho da sua tela real, arrasta tudo até ficar certo e exporta. Sem arrays de bytes às cegas, sem adivinhar se aquele ícone de 32 pixels vai parar onde você acha que vai.

Ele combina com a WeatherPaper porque o firmware roda em GxEPD2, uma das bibliotecas para as quais o Lopaka gera código. Desenhe o layout, escolha GxEPD2, copie a saída. Quando o Jeremy quer trocar um ícone depois, ele o redesenha em vez de cavar no hex.

O fluxo de trabalho documentado por ele continua hackeável. Quer o índice UV em vez da velocidade do vento? Altere uma chave JSON. Quer seus próprios ícones em vez dos dele? Redesene-os e insira os novos arrays. O display continua sendo seu.

A recompensa: fazer menos, de propósito ​

A matemática da bateria é a parte divertida. A cada 30 minutos, o ESP32 acorda por cerca de 4,3 segundos, busca o clima no OpenWeatherMap, atualiza a tela e volta ao sono profundo. O Jeremy comprimiu bastante essa janela de atividade: CPU reduzida para 80MHz, DHCP ignorado com um IP estático, HTTPS trocado por HTTP simples em dados públicos, HTTP Keep-Alive para agrupar as requisições.

Some tudo e cada ciclo consome aproximadamente 0,049mAh. Contra uma bateria de 1500mAh, isso dá mais de 15.000 horas no papel, mais de 600 dias no papel e confortáveis 500 dias ou mais quando você considera as perdas do mundo real. O XDA Developers repercutiu toda a montagem.

A conclusão dele diz tudo: a maior duração de bateria veio de fazer menos, não de adicionar mais. O mesmo vale para o display. A UI de papel eletrônico mais limpa vem de projetá-la em uma tela de desenho, não de codificá-la à mão em hex.

A WeatherPaper V2 finalizada

Crie a sua ​

O Jeremy abriu tudo como open-source, firmware, arquivos Gerber da PCB e arquivos 3D, em seu repositório WeatherPaper no GitHub. Se você está criando para uma tela OLED, TFT ou de papel eletrônico e prefere desenhar sua interface a montá-la byte a byte, é para isso que o Lopaka serve. Esboce uma tela, escolha sua biblioteca, entregue o código.

Créditos ​

WeatherPaper V2 e fotografia por Jeremy Ngai. Leia o guia completo de montagem no Instructables ou explore os arquivos-fonte no GitHub.