Pular para o conteúdo

Estúdio de engenharia · Recife

Do silício
a quem usa.

Sou Willian Rupert. Construo sistemas inteiros, do firmware no ESP32 ao app no bolso de quem usa, para problemas que precisam funcionar fora do laboratório: numa sala de aula, numa oficina, na porta de casa.

sistemas em produção
4
testes automatizados
2.300+
portas abertas no roteador
0
bytes que o Adsum manda para a rede
0

Em produção

Quatro sistemas que outras pessoas usam todos os dias.

Cada um resolve um problema concreto, e cada um foi desenhado para falhar com aviso, nunca em silêncio. Experimente, aqui mesmo.

em uso no CIn-UFPE

Adsum

Chamada por crachá. Sem servidor, sem conta, sem login.

O aluno encosta o crachá, a presença é registrada, e no fim da aula a planilha já está pronta para o SIGAA. Feito com o Prof. Paulo Freitas para o Centro de Informática da UFPE.

  • A pasta é a dona dos dados. O navegador é só cache; limpar o site não apaga a turma.
  • O leitor é um teclado. O app separa a rajada da máquina da digitação humana pelo ritmo das teclas.
  • Aguenta a fila mais rápida que a sala. 300 crachás em rajada, nenhum perdido no disco.

PWA offline · React · TypeScript · 1000+ testes

leitor

Arraste o crachá até o leitor, ou toque nele.Arraste o crachá até o leitor, ou clique nele.

Presentes0de 48

    na oficina, todo dia

    RLight Pendant

    A sua CNC, ao vivo, na palma da mão.

    Interfaces de CNC costumam ser painéis com todo parâmetro na tela e todo erro em código. O Pendant decide o que importa agora e esconde o resto atrás de bons padrões. Um app web servido na rede da oficina, para iPhone e Android, sem loja.

    • Uma régua em vez de botões. Arraste e a máquina acompanha o dedo; um peteleco segue por inércia.
    • Uma conexão honesta. Todo movimento é uma intenção completa: se o celular some, a máquina termina ou para.
    • Nenhum valor de máquina no código. Curso, limites e spindle vêm da própria placa.

    PWA · TypeScript estrito · FluidNC · 500+ testes

    Tela de acompanhar a máquina andando
    Assistir
    Tela de controle com a régua de jog
    A régua
    Mapa da mesa com o destino fantasma e o botão Ir
    Toque na mesa e "Ir"
    Mostrador do spindle subindo pela rampa real
    O spindle

    em produção desde jul/2026

    Portaria

    Encomendas recebidas sem porteiro.

    Uma casa com duas portas em série. O entregador digita o código da etiqueta, deixa o pacote e sai; a casa pesa, fotografa, registra e avisa quem mora lá.

    • O hardware sente, o software decide. O ESP32-S3 só lê sensores e aciona travas; a lógica é Python, coberta por testes.
    • Nenhuma entrega se perde por falta de internet. Tudo é gravado em casa primeiro e sobe por uma fila com confirmação.
    • Interlock. A porta de casa nunca abre com a da rua aberta.

    ESP32-S3 · Python · FastAPI · Node · 800+ testes

    1. 1
      Código

      O entregador digita os 4 dígitos da transportadora.

    2. 2
      Porta da rua

      Abre. A de casa continua trancada.

    3. 3
      Balança

      O pacote é pesado e fotografado.

    4. 4
      Gravado em casa

      Antes de qualquer nuvem, com foto.

    5. 5
      Aviso

      Quem mora recebe a foto da entrega no celular.

    em produção

    Caixa d'água

    Um tanque de guerra com um botão só.

    Controla o bombeamento da cisterna para a caixa. A segurança roda inteira no ESP32: Wi-Fi e Home Assistant são só telemetria. Se a rede cair, o sistema nem percebe.

    • Dez estados, persistidos em flash. Depois de um apagão, nada religa sem passar pelo boot seguro.
    • Corrente fantasma. Relé desligado e corrente no motor é contator soldado, e vira alarme.
    • Falhas exigem uma pessoa. Rotor preso ou bomba a seco só destravam com um toque humano.

    ESP32 · ESPHome · Home Assistant

    E0

    Standby

    LED apagado: tudo certo. Toque para encher; segure para pausar.

    Simular:

    Infraestrutura

    Uma casa que não abre nenhuma porta para a internet.

    Tudo o que roda em casa entra por um túnel, é protegido por um nobreak próprio e tem cópia fora dali. Toque em qualquer bloco.

    Casa Oracle Cloudbackup via Tailscale Internet Cloudflare Tunnel Proxmox Nobreak Câmerase rostos Home Assistant Caixa d'água pH e ORP Gerador solar Ampere ARM Proxmox Backupcópia fora de casa

    Deslize para ver o mapa inteiro.

    Como eu trabalho

    Quatro regras que aparecem em todo projeto.

    Notas de campo

    Problemas reais, e o que eles me ensinaram.

    Adsum · em sala de aulaO crachá que apitava e não aparecia

    Numa turma grande, o professor relatou que o leitor apitava e nada acontecia na tela. Sem erro, sem aviso. A causa estava num detalhe de tempo: o intervalo entre teclas era medido quando o código rodava, não quando a tecla chegava. Com a tela ocupada redesenhando a lista, o atraso do navegador parecia digitação humana, e a rajada inteira era recusada em silêncio.

    A correção foi medir pelo carimbo do próprio evento. A prova foi física: um ESP32-S3 se passando por teclado USB, digitando crachás no Chrome de verdade, simulou uma turma de 200 pessoas duas vezes. Todas as leituras chegaram. O mesmo rig confirmou que digitação humana continua sendo recusada.

    O que ficou: teste em ambiente simulado prova coerência; o caminho físico inteiro é o que prova o conserto.

    pH e ORP · engenharia reversaA mentira necessária

    Um monitor de qualidade de água só funcionava pela nuvem do fabricante. Troquei o módulo Wi-Fi por um ESP32-C3 e passei a falar o protocolo serial dele direto. O microcontrolador interno respondia ao início da conversa e depois ficava em silêncio absoluto.

    O que destravou: dizer a ele que estávamos conectados à nuvem (status 0x04), e não só ao Wi-Fi. Junto disso, responder sempre com a versão 0x00 no cabeçalho, mandar um sinal de vida a cada 10 segundos e entregar a hora certa quando ele pede. Com isso, os oito sensores passaram a chegar sem parar, sem nuvem nenhuma.

    O que ficou: quando um sistema fica mudo, a pergunta não é o que está quebrado, mas o que ele está esperando ouvir.

    Infraestrutura · Oracle CloudA cota que caiu pela metade

    Praticamente todo tutorial diz que o plano gratuito da Oracle dá 4 núcleos ARM e 24 GB de memória. A própria documentação da casa dizia o mesmo. Medi na máquina: eram 2 núcleos e 12 GB, que hoje são o teto real do plano.

    Ajustei a instância exatamente nesse limite. Pedir o que todo mundo diz que é grátis teria virado cobrança. Na mesma revisão, achei que a máquina não tinha saída para a internet por um motivo estrutural, e não por defeito; a saída passou a ser um túnel gerenciado pelo sistema, sem custo nenhum.

    O que ficou: número escrito não é número medido. Antes de decidir, eu confiro na máquina.

    Contato

    Tem um problema que mistura coisa física com software?

    Me conta. Pode ser um protótipo, um sistema que já existe e precisa ficar confiável, ou só uma ideia que ainda não sabe o que é.

    LinkedInGitHub