Um entusiasta criou um pequeno calendário de mesa usando um ESP32 e um display LCD 16×2 para mostrar automaticamente os próximos compromissos armazenados no Nextcloud. A ideia elimina a necessidade de abrir o celular ou computador apenas para consultar a agenda e ainda consegue reunir eventos vindos de diferentes calendários em uma única tela.
O projeto foi publicado no Reddit pelo usuário wemayln e usa um ESP32-WROOM/ESP32 DevKit conectado diretamente a um LCD 1602A compatível com o controlador HD44780. Pelas imagens, todo o conjunto foi instalado em uma pequena caixa preta inclinada, criando uma espécie de relógio-calendário de mesa.
I made an ESP32-powered Nextcloud calendar display with support for subscribed calendars
by
u/wemayln in
esp32projects
ESP32 busca compromissos diretamente no Nextcloud
Depois de conectado ao Wi-Fi, o ESP32 acessa o servidor Nextcloud por meio de CalDAV e HTTP(S). O firmware identifica automaticamente os calendários disponíveis, baixa os eventos e organiza tudo cronologicamente.
Um dos pontos mais interessantes é que o sistema também funciona com calendários externos assinados pelo Nextcloud. Isso permite, por exemplo, exibir eventos originalmente vindos do Google Calendar sem criar uma integração separada diretamente no ESP32.
O microcontrolador recebe os dados no formato iCalendar/ICS e faz o processamento localmente. O software foi desenvolvido no ambiente Arduino para ESP32 e utiliza bibliotecas como WiFi, HTTPClient, WiFiClientSecure e LiquidCrystal.
Tela pequena obrigou o criador a simplificar os eventos
O LCD possui apenas duas linhas com 16 caracteres cada, o que impõe uma limitação evidente. Para contornar isso, o firmware encurta e limpa os textos dos compromissos antes de exibi-los.
O dispositivo mostra eventos previstos para os próximos sete dias e alterna automaticamente entre eles a cada cinco segundos. A lista completa é atualizada a cada 30 minutos. O relógio interno também é sincronizado pela internet usando NTP.
A escolha da tela pequena foi intencional. Questionado no Reddit sobre a possibilidade de utilizar um display maior, o autor explicou que queria manter o equipamento minimalista, econômico e com uma aparência retrô.
Versão com ESP32-C3 apresentou problemas de Wi-Fi
Nem tudo funcionou na primeira tentativa. O criador inicialmente testou um ESP32-C3 Super Mini, mas encontrou falhas persistentes de autenticação Wi-Fi em sua rede, mesmo com sinal forte.
O ESP32-WROOM tradicional se mostrou mais confiável e acabou sendo escolhido para a versão final. Outro problema surgiu no gerenciamento de memória: uma implementação anterior armazenava muitas URLs de objetos DAV em variáveis locais e fazia o microcontrolador apresentar um erro do tipo stack-canary. O processamento mais direto dos dados resolveu a falha.
O hardware restante é simples: além do ESP32 e da tela, o projeto utiliza um potenciômetro de 10 kΩ para ajustar o contraste e alimentação de 5 V via USB. O LCD é controlado diretamente por seis GPIOs, sem adaptador I2C.
O resultado é um exemplo de como um microcontrolador barato pode transformar um serviço de nuvem em um aparelho físico dedicado: a agenda permanece sempre visível sobre a mesa, sem notificações, aplicativos ou uma tela cheia de distrações.
Você também deve ler!
Homem usa ESP32 e uma garrafa para criar sistema que rega planta sozinho