ESP32-C3 SuperMini: Por Que Duas Placas Podem Ter Alcances Tão Diferentes?
![]() |
| Testes com três ESP32-C3 SuperMini sem antena externa mostram diferenças significativas na intensidade do sinal Wi-Fi e no alcance do ESP-NOW. |
ESP32-C3 SuperMini: por que duas placas podem ter alcances tão diferentes?
Durante um projeto de uma campainha sem fio utilizando ESP-NOW, percebi um comportamento que inicialmente não consegui explicar.
Campainha sem fio com ESP32-C3 e ESP-NOW
Um dos meus ESP32-C3 SuperMini não apresentava alcance suficiente para o projeto. Porém, quando substituí o módulo por outro ESP32-C3, o resultado foi completamente diferente.
Com uma das placas consegui aproximadamente 10 metros de alcance com obstáculo, enquanto com outra o alcance ficou muito menor.
Foi então que comecei a investigar se poderia existir alguma diferença entre essas placas aparentemente tão semelhantes.
E os resultados foram bastante interessantes.
O primeiro teste: Wi-Fi
Antes de modificar qualquer coisa nas placas, resolvi comparar a intensidade do sinal Wi-Fi utilizando o próprio ESP32-C3.
Para isso, desenvolvi um pequeno medidor que apresenta o RSSI em dBm em um display OLED.
O RSSI é uma medida da intensidade do sinal recebido.
Uma característica importante é que os valores são negativos:
quanto mais próximo de 0 dBm, maior é o nível de sinal recebido;
quanto mais negativo for o valor, menor é o nível de sinal.
Teste com a primeira placa
Em uma das placas encontrei:
Média: −38,1 dBm
Mínimo: −41 dBm
Máximo: −28 dBm
Depois fiz exatamente o mesmo teste com outra ESP32-C3 SuperMini.
Teste com a segunda placa
O resultado foi bastante diferente:
Média: aproximadamente −70,4 dBm
Mínimo: −73 dBm
Máximo: −63 dBm
A diferença entre as médias ficou na ordem de 23 a 32 dB, dependendo dos valores observados durante os testes.
É importante destacar uma diferença de unidades:
dBm é utilizado para indicar o nível de potência do sinal recebido.
dB é utilizado para indicar uma diferença entre dois níveis.
Portanto, podemos dizer que as placas apresentaram uma diferença de aproximadamente 23 a 32 dB entre os níveis de RSSI observados, enquanto os valores individuais de sinal são apresentados em dBm.
Repeti o teste com uma terceira placa
Nesse momento, poderia existir a possibilidade de uma das placas simplesmente estar com algum problema.
Por isso, fiz o teste novamente utilizando uma terceira ESP32-C3 SuperMini.
O resultado dessa terceira placa ficou novamente próximo ao da segunda.
Ou seja, nos meus testes encontrei três placas com dois comportamentos diferentes:
| Placa | RSSI médio | Resultado |
|---|---|---|
| ESP32-C3 #1 | −38,1 dBm | Melhor sinal |
| ESP32-C3 #2 | ~−70,4 dBm | Sinal mais fraco |
| ESP32-C3 #3 | Semelhante à #2 | Sinal mais fraco |
Isso tornou a comparação ainda mais interessante.
Não estava simplesmente comparando uma placa que funcionava com outra que poderia estar com defeito.
Duas placas apresentaram resultados semelhantes, enquanto uma delas apresentou um desempenho significativamente melhor.
Depois veio o teste com ESP-NOW
Como o problema original apareceu no meu projeto de campainha, voltei para o ESP-NOW.
E novamente encontrei uma diferença bastante grande.
Com a placa que apresentou o melhor resultado no teste de Wi-Fi, consegui aproximadamente:
10 metros com obstáculo
Já com as outras placas, o alcance ficou aproximadamente em:
1 metro com obstáculo
Esses números são resultados dos meus testes e não devem ser considerados como especificações oficiais da ESP32-C3 SuperMini.
O alcance de uma comunicação sem fio pode variar bastante dependendo de fatores como:
ambiente;
distância;
obstáculos;
posição das placas;
orientação da antena;
alimentação;
interferências;
projeto do PCB;
região ao redor da antena.
Por isso, o objetivo aqui não é afirmar que toda ESP32-C3 SuperMini terá exatamente esses resultados.
O objetivo é mostrar uma diferença que encontrei na prática entre placas aparentemente semelhantes.
![]() |
| Testes realizados com ESP32-C3 SuperMini sem antena externa mostram uma grande diferença de alcance no ESP-NOW: aproximadamente 10 metros com obstáculo em uma placa e cerca de 1 metro nas outras. |
Observando as placas com mais atenção
Depois dos testes, comecei a observar fisicamente as duas versões da placa.
Na região da antena existe uma diferença que chamou minha atenção.
Em uma das placas, a região da antena parece ter mais espaço livre ao redor.
Na outra, existem componentes e elementos do circuito mais próximos da região da antena.
![]() |
| Comparação visual entre duas ESP32-C3 SuperMini, destacando a região da antena PCB e as diferenças no layout das placas. |
Essa observação é particularmente interessante porque uma antena PCB não deve ser analisada somente como uma trilha de cobre.
O espaço ao redor, o plano de terra, as trilhas, os componentes próximos e o próprio projeto da antena podem influenciar o desempenho de RF.
A documentação da Espressif destaca a importância da área de keep-out ao redor da antena e recomenda cuidados específicos no projeto da região de RF.
Isso levantou uma hipótese interessante:
Será que diferenças no layout das placas podem estar contribuindo para a diferença de desempenho que encontrei?
Por enquanto, essa é apenas uma hipótese baseada nas minhas observações.
Ainda não posso afirmar que essa seja a causa dos resultados.
E a antena externa?
Antes mesmo desses testes, encontrei na internet um experimento interessante envolvendo a modificação da antena da ESP32-C3 SuperMini.
O projeto utiliza um pedaço de fio de aproximadamente 31 mm, formando uma antena externa de aproximadamente um quarto de comprimento de onda.
| Teste de uma antena externa instalada em uma ESP32-C3 SuperMini para avaliar possíveis melhorias no alcance do sinal sem fio. |
O autor relata uma melhora significativa em seus testes.
Achei a experiência interessante e também resolvi testar uma modificação semelhante.
Porém, no meu caso o resultado não foi o mesmo.
Mesmo utilizando uma antena externa, o sinal que obtive continuou fraco e bastante instável.
Em vez de apresentar uma melhora consistente, os valores variavam bastante durante os testes.
Isso foi importante para minha investigação.
O experimento mostrou que simplesmente adicionar um pedaço de fio como antena não significa necessariamente que o alcance irá melhorar em qualquer placa.
Por que a antena externa pode funcionar em um teste e não funcionar em outro?
Uma antena não é simplesmente um pedaço de metal ligado ao circuito.
O sistema de RF envolve vários elementos trabalhando em conjunto:
trilha de RF;
impedância;
circuito de casamento;
antena;
plano de terra;
geometria da placa;
componentes próximos;
posição da antena;
área livre ao redor da antena.
Em projetos de RF, a conexão deve ser tratada de acordo com a impedância prevista pelo projeto, normalmente 50 Ω, e o circuito de casamento da antena também precisa ser considerado.
Por isso, uma modificação que apresenta bons resultados em uma determinada placa não significa necessariamente que produzirá o mesmo resultado em outra.
Uma alteração física na antena também pode modificar o comportamento de todo o sistema de RF.
O que descobri até agora?
Neste momento, minha conclusão é mais uma observação experimental do que uma resposta definitiva.
Tenho três ESP32-C3 SuperMini e encontrei dois comportamentos bastante diferentes.
Uma delas apresentou aproximadamente:
−38 dBm de RSSI médio
e aproximadamente:
10 metros no ESP-NOW com obstáculo
As outras duas apresentaram aproximadamente:
−70 dBm de RSSI
e aproximadamente:
1 metro no ESP-NOW com obstáculo
Além disso, observando fisicamente as placas, encontrei diferenças no layout da região próxima à antena.
Também testei uma modificação com antena externa baseada em um experimento encontrado na internet.
Embora essa modificação tenha apresentado bons resultados no teste original, na minha placa o resultado foi fraco e instável.
Isso reforça uma conclusão importante:
O desempenho da antena precisa ser analisado em conjunto com o restante do circuito e do PCB.
O que isso significa para quem vai comprar uma ESP32-C3 SuperMini?
Se você pretende utilizar uma ESP32-C3 SuperMini em um projeto que depende de alcance, como:
ESP-NOW;
sensores sem fio;
automação;
campainhas;
controles;
robôs;
comunicação entre módulos;
pode ser interessante não olhar apenas para o preço ou para a aparência geral da placa.
Existem diferentes versões e fabricantes dessa placa no mercado, e podem existir diferenças no projeto do PCB e na região da antena.
Por isso, quando o alcance é importante para o projeto, vale a pena fazer um teste antes de utilizar a placa definitivamente.
Um teste que qualquer maker pode fazer
Uma das coisas mais interessantes desse experimento é que você não precisa de um analisador de espectro ou de equipamentos profissionais para começar a investigar.
Com outro ESP32 e um display OLED, é possível montar um pequeno medidor de RSSI.
A ideia é simples:
Conectar o ESP32 a uma rede Wi-Fi.
Fazer várias leituras do RSSI.
Armazenar os valores.
Calcular a média.
Identificar o menor e o maior valor.
Comparar diferentes placas nas mesmas condições.
Dessa maneira, é possível transformar uma simples observação em um teste mais organizado.
Por exemplo:
Placa A
−38,8 dBm
Placa B
−70,7dBm
Nesse caso, existe uma diferença de aproximadamente 23 a 32 dB entre os dois níveis de sinal.
Depois, podemos complementar o teste utilizando o ESP-NOW para verificar se a diferença observada no RSSI também aparece em uma comunicação real.
Código do medidor de RSSI
![]() |
| Esquema de ligação do ESP32-C3 ao display OLED I2C utilizado para medir a intensidade do sinal Wi-Fi em dBm. |
O código abaixo foi desenvolvido para o teste utilizando:
ESP32-C3 SuperMini
OLED SSD1306 128×64
Comunicação I2C
GPIO 8 → SDA
GPIO 9 → SCL
O programa realiza 30 leituras do RSSI, calcula a média e mostra também os valores mínimo e máximo.
// ============================================================
// RODROBOT - MEDIDOR DE INTENSIDADE DO SINAL WI-FI
// ESP32-C3 SuperMini + OLED SSD1306 128x64
// ============================================================
//
// Mede o RSSI do Wi-Fi em dBm e calcula:
//
// - Média
// - Menor valor
// - Maior valor
// - Variação
//
// ------------------------------------------------------------
// Ligação
//
// OLED ESP32-C3 SuperMini
// VCC 3V3
// GND GND
// SDA GPIO 8
// SCL GPIO 9
//
// ============================================================
#include <WiFi.h> // Biblioteca Wi-Fi
#include <Wire.h> // Comunicação I2C
#include <Adafruit_GFX.h> // Biblioteca gráfica
#include <Adafruit_SSD1306.h> // Biblioteca OLED
// ============================================================
// CONFIGURAÇÃO DO OLED
// ============================================================
#define SCREEN_WIDTH 128 // Largura do display
#define SCREEN_HEIGHT 64 // Altura do display
#define OLED_RESET -1 // Sem pino de reset
#define OLED_ADDRESS 0x3C // Endereço I2C do OLED
Adafruit_SSD1306 display(
SCREEN_WIDTH,
SCREEN_HEIGHT,
&Wire,
OLED_RESET
);
// ============================================================
// CONFIGURAÇÃO DO WI-FI
// ============================================================
const char* ssid = "xxxxxx"; // Nome da rede Wi-Fi
const char* password = "xxxxxxxx"; // Senha da rede
// ============================================================
// CONFIGURAÇÃO DAS MEDIÇÕES
// ============================================================
#define NUM_AMOSTRAS 30 // Número de amostras
#define INTERVALO 500 // Intervalo entre leituras
int leituras[NUM_AMOSTRAS]; // Armazena os RSSI
int indice = 0; // Índice da leitura
long soma = 0; // Soma das leituras
int menorRSSI = 0; // Menor RSSI
int maiorRSSI = 0; // Maior RSSI
// ============================================================
// SETUP
// ============================================================
void setup() {
Wire.begin(); // Inicializa I2C
display.begin(
SSD1306_SWITCHCAPVCC,
OLED_ADDRESS
);
display.clearDisplay(); // Limpa o display
display.setTextColor(
SSD1306_WHITE
);
display.setTextSize(1); // Define tamanho do texto
// ----------------------------------------------------------
// Conecta ao Wi-Fi
// ----------------------------------------------------------
WiFi.mode(WIFI_STA); // Modo estação
WiFi.begin(
ssid,
password
);
display.setCursor(0, 0);
display.println("RODROBOT");
display.println();
display.println(
"Conectando WiFi..."
);
display.display();
while (WiFi.status() != WL_CONNECTED) {
delay(500); // Aguarda conexão
}
delay(1000); // Aguarda estabilizar
// ----------------------------------------------------------
// Primeira leitura
// ----------------------------------------------------------
int rssi = WiFi.RSSI();
menorRSSI = rssi;
maiorRSSI = rssi;
// ----------------------------------------------------------
// Tela inicial
// ----------------------------------------------------------
display.clearDisplay();
display.setCursor(0, 0);
display.println("RODROBOT");
display.println();
display.println(
"MEDINDO RSSI..."
);
display.display();
}
// ============================================================
// LOOP
// ============================================================
void loop() {
// ----------------------------------------------------------
// Faz uma nova leitura
// ----------------------------------------------------------
int rssi = WiFi.RSSI();
leituras[indice] = rssi;
soma += rssi;
// ----------------------------------------------------------
// Verifica menor valor
// ----------------------------------------------------------
if (rssi < menorRSSI) {
menorRSSI = rssi;
}
// ----------------------------------------------------------
// Verifica maior valor
// ----------------------------------------------------------
if (rssi > maiorRSSI) {
maiorRSSI = rssi;
}
indice++;
// ----------------------------------------------------------
// Quando completar as amostras
// ----------------------------------------------------------
if (indice >= NUM_AMOSTRAS) {
float media =
(float)soma / NUM_AMOSTRAS;
int variacao =
maiorRSSI - menorRSSI;
// --------------------------------------------------------
// Mostra resultados no OLED
// --------------------------------------------------------
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0, 0);
display.println(
"RODROBOT - WI-FI"
);
display.setCursor(0, 16);
display.print("MEDIA: ");
display.print(
media,
1
);
display.println(" dBm");
display.setCursor(0, 32);
display.print("MIN: ");
display.print(
menorRSSI
);
display.println(" dBm");
display.setCursor(0, 48);
display.print("MAX: ");
display.print(
maiorRSSI
);
display.println(" dBm");
display.display();
// --------------------------------------------------------
// Reinicia as medições
// --------------------------------------------------------
indice = 0;
soma = 0;
menorRSSI = rssi;
maiorRSSI = rssi;
delay(3000);
}
delay(INTERVALO);
}
Como fazer uma comparação corretamente
Para que o teste seja mais confiável, tente manter as condições iguais.
Por exemplo:
utilizar o mesmo roteador;
colocar as placas no mesmo local;
manter a mesma orientação;
manter a mesma distância do roteador;
utilizar a mesma alimentação;
realizar várias medições;
calcular a média;
repetir o teste em diferentes momentos.
Depois faça a mesma comparação utilizando ESP-NOW.
Dessa forma, você consegue observar se uma diferença encontrada no Wi-Fi também aparece na comunicação direta entre dois ESP32 utilizando ESP-NOW.
Esse tipo de comparação é muito mais interessante do que simplesmente olhar uma especificação anunciada pelo vendedor.
Conclusão
O que começou como um problema no meu projeto de campainha com ESP-NOW acabou se transformando em uma investigação sobre as próprias ESP32-C3 SuperMini.
Uma das placas apresentou aproximadamente 23 a 32 dB de diferença no nível de RSSI em relação às placas que tiveram pior desempenho, dependendo das medições realizadas.
No ESP-NOW, a diferença também foi muito grande:
aproximadamente 10 metros contra 1 metro com obstáculo, nas condições dos meus testes.
Ao observar as placas, encontrei diferenças físicas na região da antena que podem estar relacionadas ao comportamento, principalmente em relação ao espaço disponível ao redor da antena e dos componentes.
Também testei uma modificação com antena externa baseada em um experimento publicado por outro maker.
Porém, na minha experiência, essa modificação não resolveu o problema. O resultado continuou fraco e bastante instável.
Ainda não considero encerrada a investigação.
O próximo passo é continuar comparando o layout das placas e testar outras possibilidades para entender melhor o que está causando essa diferença de desempenho.
E essa é justamente uma das coisas mais interessantes da eletrônica:
Às vezes, um problema que aparece em um projeto acaba levando a uma descoberta que não estava prevista no início.
Se você tiver uma ESP32-C3 SuperMini, vale a pena fazer seus próprios testes e comparar os resultados.
Talvez você descubra que duas placas visualmente quase iguais podem apresentar comportamentos bastante diferentes quando o assunto é comunicação sem fio.
🔧 Acompanhe o RodRobot
Projetos maker com ESP32, Arduino, eletrônica e programação.
RodRobot – Projetos maker, eletrônica e programação na prática.




Olá a empresa Tenstar Robot esta com um modelo com conector para antena externa e a antena interna com menos componentes em volta e mais distante do cristal a placa e na cor vermelha.
ResponderExcluir