Projeto pessoal / Estudos · 2026
Controller Esp32 + Display128x64
Espelhamento da tela do PC num display OLED 128×64 ligado a um ESP32 por USB.
Tecnologias
Esse projeto liga o computador a um display OLED de 128×64 pixels, conectado a um ESP32 por USB, e espelha nele, em tempo real, o que está na tela do PC.
Logo no começo fiz a conta que define o projeto inteiro: uma tela Full HD tem mais de 2 milhões de pixels; o painel tem 8.192, e cada um só pode estar aceso ou apagado. O espelhamento descarta 99,6% da informação. Por isso a aplicação permite espelhar o monitor inteiro, uma janela ou só uma região e é espelhando uma região menor que o conteúdo fica legível.
No PC, uma aplicação em C# (.NET) captura a tela e passa cada quadro por um pipeline de imagem: redimensionamento, ajuste de tons, cinco algoritmos de dithering e o empacotamento em bits. Depois, cada quadro é codificado em RAW, RLE ou DELTA, o que ficar menor, e enviado por um protocolo próprio, com CRC, confirmação de recebimento, controle de fluxo e reconexão.
Do outro lado, o firmware do ESP32, em C++ com PlatformIO, recebe os pacotes e desenha no display. Há também uma interface gráfica em WPF, uma CLI para prévia, simulação e benchmark, um modo que mostra qualquer texto no painel e um cliente em Python para testar o hardware sem o .NET.

