ESPHome é uma das formas mais simples e poderosas de transformar um ESP32 em um dispositivo inteligente integrado ao Home Assistant. Com poucos blocos em YAML, você consegue criar sensores, relés, botões, LEDs, atualizações OTA e automações sem escrever código Arduino tradicional.
🎓 ArcadeMakerBR Academy
Automação & IoT • Aula 17
Nível: 🟢 Iniciante / 🟡 Intermediário inicial
Tempo de leitura: 25 a 35 minutos
Projeto sugerido: sensor de temperatura ESP32 integrado ao Home Assistant
O que você vai aprender
- O que é ESPHome.
- Por que ESPHome é tão usado com Home Assistant.
- Como funciona a configuração em YAML.
- Como criar sensores, relés, botões e LEDs.
- Como usar OTA para atualizar o ESP32 pela rede.
- Diferença entre ESPHome, MQTT e código Arduino.
- Como criar um primeiro dispositivo ESP32.
- Erros comuns e boas práticas.
Índice
- Por que falar de ESPHome?
- O que é ESPHome?
- Como o ESPHome funciona?
- O que é YAML?
- Estrutura básica de um projeto ESPHome
- ESPHome com Home Assistant
- Atualização OTA
- Sensores no ESPHome
- GPIO, relés e LEDs
- PWM e controle de brilho
- ESPHome com MQTT
- Projeto Maker completo
- Erros comuns
- FAQ
Por que falar de ESPHome?
Depois que você aprende ESP32, Wi-Fi, MQTT, Home Assistant e Node-RED, surge uma pergunta natural: existe uma forma mais simples de criar dispositivos inteligentes sem programar tudo do zero?
A resposta é sim: ESPHome.
Com ESPHome, você descreve o comportamento do dispositivo em um ficheiro YAML. Ele gera o firmware, grava no ESP32 e integra automaticamente com Home Assistant.
Em vez de escrever centenas de linhas em C++ para ler um sensor, conectar ao Wi-Fi, publicar dados, criar OTA e integrar ao Home Assistant, você configura componentes de forma declarativa.
Dica do Maker: ESPHome é perfeito quando o objetivo é criar dispositivos de automação residencial com ESP32 de forma rápida, limpa e integrada.
O que é ESPHome?
ESPHome é uma ferramenta que permite criar firmware para ESP8266 e ESP32 usando arquivos YAML.
Ele é muito usado com Home Assistant, porque os dispositivos criados no ESPHome aparecem automaticamente com sensores, switches, botões, luzes e outras entidades.
Você pode usar ESPHome para criar:
- Sensores de temperatura e umidade.
- Relés inteligentes.
- Botões físicos.
- Controladores de LED.
- Displays OLED.
- Sensores de presença.
- Medidores de distância.
- Dispositivos Bluetooth proxy.
- Projetos de automação residencial completos.
Como o ESPHome funciona?
O fluxo é simples:
- Você cria um arquivo YAML descrevendo o dispositivo.
- ESPHome compila esse YAML em firmware.
- O firmware é gravado no ESP32.
- O dispositivo conecta ao Wi-Fi.
- Home Assistant detecta o dispositivo.
- As entidades aparecem prontas para usar.
O que é YAML?
YAML é um formato de texto usado para configuração. Ele é legível e organizado por indentação.
Um detalhe importante: em YAML, espaços importam. Se a indentação estiver errada, a configuração pode falhar.
Exemplo simples:
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "Temperatura da Bancada"
humidity:
name: "Umidade da Bancada"
Neste exemplo, estamos dizendo ao ESPHome que existe um sensor DHT ligado ao GPIO4, e que ele terá duas entidades: temperatura e umidade.
Atenção: YAML não gosta de tabulação misturada com espaços. Use espaços e mantenha a indentação consistente.
Estrutura básica de um projeto ESPHome
Um arquivo ESPHome costuma ter algumas seções principais:
- esphome: nome e informações do projeto.
- esp32: modelo da placa.
- wifi: rede Wi-Fi.
- api: integração nativa com Home Assistant.
- ota: atualização pela rede.
- logger: logs para debug.
- sensor: sensores.
- switch: relés e saídas liga/desliga.
- binary_sensor: botões e entradas digitais.
- output/light: PWM e luzes.
Exemplo básico
esphome:
name: esp32_bancada
esp32:
board: esp32dev
wifi:
ssid: "NOME_DA_REDE"
password: "SENHA_DA_REDE"
logger:
api:
ota:
Esse exemplo já cria a base de um dispositivo ESP32 integrado ao Home Assistant.
ESPHome com Home Assistant
A grande força do ESPHome é a integração com Home Assistant. Quando você usa api:, o dispositivo pode aparecer automaticamente no Home Assistant.
Depois disso, as entidades ficam disponíveis para dashboards, automações, histórico, cenas, scripts e controle pelo telemóvel.
Isso significa que um sensor criado no ESPHome pode ser usado imediatamente numa automação do Home Assistant.
Atualização OTA
OTA significa Over-The-Air, ou atualização pela rede. Depois do primeiro upload via USB, você pode atualizar o firmware do ESP32 pelo Wi-Fi.
Isso é extremamente prático quando o dispositivo já está instalado numa parede, caixa, teto ou bancada.
ota:
Com essa seção ativa, o ESPHome consegue enviar novas versões do firmware pela rede, desde que o dispositivo esteja online.
Dica do Maker: nunca instale um ESP32 em local difícil sem testar OTA antes. Isso pode poupar muitas horas depois.
Sensores no ESPHome
ESPHome suporta muitos sensores comuns. Alguns exemplos:
- DHT11 / DHT22.
- BME280.
- BMP280.
- DS18B20.
- HC-SR04 ultrassônico.
- ADC interno do ESP32.
- Sensores I2C.
- Medidores de energia compatíveis.
Exemplo com DHT22
sensor:
- platform: dht
pin: GPIO4
model: DHT22
temperature:
name: "Temperatura Oficina"
humidity:
name: "Umidade Oficina"
update_interval: 30s
Exemplo com BME280
i2c:
sda: GPIO21
scl: GPIO22
sensor:
- platform: bme280_i2c
temperature:
name: "Temperatura BME280"
pressure:
name: "Pressão BME280"
humidity:
name: "Umidade BME280"
address: 0x76
update_interval: 60s
GPIO, relés e LEDs
ESPHome também permite controlar saídas digitais.
Relé simples
switch:
- platform: gpio
name: "Relé da Bancada"
pin: GPIO23
Esse relé aparecerá no Home Assistant como uma entidade de switch.
Botão físico
binary_sensor:
- platform: gpio
name: "Botão da Bancada"
pin:
number: GPIO18
mode: INPUT_PULLUP
inverted: true
Com isso, um botão físico pode ser usado em automações.
PWM e controle de brilho
Para controlar brilho de LED ou fita LED DC, podemos usar saída PWM.
output:
- platform: ledc
pin: GPIO19
id: saida_pwm_led
light:
- platform: monochromatic
name: "Luz PWM Bancada"
output: saida_pwm_led
Esse exemplo cria uma luz controlável pelo Home Assistant.
ESPHome com MQTT
Embora a integração nativa via api: seja muito usada, ESPHome também pode funcionar com MQTT.
Isso é útil quando você quer integrar com sistemas que não usam Home Assistant diretamente, ou quando prefere arquitetura baseada em broker MQTT.
mqtt:
broker: 192.168.1.10
username: "usuario"
password: "senha"
Para a maioria dos utilizadores de Home Assistant, a API nativa é mais simples. Mas MQTT continua sendo uma opção poderosa.
ESPHome ou Arduino?
| Situação | ESPHome | Arduino/C++ |
|---|---|---|
| Sensor para Home Assistant | ✅ Excelente | Também funciona, mas exige mais código. |
| Projeto muito personalizado | ⚠️ Pode limitar | ✅ Melhor controle. |
| Relé, LED, botão, DHT22 | ✅ Muito simples | Funciona, mas demora mais. |
| Aprender programação embarcada | ⚠️ Menos código | ✅ Melhor para aprender baixo nível. |
| Casa inteligente | ✅ Ideal | Boa opção se precisar de lógica específica. |
Na prática, não precisa escolher apenas um. Use ESPHome quando quiser velocidade e integração. Use Arduino/C++ quando precisar de controle total.
Projeto Maker completo: sensor de bancada
Vamos criar a ideia de um dispositivo ESP32 para monitorar uma bancada maker.
Funções:
- Ler temperatura e umidade com DHT22.
- Controlar um relé.
- Mostrar sinal Wi-Fi.
- Permitir atualização OTA.
- Integrar com Home Assistant.
esphome:
name: bancada_maker
esp32:
board: esp32dev
wifi:
ssid: "NOME_DA_REDE"
password: "SENHA_DA_REDE"
logger:
api:
ota:
sensor:
- platform: dht
pin: GPIO4
model: DHT22
temperature:
name: "Temperatura Bancada Maker"
humidity:
name: "Umidade Bancada Maker"
update_interval: 30s
- platform: wifi_signal
name: "Sinal WiFi Bancada"
update_interval: 60s
switch:
- platform: gpio
name: "Relé Bancada Maker"
pin: GPIO23
Com esse YAML, você já tem um dispositivo útil para automação. Ele aparece no Home Assistant com sensores e relé.
Erros comuns com ESPHome
1. Indentação YAML errada
Esse é o erro mais comum. YAML depende de espaços corretos.
2. Escolher placa errada
Se o board estiver errado, o firmware pode não funcionar como esperado.
3. Wi-Fi incorreto
SSID e senha errados impedem o dispositivo de ficar online.
4. Esquecer OTA
Sem OTA, você pode precisar ligar o cabo USB sempre que quiser atualizar.
5. Usar pinos problemáticos
Assim como em qualquer projeto ESP32, cuidado com pinos de boot e pinos especiais.
6. Não testar antes de instalar
Sempre teste sensores, relés e OTA na bancada antes de colocar o dispositivo no local definitivo.
Boas práticas
- Use nomes claros para dispositivos e entidades.
- Mantenha YAML organizado.
- Teste OTA antes da instalação final.
- Documente pinos usados.
- Evite colocar senhas em ficheiros públicos.
- Comece com poucos componentes e vá evoluindo.
- Faça backup das configurações ESPHome.
FAQ sobre ESPHome
ESPHome é gratuito?
Sim. ESPHome é open source e muito usado pela comunidade Home Assistant.
Preciso saber programar?
Não precisa programar em C++ para muitos projetos. Mas entender lógica, YAML e eletrônica ajuda bastante.
ESPHome funciona sem Home Assistant?
Sim, pode funcionar com MQTT e outras formas, mas ele brilha mesmo integrado ao Home Assistant.
Posso atualizar pela rede?
Sim. Usando OTA, você pode atualizar o firmware via Wi-Fi.
ESPHome substitui Arduino?
Não completamente. ESPHome é excelente para automação residencial. Arduino/C++ continua melhor para projetos muito personalizados ou aprendizado profundo de programação embarcada.
Resumo final
ESPHome é uma das melhores ferramentas para transformar ESP32 em dispositivos inteligentes integrados ao Home Assistant.
Com YAML, você consegue configurar sensores, relés, botões, LEDs, PWM, OTA e integrações sem escrever todo o firmware manualmente.
Para quem quer criar casa inteligente, automação residencial e dispositivos maker úteis, ESPHome é praticamente obrigatório no kit de ferramentas.
O melhor caminho é começar com um sensor simples, depois adicionar relé, botão, OTA e dashboard no Home Assistant. Em pouco tempo, você terá dispositivos personalizados funcionando como produtos inteligentes.
📚 Continue aprendendo
- Tudo sobre Home Assistant
- Tudo sobre Node-RED
- Tudo sobre MQTT
- Tudo sobre ESP32
- Tudo sobre Wi-Fi no ESP32
Kit de publicação
Título SEO: Tudo sobre ESPHome – Guia Completo para Iniciantes e Makers
Slug: tudo-sobre-esphome
Meta Description: Aprenda ESPHome do zero: YAML, ESP32, Home Assistant, sensores, relés, GPIO, PWM, OTA, dashboards e projetos de automação residencial.
Tags: ESPHome, ESP32, Home Assistant, YAML, Automação Residencial, Casa Inteligente, IoT, Arduino, Sensores, Relé, GPIO, PWM, OTA, DHT22, BME280, MQTT, Maker, Eletrônica, Wi-Fi, Dashboard
Categoria: Automação & IoT
ALT da capa: Tudo sobre ESPHome - Guia Completo ArcadeMakerBR Academy
