Placa ESP32 com 8 Relés RB2559: Manual Técnico Completo

Introdução
Neste manual, será apresentado como instalar, configurar e utilizar a placa de controle e automação ESP32 com 8 Relés (RB2559). Se desejar adquirir esta placa, clique aqui.
A placa controladora RB2559 (modelo de engenharia ESP-32 RELAY_X8) é uma central completa de acionamento multicanal e telemetria que integra o poderoso microcontrolador ESP32-WROOM-32 / 32E a 8 relés eletromecânicos de potência independentes de 10A da consagrada fabricante SONGLE. Desenvolvida para aplicações de automação residencial de alta densidade, quadros de distribuição elétrica, estufas agrícolas e centrais industriais, a placa possui circuito regulador de tensão step-down integrado com suporte a alimentação ampla de 7V a 30V DC, eliminando fontes auxiliares externas e emaranhados de fios em bancadas ou painéis.
Material utilizado:
- Placa de Controle ESP32 com 8 Relés (RB2559 /
ESP-32 RELAY_X8) — disponível no catálogo oficial da loja RoboBuilders.- Módulo Conversor USB-Serial externo (chips CP2102, FT232RL, CH340 ou equivalentes com nível lógico de 3.3V).
- Fonte de alimentação estabilizada DC de 7V a 30V (12V DC / 2A ou 24V DC / 1,5A recomendada).
- Fios de cobre flexíveis de 1,0 mm² a 1,5 mm² com terminais tipo ilhós tubular para ligação das cargas nos bornes parafusáveis.
Especificações técnicas
Principais especificações
| Parâmetro | Especificação Técnica |
|---|---|
| Identificador Comercial | ROBOBUILDERS RB2559 |
| Código de Engenharia da Placa | ESP-32 RELAY_X8 |
| Microcontrolador Principal | ESP32-WROOM-32 / ESP32-WROOM-32E (Espressif Systems) |
| Núcleos e Frequência de Clock | Dual-Core 32-bit Xtensa LX6 operando a até 240 MHz |
| Memória Flash Integrada | 4 MB (SPI Flash) |
| Memória SRAM Interna | 520 KB |
| Conectividade Sem Fio | Wi-Fi 802.11 b/g/n (2.4 GHz) e Bluetooth v4.2 BR/EDR + BLE |
| Tensão de Alimentação Principal | 7 VDC a 30 VDC (via borne de parafuso dedicado) |
| Tensão de Alimentação Secundária | 5 VDC regulada (via pino 5V do borne de alimentação) |
| Tensão Lógica de Operação | 3,3 VDC (regulador AMS1117-3.3V integrado) |
| Relés Onboard | 8 Canais Eletromecânicos SONGLE SRD-05VDC-SL-C |
| Lógica de Acionamento dos Relés | Nível Lógico Alto (Active HIGH — 3,3V aciona o relé) |
| Capacidade dos Contatos (AC) | 10A em 250V AC / 10A em 125V AC por canal |
| Capacidade dos Contatos (DC) | 10A em 30V DC / 10A em 28V DC por canal |
| Configuração dos Contatos | 1 Contato Reversor por canal: Comum (COM), Normalmente Aberto (NO/NA), Normalmente Fechado (NC/NF) |
| Sinalização Visual Onboard | LED de Alimentação + LED de Usuário no GPIO 23 + LEDs individuais para cada relé |
| Interface de Gravação Serial | Header UART de 6 vias (GND, TXD0, RXD0, 5V, 3V3, IO0/EN) |
| Botões Físicos Integrados | 1 Botão BOOT / IO0 (GPIO 0) + 1 Botão EN / RST (Reset) |
| Pinos de Expansão Livres | 10 GPIOs I/O bidirecionais + 4 canais Input-Only (GPIOs 34, 35, 36, 39) |
| Dimensões Físicas | 133 x 78 x 19 mm |
| SKU RoboBuilders | RB2559 |
Características elétricas e operacionais
A placa incorpora um conversor step-down chaveado de alto rendimento composto por um indutor blindado de potência, diodo Schottky de ação rápida e capacitores eletrolíticos de baixa resistência equivalente em série (ESR), garantindo suprimento estável de 5V para alimentar simultaneamente as bobinas dos 8 relés e o módulo microcontrolador.
- Consumo em repouso (todos os relés desligados): ~45 mA a 70 mA em 12V DC;
- Consumo com os 8 relés atracados simultaneamente: ~550 mA a 650 mA em 5V (~250 mA a 320 mA em 12V DC);
- Consumo nominal por bobina de relé: ~70 mA a 75 mA em 5V DC;
- Tempo de resposta por canal: Comutação mecânica de fechamento em ~10 ms e abertura em ~5 ms;
- Temperatura de operação contínua: -20 °C a +70 °C;
- Isolamento elétrico: Trilha de isolamento fresada na placa de circuito impresso (PCB) entre os contatos de alta tensão do relé e as trilhas digitais de 3,3V do ESP32.
Descrição do produto
O que é a Placa ESP32 com 8 Relés (RB2559)?
A RB2559 é uma placa de desenvolvimento e controle de potência profissional baseada no microcontrolador ESP32-WROOM-32. O circuito foi projetado para substituir as antigas montagens que combinavam um módulo ESP32 avulso conectado por dezenas de fios a uma placa genérica de 8 relés.
Em uma única placa de circuito impresso de cor azul com furos de fixação nos quatro cantos, o fabricante reuniu os 8 relés de 10A com transistores de disparo, diodos de proteção contra correntes reversas, réguas de bornes de conexão em blocos parafusáveis, fonte de alimentação interna ampla de 7V a 30V e acesso completo aos barramentos seriais, I2C e SPI.
Para que serve?
- Automação centralizada de múltiplos circuitos de iluminação residencial, predial ou comercial em um único painel elétrico;
- Comutação inteligente de atuadores multicanais, como bancos de eletroválvulas de irrigação agrícola, travas solenoide, motores reversíveis e bombas de circulação;
- Implementação de nós de controle com comunicação sem fio para sistemas de supervisão predial via Home Assistant, ESPHome, MQTT, OpenHAB e Node-RED.
Por que devo usar?
- Alta densidade de canais em placa única: comanda até 8 circuitos de carga de 10A de forma independente sem fiação exposta ou risco de mau contato mecânico;
- Alimentação direta de 7V a 30V DC: regulador integrado que aceita fontes de 12V ou 24V de painéis elétricos sem necessidade de conversores de tensão externos adicionais;
- Firmware de fábrica autônomo com API REST: acompanha software de fábrica pré-instalado que cria uma rede Wi-Fi com portal captivo e API REST para teste imediato de todos os relés e GPIOs pelo celular sem programar uma única linha de código.
Quando devo usar?
A RB2559 é a escolha ideal quando a aplicação necessita do acionamento simultâneo ou intercalado de múltiplas cargas de até 10A (como iluminação residencial, ventiladores, contatores de comando ou válvulas).
⚠️ Atenção: Caso o seu projeto envolva cargas com correntes contínuas elevadas superiores a 10A por canal ou motores de grande porte com pico de partida violento (como compressores de ar condicionado de 220V e bombas de poço acima de 1 HP), utilize a linha de relés industriais de 30A da RoboBuilders (RB2553 para 8 canais de 30A ou RB2556 para 1 canal de 30A) ou use os relés da RB2559 para comutar a bobina de contatores trifásicos auxiliares externos.
Pinout e diagrama de entradas/saídas
Todos os 8 canais de relé, periféricos onboard e barramentos de expansão possuem pinos físicos mapeados diretamente no processador ESP32:
| Componente / Periférico | Pino GPIO (ESP32) | Direção Padrão | Nível Ativo | Descrição / Função |
|---|---|---|---|---|
| Relé 1 (K1) | GPIO 32 | OUTPUT | HIGH | Acionamento da bobina do Relé 1 |
| Relé 2 (K2) | GPIO 33 | OUTPUT | HIGH | Acionamento da bobina do Relé 2 |
| Relé 3 (K3) | GPIO 25 | OUTPUT | HIGH | Acionamento da bobina do Relé 3 |
| Relé 4 (K4) | GPIO 26 | OUTPUT | HIGH | Acionamento da bobina do Relé 4 |
| Relé 5 (K5) | GPIO 27 | OUTPUT | HIGH | Acionamento da bobina do Relé 5 |
| Relé 6 (K6) | GPIO 14 | OUTPUT | HIGH | Acionamento da bobina do Relé 6 |
| Relé 7 (K7) | GPIO 12 | OUTPUT | HIGH | Acionamento da bobina do Relé 7 (strapping pin) |
| Relé 8 (K8) | GPIO 13 | OUTPUT | HIGH | Acionamento da bobina do Relé 8 |
| LED Onboard | GPIO 23 | OUTPUT | HIGH | Indicador luminoso de status do sistema |
| Botão BOOT / IO0 | GPIO 0 | INPUT_PULLUP | LOW | Botão de usuário e ativação do modo bootloader |
| Botão EN (Reset) | — | Reset Hardware | LOW | Reinicialização completa da CPU |
| UART0 TX | GPIO 1 | Transmissão | 3,3V | Linha serial de gravação e telemetria |
| UART0 RX | GPIO 3 | Recepção | 3,3V | Linha serial de gravação e comandos |
| Grade de GPIOs Livres | 2, 4, 5, 15, 16, 17, 18, 19, 21, 22 | I/O Geral | 3,3V | Pinos digitais expostos para sensores e displays |
| Pinos Input-Only | 34, 35, 36 (VP), 39 (VN) | INPUT | 0 a 3,3V | Entradas analógicas puras ADC1 (sem resistores internos) |
| Borne de Alimentação | 7-30V / GND / 5V | Entrada DC | — | Entrada da fonte externa e saída regulada de 5V |
💡 Dica Técnica sobre o GPIO 12: O pino GPIO 12 é um pino de seleção de hardware (strapping pin MTDI) do ESP32. Durante a inicialização a frio, o chip lê a tensão deste pino para definir a voltagem da memória Flash interna (1,8V ou 3,3V). A placa RB2559 mantém esse pino em nível lógico baixo (
LOW) durante o boot para garantir a inicialização segura, liberando o acionamento normal do Relé 7 após a inicialização do firmware.
Como fazer a ligação
Requisitos de instalação e alimentação
- Fonte de alimentação principal: utilize uma fonte chaveada estabilizada de 12V DC com capacidade de 2A (ou 24V DC / 1,5A). Conecte o positivo no terminal 7-30V e o negativo no terminal GND.
- Dimensionamento de fiação de carga: para circuitos de iluminação ou tomadas de uso geral até 10A por canal, utilize condutores flexíveis de cobre com bitola mínima de 1,5 mm² prensados com terminais tubulares tipo ilhós para evitar mau contato nos bornes de parafuso.
- Barramento Comum de Alimentação de Cargas: quando múltiplos relés forem comutar cargas da mesma fase ou mesma fonte DC, confeccione uma ponte (jumper) unindo os bornes COM1 a COM8, levando a fase comum para cada entrada de contato.
Diagrama de ligação elétrica
O esquema a seguir demonstra a ligação elétrica recomendada para acionamento de 8 cargas monofásicas em 127V ou 220V AC (como lâmpadas ou solenoides), alimentando a placa com uma fonte de 12V DC:

Tabela de conexões dos terminais
| Origem (Fonte / Rede) | Terminal na Placa RB2559 | Destino na Carga Elétrica | Função do Condutor |
|---|---|---|---|
| Fonte DC (+12V / +24V) | Borne 7-30V | — | Entrada de alimentação principal da placa |
| Fonte DC (0V / GND) | Borne GND | — | Referência comum da placa e fonte |
| Rede AC (Fase 127V/220V) | Bornes COM1 a COM8 | — | Linha de fase distribuída para as entradas dos relés |
| Bornes NO1 a NO8 | — | Terminal 1 das Cargas 1 a 8 | Retorno chaveado que energiza cada carga ao ligar |
| Rede AC (Neutro) | — | Terminal 2 das Cargas 1 a 8 | Barramento de neutro comum das cargas |
Cuidados e observações de segurança
💡 Dica: Ao comandar cargas indutivas em corrente contínua (como solenoides 12V/24V ou relés de partida), instale sempre um diodo de roda-livre (como o 1N4007) em antiparalelo com a carga para proteger os contatos do relé contra arcos voltaicos.
⚠️ Atenção: Nunca conecte tensões superiores a 3,3V diretamente em qualquer um dos pinos das réguas de expansão de GPIOs. Use conversores de nível lógico para comunicar com sensores ou circuitos externos de 5V.
⛔ Perigo: Tensões de rede elétrica comercial (127V/220V AC) apresentam risco de choque elétrico letal. Nunca efetue manutenções, ajustes na fiação ou conexão de cabos de gravação serial enquanto a placa estiver ligada à rede elétrica. Desligue os disjuntores gerais antes da intervenção.
Como usar
Guia de operação passo a passo (Gravação UART)
A placa RB2559 utiliza um header serial UART de 6 pinos para programação e monitoramento via cabo conversor USB-Serial externo (CP2102, FT232RL ou CH340):
- Esquema de ligação do conversor USB-Serial:
- Ligue o pino GND do conversor ao pino GND do header serial da placa;
- Ligue o pino TXD do conversor ao pino RXD (GPIO 3) da placa;
- Ligue o pino RXD do conversor ao pino TXD (GPIO 1) da placa;
- Ligue o pino 5V do conversor ao terminal 5V do borne da placa (ou alimente a placa via borne 7-30V por uma fonte externa).
- Entrada no Modo ROM Bootloader:
- Mantenha pressionado o botão BOOT / IO0 da placa;
- Dê um clique rápido no botão EN / RST (Reset);
- Solte o botão BOOT / IO0 após 1 segundo. A placa estará em modo de gravação;
- Upload do código:
- Na sua IDE (PlatformIO ou Arduino IDE), selecione a porta serial correspondente e dispare o comando de gravação;
- Execução:
- Concluído o envio do binário, pressione o botão EN / RST para iniciar o novo firmware.
Modos de operação e ajustes (PlatformIO)
Para programar a placa via PlatformIO Core (CLI) ou VS Code, utilize a configuração padronizada no platformio.ini:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_speed = 921600
lib_deps =
bblanchon/ArduinoJson @ ^6.21.3
Exemplos práticos de uso
Exemplo 1: Acionamento sequencial dos 8 relés com temporização não-bloqueante
Este código em C++ implementa uma esteira sequencial ativando um relé de cada vez a cada 500 ms sem travar o loop principal com chamadas delay():
#include <Arduino.h>
// Mapeamento oficial das GPIOs dos 8 relés da placa RB2559
const int PINOS_RELES[8] = {32, 33, 25, 26, 27, 14, 12, 13};
const int PINO_LED = 23;
int releAtual = 0;
unsigned long ultimoTempo = 0;
const unsigned long INTERVALO_MS = 500;
void setup() {
Serial.begin(115200);
delay(500);
Serial.println("--- RoboBuilders RB2559: Inicializando Sequencial 8 Relés ---");
// Configuração de todas as saídas
pinMode(PINO_LED, OUTPUT);
digitalWrite(PINO_LED, LOW);
for (int i = 0; i < 8; i++) {
pinMode(PINOS_RELES[i], OUTPUT);
digitalWrite(PINOS_RELES[i], LOW); // Inicia desligado
}
Serial.println("Todos os relés configurados em nível baixo.");
}
void loop() {
unsigned long agora = millis();
if (agora - ultimoTempo >= INTERVALO_MS) {
ultimoTempo = agora;
// Desliga o relé anterior
digitalWrite(PINOS_RELES[releAtual], LOW);
// Avança para o próximo relé (ciclo de 0 a 7)
releAtual = (releAtual + 1) % 8;
// Liga o novo relé e pisca o LED onboard
digitalWrite(PINOS_RELES[releAtual], HIGH);
digitalWrite(PINO_LED, !digitalRead(PINO_LED));
Serial.print("Canal ativo: Relé ");
Serial.print(releAtual + 1);
Serial.print(" (GPIO ");
Serial.print(PINOS_RELES[releAtual]);
Serial.println(")");
}
}
Exemplo 2: Painel Web autônomo com SoftAP e controle dos 8 canais
Este código cria um Ponto de Acesso Wi-Fi autônomo chamado RoboBuilders-RB2559. Ao conectar qualquer computador ou smartphone e abrir o navegador em http://192.168.4.1, uma interface web responsiva com botões para cada relé permite o chaveamento remoto imediato:
#include <WiFi.h>
#include <WebServer.h>
const int PINOS_RELES[8] = {32, 33, 25, 26, 27, 14, 12, 13};
const int PINO_LED = 23;
WebServer server(80);
void enviarPaginaWeb() {
String html = "<!DOCTYPE html><html lang='pt-BR'><head>";
html += "<meta charset='UTF-8'><meta name='viewport' content='width=device-width,initial-scale=1.0'>";
html += "<title>Painel Web RB2559 - 8 Relés</title>";
html += "<style>";
html += "body{font-family:sans-serif;background:#18181b;color:#f4f4f5;text-align:center;padding:1.5rem;margin:0;}";
html += "h1{color:#fa634f;margin-bottom:0.25rem;}";
html += ".grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;max-width:800px;margin:20px auto;}";
html += ".card{background:#27272a;padding:15px;border-radius:10px;border:1px solid #3f3f46;}";
html += ".btn{display:inline-block;padding:10px 15px;font-weight:bold;color:#fff;border-radius:6px;text-decoration:none;margin-top:8px;}";
html += ".btn-on{background:#22c55e;} .btn-off{background:#ef4444;}";
html += "</style></head><body>";
html += "<h1>RoboBuilders RB2559</h1>";
html += "<p>Controle de 8 Relés via Wi-Fi Local</p><div class='grid'>";
for (int i = 0; i < 8; i++) {
bool ligado = digitalRead(PINOS_RELES[i]) == HIGH;
html += "<div class='card'><strong>Relé " + String(i + 1) + "</strong><br>";
html += "<span style='color:" + String(ligado ? "#22c55e" : "#a1a1aa") + "'>" + String(ligado ? "LIGADO" : "DESLIGADO") + "</span><br>";
html += "<a href='/toggle?ch=" + String(i + 1) + "' class='btn " + String(ligado ? "btn-off" : "btn-on") + "'>";
html += ligado ? "DESLIGAR" : "LIGAR";
html += "</a></div>";
}
html += "</div></body></html>";
server.send(200, "text/html", html);
}
void setup() {
Serial.begin(115200);
pinMode(PINO_LED, OUTPUT);
digitalWrite(PINO_LED, HIGH);
for (int i = 0; i < 8; i++) {
pinMode(PINOS_RELES[i], OUTPUT);
digitalWrite(PINOS_RELES[i], LOW);
}
WiFi.softAP("RoboBuilders-RB2559", "12345678");
Serial.print("Ponto de Acesso criado. IP: ");
Serial.println(WiFi.softAPIP());
server.on("/", enviarPaginaWeb);
server.on("/toggle", []() {
if (server.hasArg("ch")) {
int canal = server.arg("ch").toInt();
if (canal >= 1 && canal <= 8) {
int idx = canal - 1;
digitalWrite(PINOS_RELES[idx], !digitalRead(PINOS_RELES[idx]));
}
}
server.sendHeader("Location", "/");
server.send(303);
});
server.begin();
Serial.println("Servidor HTTP ativo na porta 80.");
}
void loop() {
server.handleClient();
}
Solução de problemas
| Sintoma | Causa Provável | Solução Recomendada |
|---|---|---|
| O ESP32 entra em loop de reinicialização (Brownout Detector) quando vários relés ligam juntos | Fonte de alimentação com capacidade de corrente insuficiente | As bobinas dos 8 relés exigem até 600 mA em 5V. Ao alimentar por fontes externas, certifique-se de que a fonte entregue no mínimo 12V / 2A ou 24V / 1,5A nos bornes de entrada. |
Erro Timed out waiting for packet header na tentativa de upload serial | Falha na entrada no modo ROM Bootloader | Mantenha o botão BOOT / IO0 pressionado enquanto pressiona e solta o botão EN / RST, soltando o botão BOOT apenas após o software de gravação iniciar a detecção do chip. |
| O Relé 7 (GPIO 12) impede a inicialização da placa se for forçado em nível alto externamente | Conflito com o pino de strapping MTDI no momento do boot | Nunca conecte cargas com pull-up externo de 3,3V ou 5V no pino GPIO 12. O circuito interno da placa já garante o nível LOW durante o boot para inicializar a Flash corretamente. |
| Travamento ou reinicialização aleatória ao desligar cargas AC (motores ou solenoides) | Pico de tensão indutiva (surto transitório) nos contatos mecânicos | Instale um filtro Snubber RC (resistor de 100 Ω 2W em série com capacitor poliéster de 100 nF / 400V) em paralelo com os contatos de comutação do relé ou diretamente sobre os bornes da carga. |
| Inversão de linhas de dados TX e RX | Cabos seriais ligados em paralelo em vez de cruzados | Conecte sempre o pino TXD do conversor USB-Serial ao pino RXD (GPIO 3) da placa, e o pino RXD do conversor ao pino TXD (GPIO 1) da placa. |
Conclusão
Este manual abordou de forma completa a Placa ESP32 com 8 Relés (RB2559), cobrindo desde suas especificações até a instalação prática e modos de operação:
- Especificações técnicas: processador ESP32 dual-core de 240 MHz com Wi-Fi/Bluetooth, 8 relés independentes de 10A e regulador chaveado para tensões de 7V a 30V DC;
- Descrição e pinout: mapeamento oficial de cada um dos 8 canais de relé (GPIOs 32, 33, 25, 26, 27, 14, 12 e 13), LED onboard e pinos de expansão livres;
- Como fazer a ligação: diagrama elétrico esquemático para redes elétricas comerciais de 127V/220V AC, barramento comum de alimentação e boas práticas com condutores e proteções snubber;
- Como usar: etapas para gravação via barramento serial UART em modo bootloader, compilação via PlatformIO CLI e códigos em C++ com servidor Web Wi-Fi autônomo.
Combinando alta densidade de canais, componentes robustos e ampla conectividade sem fio, a RB2559 consolida-se como uma das soluções mais eficientes e confiáveis para quadros de automação, irrigação e instalações inteligentes de Internet das Coisas.
Solução de problemas
Olá! Sou o assistente técnico da RoboBuilders. Descreva seu problema com o Placa ESP32 com 8 Relés RB2559: Manual Técnico Completo e eu ajudarei a encontrar a solução.
O assistente usa IA e pode errar. Confirme informações críticas no datasheet oficial do fabricante.