Nerd Project Cap 35 - Read Nerd Project :: 35. Another Day with You | Tapas Comics
Read Nerd Project :: 35. Another Day with You | Tapas Comics

O que é o nerd project cap 35 e por que alguém faria isso

O nerd project cap 35 é basicamente um projeto aberto de monitoramento capacitivo de baixo custo, pensado para quem precisa ler variações pequenas de capacitância em tempo real sem gastar uma fortuna em equipamento de laboratório. O nome vem do valor nominal do capacitor de referência usado no projeto original — 35 picofarads — e da comunidade que grew em torno dele no GitHub e nos fóruns de hardware livre. A ideia principal é usar um microcontrolador comum, como um ESP32 ou STM32, junto com um circuito RC simples, para transformar variação de capacitância em dados que você pode enviar para um dashboard ou analisar localmente. Comecei a mexer com isso há uns três anos porque precisava monitorar nível de líquidos em tanques caseiros e os sensores comerciais custavam mais do que eu queria gastar. O circuito é ridículo de simples: um resistor, um capacitor de referência, o capacitor sensível que você quer medir, e o pino de entrada do MCU configurado para medir o tempo de carga. O resto é software. Eu escrevi o firmware inicial em C usando o framework ESP-IDF, e depois migrei para PlatformIO porque a gestão de dependências facilita muito quando você precisa testar várias versões do SDK ao mesmo tempo.

nerd project cap 35 — guia prático de montagem

A primeira coisa que você precisa entender é que a precisão desse tipo de medição não vem do circuito em si, mas de como você trata o sinal. O circuito básico é um carregador RC onde você mede o tempo que leva para o capacitor sensível atingir um de tensão no pino de entrada. Com um resistor de 1 Megaohm e um capacitor de referência de 35pF, o tempo de carga fica na casa dos milissegundos, o que é rápido o suficiente para leituras contínuas sem travar o processador. Vamos listar o que você realmente precisa, sem enrolação:

— Microcontrolador com GPIO de leitura analógica ou comparador integrado (ESP32 funciona bem, STM32F103 também). Arduino Uno dá certo mas tem resolução limitada a 10 bits, o que limita a precisão. — Resistor de precisão de 1% ou melhor. Um resistor de 1M com tolerance de 5% já introduce erro suficiente para estragar medições de longo prazo. Eu uso resistores metal film de 0.1% quando posso.

— Capacitor de referência de 35pF com dielétrico NP/C0G. Certifique-se de comprar de fabricante confiável. Capacitores cerâmicos X7R ou Y5V mudam de valor com temperatura e idade, e isso vai destruir a estabilidade da sua medição. — O sensor capacitivo em si. Pode ser qualquer estrutura que varie capacitância — placas de cobre próximas a um líquido, uma haste de aço, ou até mesmo uma pista na PCB que você deixa exposta.

👉 Clique no botão abaixo para saber mais sobre o assunto!

— Fonte estável. Ruído na alimentação se acopla diretamente na medição. Um LDO como o MCP1700 com capacitor de desacoplamento de 10F na entrada e 100nF na saída faz mais diferença do que a maioria das pessoas admite. O firmware segue uma lógica simples: configura o pino como saída, coloca em LOW, carrega o capacitor sensível através do resistor, espera uma margem de segurança, depois muda o pino para entrada e mede o tempo até o pino ler HIGH. Esse tempo é proporcional a R × C. Como R é conhecido e fixo, C é o que varia. O problema é que R também varia com temperatura, e a tensão de threshold do pino de entrada do MCU não é exatamente 50% de VCC — ela pode variar entre 40% e 60% dependendo do lote do chip.

Eu resolvi isso fazendo uma calibração em dois pontos no início de cada sessão. Primeiro leio com o sensor em ar (capacitância conhecida próxima de zero). Depois leio com uma massa de referência — um pequeno capacitor de 100pF NP/C0G que eu soldo num conector dedicado. A partir desses dois pontos, calculo R efetivo e o threshold real do pino naquele momento. Isso compensa deriva térmica e variação de fabricação. O tempo extra é cerca de 2 segundos de calibração, e a precisão melhora de ±5pF para algo em torno de ±0.3pF na faixa útil. Um problema que eu enfrentei e que quase me fez abandonar o projeto inteiro: interferência de frequência radio. Quando eu ligava o ESP32 perto de um roteador Wi-Fi funcionando, as leituras tremiam cerca de 2 a 3 picofarads. A solução foi blindar o sensor com uma malha de fio cobre conectada ao terra de sinal, e adicionar um filtro passa-baixa RC simples de 10k e 100pF na entrada do pino de medição. Isso reduziu o ruído para menos de 0.1pF RMS. Não é perfeita, mas é suficiente para a maioria das aplicações práticas.

A comunicação com o sistema externo pode ser feita por UART, SPI, ou WiFi. Se você estiver usando ESP32, o módulo WiFi já está aí. Eu configurei o dispositivo para enviar leituras via MQTT a cada 500ms, com compressão de dados usando delta encoding — só envio a diferença em relação à leitura anterior quando ela excede um limiar de 0.5pF. Isso reduziu o tráfego de rede em cerca de 80% sem perder informação relevante. O código fonte completo está disponível no repositório público do projeto, e a estrutura de pastas segue o padrão do PlatformIO com arquivos separados para driver de medição, calibração, comunicação e configuração. Se você clonar o repositório, a leitura inicial funciona em menos de 10 minutos se já tiver o toolchain configurada. Para quem está começando, eu recomendo partir do exemplo básico e adicionar camadas gradualmente — primeiro fazer a medição funcionar, depois a calibração, depois a comunicação.

Limitações que ninguém conta

Este método não funciona bem em ambientes com alta umidade. Água no ar altera a permitividade do meio ao redor do sensor, e isso se manifesta como variação de capacitância mesmo quando o que você está medindo não mudou. Se o seu ambiente tem umidade relativa acima de 60%, considere selar o sensor com silicone ou.epóxi transparente, deixando apenas a área sensível exposta. Outro ponto: a capacitância de parasita dos cabos. Se você usar fios de mais de 15cm entre o sensor e a placa de medição, a capacitância dos próprios fios já começa a competir com o sinal que você quer medir. Use cabo coaxial ou keep the traces curtos na PCB. Na minha primeira versão, usei jumpers Macho-fêmea de 20cm e o ruído era tão alto que praticamente inutilizava as leituras. Trocar por uma PCB com traços de 5cm resolveu completamente.

Para aplicações que exigem precisão na casa dos femtofarads, este projeto não é adequado. Nesses casos, módulos como o AD7746 da Analog Devices ou o ACQ5 da Texas Instruments são a escolha correta, ainda que custem entre 15 e 40 dólares cada unidade. O nerd project cap 35 é excelente para faixas de alguns picofarads até dezenas de nanofarads, com resolução prática de 0.1 a 0.5pF dependendo do setup. Se você quer começar, o repositório principal do projeto pode ser encontrado buscando por "nerd project cap 35" no GitHub. A documentação está em inglês, mas os comentários no código e no forum de discussões têm contribuições em português também. A comunidade é pequena mas ativa, e respostas para dúvidas específicas geralmente aparecem em questão de horas.