Hardware — Smart Meter ESP32¶
Este documento consolida o material técnico de hardware/firmware do Smart Meter (camada Edge Computing) que alimenta o Mileora via MQTT. É a versão resumida e versionada do material bruto que fica em hardware/ na raiz do projeto (pasta não versionada — ver seção 9).
Status atual: protótipo monofásico montado, calibrado e instalado em um quadro elétrico residencial real, rodando na ESP32 clássica. O firmware trifásico existe e compila para as quatro placas da família ESP32 (clássica, S3, C6 e C5), mas ainda não há montagem física do trifásico. A plataforma definida para o produto é a ESP32-S3 N16R8, e o pedido atual de componentes cobre 2 medidores monofásicos e 3 trifásicos nessa placa (seção 2).
Compras: o link de afiliado usado nas compras de componentes é https://meli.la/1aKzpWS.
1. Arquitetura Edge (monofásico)¶
| Componente | Modelo | Função |
|---|---|---|
| Microcontrolador | ESP32-S3 N16R8 (DevKitC-1, 44 pinos, 16 MB Flash, 8 MB PSRAM, USB-C nativa) | Processamento e conectividade. Substituiu a ESP32 clássica de 30 pinos em 16/09/2026, quando a S3 passou a ser a plataforma do produto (ver ~/life/Trabalho/Nascer/mileora-comparativo-esps.md) |
| Expansão / borne | Borne de parafuso ou placa de expansão de 44 pinos | Conexões externas. O shield de 30 pinos da clássica não serve na S3, e encaixar à força pode inverter polaridade |
| Fonte | Chaveada AC/DC 5 V, 2 A | Alimentação. A S3 trabalha com 5 V no pino 5V ou na USB-C; não alimentar com 12 V, a placa queima |
| Caixa | Plástica Patola (PB-114/2 TE, 38x97x148mm) | Alojamento |
| Sensor de tensão | ZMPT101B | Amostragem pelo ADS1115, canal A0 da fase, e não pelo ADC interno do ESP32. Ler tensão e corrente no mesmo conversor é o que reduz o erro de fase do fator de potência |
| Sensor de corrente | SCT-013-100 (100A/1V, não invasivo) | Corrente via pinça amperimétrica, no canal A1 do mesmo ADS1115 da fase |
| Conversor A/D | ADS1115 (16 bits, I2C, endereço 0x48) | Tensão e corrente da fase, em alta resolução |
| Circuito de bias | 2x resistores 10kΩ + 1x capacitor 10µF | Gera referência DC de 1.65V para o SCT-013 |
| RTC | DS3231 (I2C, endereço 0x68, bateria CR2032) | Hora válida desde o boot, sem depender de NTP — timestamps do buffer offline e TLS (firmware v3, montado e validado em 18/07/2026) |
O DS3231 compartilha o barramento I2C com os ADS1115 — endereço 0x68 não conflita com os 0x48/0x49/0x4A dos conversores.
Pinagem mudou com a troca de placa. No firmware, o mapa da S3 é: I2C em GPIO8 (SDA) e GPIO9 (SCL), botão de reset em GPIO4. Ficam fora de uso os GPIO22 a 25, que não existem na S3, os GPIO33 a 37, ocupados pela PSRAM octal do módulo N16R8, os GPIO19 e 20, que são a USB nativa, e os pinos de strapping (GPIO0, 3, 45 e 46). A clássica usava I2C em 21/22 e botão em 13.
Como a tensão passou a ser lida no ADS1115, a S3 não depende mais de pinos de ADC interno, o que era a principal restrição de pinagem na versão antiga (D35, D34 e D33 na clássica).
2. Orçamento (BOM)¶
Valores revisados em 16/09/2026, na troca da ESP32 clássica pela ESP32-S3 e no fechamento do pedido de 2 medidores monofásicos e 3 trifásicos. O preço da placa S3 é o do anúncio atual; os itens marcados como referência ainda precisam de conferência no ato da compra.
Monofásico (protótipo base)¶
| Componente | Qtd. | Preço Unit. (R$) | Subtotal (R$) |
|---|---|---|---|
| Microcontrolador ESP32-S3 N16R8 (DevKitC-1, 44 pinos, 16 MB + 8 MB PSRAM, USB-C duplo) | 1 | 66,99 | 66,99 |
| Expansão / borne de parafuso para 44 pinos | 1 | 29,90 (referência) | 29,90 |
| Fonte Chaveada AC/DC (5 V, 2 A) | 1 | 29,90 (referência) | 29,90 |
| Caixa Plástica Patola (PB-114/2 TE) | 1 | 48,30 | 48,30 |
| Módulo Sensor de Tensão AC (ZMPT101B) | 1 | 22,97 | 22,97 |
| Sensor de Corrente AC Não Invasivo (SCT-013, 100A/1V) | 1 | 47,90 | 47,90 |
| Módulo Conversor ADC (ADS1115, 16 bits, I2C) | 1 | 19,00 | 19,00 |
| Kit Jumper Fêmea-Fêmea 20cm (10 un.) | 1 | 11,00 | 11,00 |
| Módulo RTC DS3231 (I2C, com bateria CR2032) | 1 | 18,00 (estimativa) | 18,00 |
| Total monofásico | R$ 293,96 |
Trifásico (escala comercial)¶
| Componente | Qtd. | Preço Unit. (R$) | Subtotal (R$) |
|---|---|---|---|
| Microcontrolador ESP32-S3 N16R8 (DevKitC-1, 44 pinos, 16 MB + 8 MB PSRAM, USB-C duplo) | 1 | 66,99 | 66,99 |
| Expansão / borne de parafuso para 44 pinos | 1 | 29,90 (referência) | 29,90 |
| Fonte Chaveada AC/DC (5 V, 2 A) | 1 | 29,90 (referência) | 29,90 |
| Caixa Plástica Patola (PB-114/2 TE) | 1 | 48,30 | 48,30 |
| Módulo Sensor de Tensão AC (ZMPT101B) | 3 | 22,97 | 68,91 |
| Sensor de Corrente AC Não Invasivo (SCT-013, 100A/1V) | 3 | 47,90 | 143,70 |
| Módulo Conversor ADC (ADS1115, 16 bits, I2C) | 3 | 19,00 | 57,00 |
| Kit Jumper Fêmea-Fêmea 20cm (10 un.) | 3 | 11,00 | 33,00 |
| Módulo RTC DS3231 (I2C, com bateria CR2032) | 1 | 18,00 (estimativa) | 18,00 |
| Total trifásico | R$ 495,70 |
O núcleo de processamento e alojamento (S3, expansão, fonte, caixa) mantém-se único na versão trifásica; apenas os sensores de leitura e conversores são triplicados.
Compra atual: 2 monofásicos e 3 trifásicos¶
Lista consolidada do pedido, com as quantidades somadas:
| Componente | Qtd. | Preço Unit. (R$) | Total (R$) |
|---|---|---|---|
| ESP32-S3 N16R8 (DevKitC-1, USB-C duplo) | 5 | 66,99 | 334,95 |
| Expansão / borne de parafuso 44 pinos | 5 | 29,90 | 149,50 |
| Fonte Chaveada AC/DC 5 V, 2 A | 5 | 29,90 | 149,50 |
| Caixa Plástica Patola (PB-114/2 TE) | 5 | 48,30 | 241,50 |
| Módulo Sensor de Tensão AC (ZMPT101B) | 11 | 22,97 | 252,67 |
| Sensor de Corrente AC SCT-013-100 | 11 | 47,90 | 526,90 |
| Módulo Conversor ADC ADS1115 | 11 | 19,00 | 209,00 |
| Kit Jumper Fêmea-Fêmea (10 un.) | 11 | 11,00 | 121,00 |
| Módulo RTC DS3231 com bateria | 5 | 18,00 | 90,00 |
| Total do pedido | 29 itens | R$ 2.075,02 |
Por unidade: monofásico R$ 293,96 e trifásico R$ 495,70. A soma bate com o total do pedido: 2 x 293,96 mais 3 x 495,70 dá R$ 2.075,02.
Onde comprar: as compras saem por este link de afiliado do Mercado Livre, que já está apontando para a placa S3 N16R8 correta: https://meli.la/1aKzpWS
O que mudou nesta revisão, e por quê¶
- ESP32 clássica substituída pela ESP32-S3 N16R8, nas duas tabelas. A clássica compila o firmware trifásico com 90 por cento do slot de aplicação ocupado, o que deixa 120 KB livres e nenhuma folga para o portal, o OTA e o buffer. Na S3 o mesmo binário ocupa 7 por cento de um slot de 3 MB, e sobram quase 10 MB para o buffer de leituras offline. O preço da troca é de R$ 28,39 por medidor
- Shield expansor de 30 pinos saiu. Ele não encaixa na S3, que tem 44 pinos, e forçar o encaixe pode inverter alimentação e terra. No lugar entra uma expansão ou borne de 44 pinos
- Fonte passou de 12 V para 5 V. A S3 é alimentada com 5 V pelo pino 5V ou pela USB-C. Os 12 V do conjunto antigo vinham do regulador do shield, que saiu da lista. Não ligar 12 V na S3.
- Fonte de tensão corrigida no documento. A seção 2 dizia 12 V e o modelo de RFQ da seção 8.4 dizia 5 V. Agora está 5 V nas duas
- DS3231 entrou na tabela do trifásico. Ele existia na lista do monofásico e no firmware, mas faltava na lista do trifásico
- ADC interno saiu do caminho de medição. A S3 não depende mais de pino de ADC interno, porque tensão e corrente de cada fase são lidas no mesmo ADS1115. No trifásico são três conversores, em 0x48, 0x49 e 0x4A
- Valores que continuam como referência: a expansão de 44 pinos, a fonte de 5 V e o DS3231. Os três precisam de conferência no ato da compra, porque não têm anúncio confirmado como a placa tem
Comparação com o orçamento anterior¶
| Versão | Monofásico | Trifásico |
|---|---|---|
| Antes, com ESP32 clássica e shield | R$ 257,17 | R$ 440,91 |
| Agora, com ESP32-S3 | R$ 293,96 | R$ 495,70 |
| Diferença | +R$ 36,79 | +R$ 54,79 |
O aumento por unidade vem da placa mais cara, mais a expansão e a fonte de 5 V entrarem no lugar do shield e da fonte de 12 V.
Este orçamento cobre compra unitária/varejo. Para a estimativa de custo em escala (100+ unidades) — ver seção 8; é uma estimativa a partir de dados públicos de atacado, não uma cotação formal confirmada por fornecedor.
3. Firmware¶
Stack (v1): WiFi.h, WiFiClientSecure, MQTT (biblioteca de Joël Gähwiler), Wire.h, Adafruit_ADS1X15, ArduinoJson, time.h.
Stack (v3, adições): LittleFS (buffer offline), Preferences (kWh persistente em NVS), RTClib (DS3231), ArduinoOTA (atualização por Wi-Fi), esp_sntp.h (callback de sincronização NTP → ajuste do RTC).
Versões:
| Versão | Arquivo | Conteúdo |
|---|---|---|
| v1 | hardware/ESP32_script.txt | Medição + MQTT TLS (em produção no protótipo instalado) |
| v2 | hardware/ESP32_script_v2_buffer.txt | + buffer local, kWh persistente, reconexão não-bloqueante |
| v3 | firmware/smart_meter_v3/smart_meter_v3.ino (versionado) | + RTC DS3231, OTA por Wi-Fi, downsample adaptativo (gravado e validado em 18/07/2026 — em produção) |
A v3 é a primeira versão versionada no repositório: as credenciais ficam em firmware/smart_meter_v3/secrets.h (ignorado pelo git — copie de secrets.example.h e preencha antes de compilar).
Requisitos de compilação da v3: biblioteca RTClib (Adafruit) via Library Manager. Sobre a tabela de partição, a regra que vale para as duas placas: a tabela da pasta do sketch é copiada por último e ganha de qualquer esquema escolhido no menu da IDE. Basta ter o partitions.csv ao lado do .ino:
- Na ESP32 clássica (protótipo instalado), manter o esquema "Default 4MB with spiffs" no menu e a tabela própria na pasta do sketch, que dá dois slots de aplicação de 1.440 KB, com o OTA funcionando, e 1,15 MB de buffer. Não usar "Huge APP", que remove o OTA
- Na ESP32-S3 N16R8, a tabela de 16 MB dá dois slots de 3 MB e quase 10 MB de buffer
Antes de gravar, definir OTA_PASSWORD.
Fluxo de atualização OTA: a primeira gravação da v3 é via USB; depois, o dispositivo aparece na IDE Arduino como Porta de Rede (smartmeter-sm001, protegido por senha) e as próximas atualizações são feitas pela rede local, sem abrir a caixa. Durante o upload, a amostragem pausa e o kWh é salvo no NVS antes do reinício. O OTA só funciona na mesma LAN (não via internet).
Fluxo de execução:
1. Conecta ao Wi-Fi e sincroniza o relógio via NTP (obrigatório para validar a cadeia de certificados TLS).
2. Conecta ao broker HiveMQ Cloud via MQTTS (porta 8883), com Last Will and Testament configurado no tópico de status.
3. A cada ciclo, coleta 500 amostras de tensão e corrente (a 860 SPS no ADS1115, ~0,6s), calcula Vrms/Irms via teorema da variância (remove o offset DC sem precisar de uma constante fixa), aplica um filtro passa-alta para zerar leituras com irms < 0.1A, e calcula potência ativa e fator de potência.
4. Publica o payload a cada 5 segundos no tópico casa/{mqtt_id}/telemetria.
Payload MQTT (monofásico ativo):
{ "vrms": 220.5, "irms": 4.2, "watts": 910.1, "fp": 0.98, "kwh": 12.34, "ts": 1751500000 }
Nota de segurança: o firmware de referência (
hardware/ESP32_script.txt, não versionado) contém credenciais de Wi-Fi e MQTT em texto puro, usadas apenas na bancada de testes. Não usar esse arquivo como template sem antes extrair as credenciais para fora do código-fonte.
4. Calibração e Validação¶
Resultados obtidos durante a validação metrológica em bancada, documentados no Relatório Técnico original (hardware/, não versionado):
- Conectividade TLS: a ausência de RTC no ESP32 fazia o relógio iniciar em 1970, invalidando a cadeia de certificados — resolvido com sincronização NTP obrigatória antes do handshake TLS. A biblioteca
PubSubClient(buffer de 256 bytes) foi substituída pelaMQTTClient(buffer de 1024 bytes) para acomodar a URL do broker + cabeçalhos de criptografia.net.setInsecure()é usado para evitar esgotamento de SRAM na validação da cadeia de certificado — o tráfego permanece 100% criptografado ponto-a-ponto, apenas a validação da assinatura de terceiros é suprimida. - Estabilidade da conexão: desconexões intermitentes a cada ~22s ("efeito ioiô") eram causadas pela janela de amostragem bloqueando a main thread além do Keep-Alive do broker. Resolvido elevando o Data Rate do ADS1115 de 128 SPS para o máximo de hardware (860 SPS).
- Calibração de tensão (ZMPT101B): ganho ajustado via trimpot + calibração por software, validada contra multímetro True RMS Minipa ET-3711. Variação de aproximadamente 0,6% (225,7V real vs. 227,2V amostrado).
- Correção de offset dinâmico: o SCT-013 apresentava uma "corrente fantasma" de 0,8A em vazio, causada por dilatação térmica dos resistores do divisor de tensão (referência de 1,65V). Resolvido com o teorema da variância (calcula a média em tempo real e subtrai, isolando a componente AC do ruído DC térmico).
- Calibração de corrente: constante
CORRENTE_CAL = 0.0188, aferida cruzando a leitura da ESP com um alicate amperímetro de referência (3,32A). - Fator de potência: validado sob carga puramente resistiva, resultando em FP = 0,99.
Ressalva sobre o FP: carga resistiva tem FP verdadeiro igual a 1,000, e é o único ponto da curva onde um erro de fase não aparece. O valor de 0,99 indica um erro sistemático de aproximadamente 8 graus, que superestima o FP em cargas indutivas e cresce conforme o FP cai. A medição não está validada fora da carga resistiva.
Os 8 graus são ordem de grandeza inferida de um único ponto, não constante de calibração. O mecanismo proposto (leitura não simultânea de tensão e corrente) implicaria um atraso bem maior que o inferido, e parte do erro pode vir do ZMPT101B ou do núcleo do SCT-013. Por isso o número não deve ser invertido sobre leituras de produção para estimar o FP real de uma instalação: qualquer leitura mapeia para algum valor de aparência plausível, e isso não constitui medição. Análise completa, impacto quantificado e protocolo de ensaio em
fator-de-potencia.md.
5. Especificação Trifásica (plano de expansão — não construído)¶
Arquitetura documentada no Documento Final e na Adenda Técnica (hardware/, não versionados). Não há evidência de montagem física — o bloco trifásico está comentado no firmware de referência, e as fotos de instalação existentes mostram apenas um sensor de corrente instalado.
- 3x ZMPT101B (fases R, S, T), cada um no canal A0 do ADS1115 da sua fase, e não em pino de ADC interno. A S3 até tem ADC, mas ler tensão e corrente no mesmo conversor é o que reduz o erro de fase que fazia o fator de potência sair otimista
- 3x SCT-013-100, cada um no canal A1 do mesmo ADS1115 da fase, um conversor dedicado por fase, para evitar o gargalo de multiplexação que reduziria a taxa efetiva de amostragem pela metade
- Endereçamento I2C via pino
ADDR:0x48(GND, fase R),0x49(VDD, fase S),0x4A(SDA, fase T) - Circuito de bias único (1,65V) compartilhado entre os três sensores de corrente, para economia de espaço
- PHASECAL (biblioteca EmonLib): corrige digitalmente o desfasamento introduzido pelo núcleo do SCT-013 e pelo tempo de resposta I2C do ADS1115, necessário para o cálculo correto de cos(φ)
- Payload MQTT passaria a agrupar a telemetria por fase (V, I, W, FP) mais a totalização (Watts e kWh)
- Custo: R$ 495,70 (seção 2)
A versão trifásica do firmware já existe e foi compilada para as quatro placas. Na ESP32-S3 ela ocupa 1.176.235 bytes, ou 7 por cento do slot de 3 MB do módulo de 16 MB, com 54.292 bytes de RAM em uso. O mesmo código compila sem alteração para a clássica, para o C6 e para o C5.
6. Segurança Elétrica¶
O protótipo monofásico já está instalado em um quadro elétrico residencial real (evidência fotográfica em hardware/, não versionada).
Precauções técnicas de projeto adotadas na instalação: desenergização total do painel durante a acoplagem do sensor, isolamento do circuito de bias, e uso de um sensor de corrente não invasivo (não há corte de fio nem contato direto com condutores energizados).
Ressalva importante: este documento registra as precauções técnicas de engenharia adotadas no projeto. Ele não substitui uma Anotação de Responsabilidade Técnica (ART) nem certifica conformidade legal com a NBR 5410 ou a NR-10. Conformidade formal exige inspeção e assinatura de um profissional habilitado (eletricista/engenheiro eletricista), o que está fora do que este projeto de software pode produzir.
7. Persistência Local (firmware v3 — implementada e validada em 18/07/2026)¶
O firmware v1 (hardware/ESP32_script.txt) não tem buffer local e, pior, bloqueia a medição durante quedas de rede (os while de reconexão travam o loop principal — nem o kWh acumula). O incidente de produção de 2026-07-13 (~3 dias de leituras perdidas) materializou esse risco.
O firmware v3 (firmware/smart_meter_v3/, versionado) trata o gap com três mudanças:
- Buffer local (LittleFS) com downsample adaptativo: leituras não publicadas são gravadas em dois arquivos em rodízio (~600KB cada). Quedas curtas (até ~4,5h) são bufferizadas na taxa cheia de 5s (fidelidade total para o NILM); acima de metade da capacidade do arquivo, a taxa cai para 1 leitura a cada 30s, estendendo a cobertura total para ~31h–62h de queda. O kWh do período nunca se perde (campo acumulativo). Ao reconectar, o backlog é reenviado em lotes com o
tsoriginal — o backend usatscomomeasured_ate deduplica por janela de ±3s, então o histórico se preenche retroativamente. - kWh persistente (NVS): o acumulado sobrevive a reboot/queda de energia; gravação a cada 0.05 kWh para limitar desgaste da flash.
- Reconexão não-bloqueante: a medição continua rodando sem rede; Wi-Fi/NTP/MQTT são retentados a cada 15s sem travar o loop.
Limitação da v2 (resolvida na v3): após queda de energia (não só de rede), o relógio só era válido depois do NTP — leituras sem hora válida não eram bufferizadas. A v3 integra o RTC DS3231 (adquirido em jul/2026): o relógio do sistema é restaurado do RTC no boot (hora em UTC, bateria CR2032), e o NTP passa a apenas corrigir o drift do RTC quando há rede.
Status: CONCLUÍDO em 18/07/2026 — DS3231 montado no barramento I2C compartilhado (GPIO21/22), firmware v3 gravado via USB (placa substituta, perfil ESP32-WROOM-DA, partição "Default 4MB with spiffs") e troca física realizada no quadro mantendo a identidade SM-001. Os 3 cenários de validação foram executados (ver PRD item 21.1.8/21.1.9): (1) queda de energia+internet com timestamp íntegro restaurado do DS3231 no boot sem rede; (2) upload OTA real com kWh contínuo através de reinícios; (3) queda de Wi-Fi prolongada (12,6 min) com 30 leituras bufferizadas entregues com ts correto e kWh estritamente crescente.
8. Custo em Escala¶
Natureza desta seção: o que segue é uma estimativa documentada a partir de anúncios públicos de atacado (Alibaba/AliExpress) e de prática comum de desconto por volume de distribuidores brasileiros de eletrônica para maker (FilipeFlop, RoboCore, Eletrogate) — não é uma cotação formal de um fornecedor específico para este pedido. O critério de conclusão original ("pelo menos uma cotação por lote real") ainda não foi atendido no sentido estrito — o próximo passo concreto é enviar um RFQ (pedido formal de cotação) a 2–3 distribuidores nomeados acima para um lote de 100 unidades e substituir as estimativas abaixo pelos valores reais recebidos.
8.1 Metodologia¶
Cotação USD/BRL de referência: R$ 5,10 (13/07/2026, Investing.com/Banco Central). Desconto de volume aplicado sobre o preço unitário de varejo (seção 2) por categoria de componente, com base no padrão observado publicamente para pedidos de 100+ unidades:
| Componente | Preço varejo (R$) | Desconto estimado (100+ un.) | Preço estimado em lote (R$) | Base da estimativa |
|---|---|---|---|---|
| ESP32-S3 N16R8 (16 MB + 8 MB) | 66,99 | 22% | 52,25 | Placa comoditizada, mas com PSRAM octal e 16 MB de flash, mais caras que a clássica de 4 MB |
| Expansão / borne 44 pinos | 29,90 | 20% | 23,92 | PCB genérica, sem dado de mercado específico — desconto típico de categoria |
| Fonte Chaveada AC/DC 5 V | 29,90 | 15% | 25,42 | Fontes têm margem mais apertada mesmo no atacado |
| Caixa Plástica Patola | 48,30 | 25% | 36,22 | Injeção plástica nacional tem bom ganho de escala a partir de 100+ un. |
| Sensor de Tensão ZMPT101B | 22,97 | 20% | 18,38 | Tabela pública Alibaba: 1un. US$0,77 → 500+un. US$0,60 (≈22%) |
| Sensor de Corrente SCT-013-100 | 47,90 | 15% | 40,72 | Núcleo bobinado encarece o custo de material; desconto de escala mais modesto que sensores passivos |
| Conversor ADC ADS1115 | 19,00 | 30% | 13,30 | Breakout board I2C muito comoditizado; preço de varejo "boutique" (~US$9,75) tem margem alta sobre o FOB |
| Kit Jumper (10un.) | 11,00 | 25% | 8,25 | Componente de commodity extrema |
| Módulo RTC DS3231 (c/ bateria) | 18,00 (estimativa — preencher com o valor real da compra de jul/2026) | 20% | 14,40 | Preço de varejo nacional típico para módulo com bateria CR2032; não confirmado com o recibo real da compra |
| Total estimado (100 un., monofásico) | 293,96 | ≈ 232,85 | ≈ 20,8% abaixo do varejo (ponderado) |
* Total varejo com o RTC na estimativa de R$18 (a seção 2 mantém o RTC em aberto até o recibo real ser lançado).
8.2 Da estimativa de custo de componentes ao preço de venda sugerido¶
O custo de componentes não é o custo de produção nem o preço de venda. Adicionando estimativas conservadoras de montagem/teste, embalagem e garantia (valores próprios, não cotados):
| Item | Valor estimado (R$) | Base |
|---|---|---|
| Componentes (100 un., seção 8.1) | 232,85 | Tabela acima |
| Montagem, calibração e teste por unidade | 20,00 | ~15–20 min de mão de obra por unidade a taxa de mercado para montagem eletrônica simples |
| Embalagem, etiqueta e manual | 8,00 | Estimativa própria |
| Reserva de defeito/garantia (~3%) | 6,99 | 3% sobre o custo de componentes |
| Custo total de produção estimado | ≈ 267,84 | |
| Margem sugerida (35%, cobre P&D/suporte/distribuição) | +93,74 | Estimativa própria — típica para hardware de nicho em pequena escala |
| Preço de venda unitário sugerido (lote de 100) | ≈ R$ 361,58 |
8.3 Nota de honestidade sobre a distância do valor de referência do briefing¶
O briefing do Desafio 6 cita ~R$150 como referência de custo unitário. A estimativa acima (≈R$361,58 de venda, ≈R$267,84 de custo de produção) fica acima dessa referência, e a troca para a S3 ampliou a distância. É importante não maquiar esse número. O motivo estrutural: o BOM atual usa módulos "breakout" prontos (expansão, ADS1115 avulso, caixa injetada de terceiros) pensados para prototipagem, não uma placa de produção. Uma versão real de produto integraria o ESP32-S3, o condicionamento de sinal e o RTC em uma PCB própria (eliminando a expansão, o ADS1115 avulso e a caixa de terceiros) e usaria um invólucro sob molde próprio — o que reduziria o custo de material de forma muito mais agressiva do que desconto de volume sobre os módulos atuais, mas exige investimento de engenharia (NRE) e um lote mínimo de produção tipicamente medido em milhares de unidades, não 100. Fechar o gap até ~R$150 é, portanto, uma decisão de investir em uma segunda geração de hardware — não algo alcançável só por comprar mais unidades dos mesmos módulos de prototipagem. O projeto da placa própria, com contorno, roteamento e Gerbers, já existe em ~/life/Trabalho/Nascer/mileora-pcb/.
8.4 Próximo passo real — RFQ¶
Enviar RFQ para 2–3 distribuidores nacionais (FilipeFlop, RoboCore, Eletrogate) especificando: 100 unidades de cada item da seção 8.1, prazo de entrega e condição de pagamento — e substituir as estimativas desta seção pelos valores recebidos antes de qualquer decisão de compra.
Modelo pronto para envio (e-mail ou formulário de atendimento comercial do distribuidor):
Assunto: Pedido de cotação — lote de 100 unidades (projeto de medidor de energia residencial)
Prezados,
Estou desenvolvendo um medidor de energia residencial não invasivo (projeto Mileora · Smart Meter, incubado na 1ª Jornada Incubintech de Inovação Aberta / IFSC Florianópolis) e solicito cotação formal para o lote abaixo, com desconto por volume, prazo de entrega e condições de pagamento:
Item Qtd. Placa de desenvolvimento ESP32-S3 N16R8 (16 MB flash, 8 MB PSRAM) 100 Expansão / borne de 44 pinos para ESP32-S3 100 Fonte chaveada AC/DC 5 V, 2 A 100 Caixa plástica tipo Patola (ou equivalente) 100 Sensor de tensão ZMPT101B 100 Sensor de corrente não invasivo SCT-013-100 (100 A) 100 Conversor ADC ADS1115 (breakout I2C) 100 Kit jumper fêmea-fêmea (10 un.) 100 Módulo RTC DS3231 com bateria CR2032 100 Pedimos, se possível: (1) preço unitário por item nesta quantidade; (2) validade da cotação; (3) prazo de entrega para Florianópolis/SC; (4) faixas de desconto adicionais (250/500 un.) caso existam.
Atenciosamente, [nome] — [telefone/e-mail]
Registro das respostas (preencher ao receber):
| Distribuidor | Data do envio | Data da resposta | Total do lote (R$) | Validade | Prazo | Observações |
|---|---|---|---|---|---|---|
| FilipeFlop | — | — | — | — | — | — |
| RoboCore | — | — | — | — | — | — |
| Eletrogate | — | — | — | — | — | — |
9. Material de Referência (pasta hardware/, não versionada)¶
A pasta hardware/ na raiz do projeto contém o material bruto usado para compor este documento, mas não é versionada (ver .gitignore) — entre outros motivos, porque o firmware de referência ali contém credenciais em texto puro (seção 3) e a pasta inclui fotos em formato HEIC de tamanho considerável. Conteúdo local disponível:
Orçamento de Hardware_ Smart Meter EnergIA (1).docx— BOM original (seção 2). Atenção: esse arquivo ainda traz o BOM com a ESP32 clássica e o shield de 30 pinos. A versão vigente do orçamento é a seção 2 deste documento, revisada em 16/09/2026Relatório Técnico_ Validação e Calibração do Edge Computing.docx— ensaios de calibração (seção 4).Documento Final_ Especificação e Arquitetura - Smart Meter IoT (Trifásico).docx— arquitetura trifásica completa (seção 5).Adenda Técnica_ Medição de Fator de Potência e Expansão Trifásica.docx— cálculo de FP e escalonamento trifásico.ESP32_script.txt— firmware de referência v1 (monofásico ativo, trifásico comentado).ESP32_script_v2_buffer.txt— firmware v2 com buffer local, kWh persistente e reconexão não-bloqueante (seção 7).- Fotos dos componentes (
ESP32.png,modulo_ads1115.png,modulo_tensao.png,sensor_corrente.png,fonte_chaveada.png,caixa_patola.png,jumpers.png,modulo_expansor.png). - Fotos da montagem física e da instalação no quadro elétrico real (
IMG_39*.HEIC). - Captura de tela do dashboard com telemetria real (
Captura de tela 2026-06-09.png).
O firmware v3 (alvo) não fica nesta pasta: é versionado em
firmware/smart_meter_v3/na raiz do repositório, com credenciais separadas emsecrets.hnão versionado (seções 3 e 7).Ver também
EnergIA_vs_Desafio6_Analise.docx(raiz do projeto), seções 5.5 e 6, para o mapeamento desses itens contra os requisitos do Desafio 6 e o plano de sprints para fechar os gaps de persistência local, segurança elétrica e custo em escala (PRD.md, Sprint 21).