Alimentador automático para gatos e cães: ESP32 e impressão 3D
Tutorial completo: como montar um alimentador automático de ração com ESP32, servo motor e peças impressas em 3D. Código funcional incluso.
Alimentador automático comercial custa entre R$ 150 e R$ 400 e faz o básico: abre uma comporta em horário programado. O problema é que você não tem controle real: não sabe quanto de ração sobrou, não recebe notificação se o mecanismo travou, e não consegue disparar uma alimentação extra pelo celular quando está viajando.
Com ESP32, um microservo e peças impressas em 3D, você monta um alimentador que integra ao Home Assistant e manda notificação no celular. O custo dos componentes principais fica em torno de R$ 150 — e você sabe exatamente o que está dentro.
Se você ainda está pesquisando comedouros automáticos prontos, o Abanou tem um comparativo completo de comedouros automáticos para gatos com opções para quem prefere comprar pronto.
O que você vai precisar
| Produto | Destaque | Nota | Preço | Comprar |
|---|---|---|---|---|
| ESP32 DevKitC Wroom-32U · Espressif | Cérebro do projeto | ⭐ 5.0 | R$ 109,90 | |
| Micro Servo SG90 9g · Tower Pro | Aciona a comporta | ⭐ 4.8 | R$ 19,00 | |
| RTC DS3231 · Genérico | Relógio local | ⭐ 4.9 | R$ 18,87 |
Outros materiais: fonte 5V 2A (carregador de celular serve), protoboard ou PCB, fios jumper, parafusos M3, cola de cianoacrilato.
Filamento: cerca de 400g de PLA. Eu uso o PLA Basic da Bambu Lab preto — fácil de imprimir e com acabamento consistente (confira o preço atual no link).
Opcional — sensor de nível: se quiser monitorar o peso do reservatório, adicione um módulo HX711 com célula de carga (procure “hx711 célula de carga” no Mercado Livre — kits de eletrônica saem barato). O código abaixo já inclui o suporte; basta descomentar.
Peças impressas em 3D (STLs prontos)
Você não precisa modelar nada do zero — a comunidade do MakerWorld já tem projetos de alimentador testados e prontos para baixar de graça. Eu recomendo começar por um destes:
- Meowton — Automatic Pet Feeder (psy0rz) — o mais consagrado. 100% impresso, usa um único servo, não trava nem esmaga a ração, e foi pensado para o gato não “trapacear”. É o que eu recomendo para a maioria.
- Smart Automatic Pet Feeder (tunell) — feito para ESP32 com web app (acesso por
catfeeder.local), com PDF de montagem, diagrama do circuito e código. É o que mais se aproxima deste tutorial. - Pet Feeder ESP32 (Andrea3DLab) — funil + microservo no bocal, com app para horários.
✅ Servo certo: todos esses modelos (e o código deste tutorial) usam o microservo SG90 (9g) — é o que está no nosso BOM acima, por ~R$ 19. Se um dia quiser mais torque para um reservatório grande e pesado, dá para trocar por um MG996R (engrenagem de metal), mas aí escolha um STL com encaixe para servo grande ou alargue o furo na fatia.
Anatomia das peças
Independente do modelo, todo alimentador impresso tem 4 partes:
- Funil/reservatório — guarda a ração (~500g no design de referência). Imprima em PLA com 3 paredes e 20% de infill; parede interna lisa ajuda a ração a escorregar.
- Câmara de dosagem — acoplada ao servo, libera a porção por rotação. ~90° solta cerca de 15g de granulado — ajuste o ângulo no código conforme a ração do seu animal.
- Base — sustenta o conjunto e esconde a eletrônica.
- Tampa de proteção — impede que ração caia nos componentes.
Se você está pensando em organizar sua bancada para projetos como este, o Reforma Caseira tem um guia com 10 ideias para organizar a oficina com impressão 3D — porta-brocas, organizadores de parafusos e suportes impressos que facilitam projetos maker.
Esquema de ligação
ESP32 GPIO 18 → Servo SG90 (fio laranja, sinal)
5V (USB/VIN) → Servo VCC (fio vermelho) + ESP32 VIN
GND → Servo GND (fio marrom) + ESP32 GND (GND comum)
ESP32 GPIO 21 → DS3231 SDA
ESP32 GPIO 22 → DS3231 SCL
ESP32 3.3V → DS3231 VCC
Atenção: o SG90 consome pouco (~250mA em movimento, picos de ~650mA), então um carregador de celular de 5V/1A alimenta o servo e o ESP32 com folga pelo VIN. Só não puxe o servo do pino 3.3V — ele precisa dos 5V. Se um dia trocar pelo MG996R (que chega a 1A), aí sim use uma fonte 5V dedicada para o servo.
Código ESP32 (Arduino IDE)
#include <Wire.h>
#include <RTClib.h>
#include <ESP32Servo.h>
#include <WiFi.h>
#include <PubSubClient.h>
// Configurações Wi-Fi e MQTT (Home Assistant)
const char* ssid = "SUA_REDE";
const char* password = "SUA_SENHA";
const char* mqtt_server = "IP_DO_HOME_ASSISTANT";
const char* mqtt_topic_feed = "alimentador/alimentar";
const char* mqtt_topic_status = "alimentador/status";
// Pinos
const int SERVO_PIN = 18;
// Horários de alimentação (hora, minuto)
const int HORARIOS[][2] = {{7, 0}, {12, 0}, {18, 30}};
const int NUM_HORARIOS = 3;
const int ANGULO_FECHADO = 0;
const int ANGULO_ABERTO = 90;
const int TEMPO_ABERTURA_MS = 800; // ms que a comporta fica aberta
RTC_DS3231 rtc;
Servo servo;
WiFiClient espClient;
PubSubClient mqtt(espClient);
void alimentar() {
servo.write(ANGULO_ABERTO);
delay(TEMPO_ABERTURA_MS);
servo.write(ANGULO_FECHADO);
delay(500);
mqtt.publish(mqtt_topic_status, "alimentado");
}
void callback_mqtt(char* topic, byte* payload, unsigned int length) {
String msg = "";
for (unsigned int i = 0; i < length; i++) msg += (char)payload[i];
if (String(topic) == mqtt_topic_feed && msg == "ON") {
alimentar();
}
}
void setup() {
Serial.begin(115200);
Wire.begin();
if (!rtc.begin()) {
Serial.println("RTC não encontrado!");
while (1);
}
servo.attach(SERVO_PIN);
servo.write(ANGULO_FECHADO);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
mqtt.setServer(mqtt_server, 1883);
mqtt.setCallback(callback_mqtt);
}
void loop() {
if (!mqtt.connected()) {
mqtt.connect("alimentador_pet");
mqtt.subscribe(mqtt_topic_feed);
}
mqtt.loop();
DateTime agora = rtc.now();
for (int i = 0; i < NUM_HORARIOS; i++) {
if (agora.hour() == HORARIOS[i][0] &&
agora.minute() == HORARIOS[i][1] &&
agora.second() == 0) {
alimentar();
delay(1000); // Evita dupla alimentação no mesmo segundo
}
}
}
Integração com Home Assistant
Adicione no configuration.yaml do Home Assistant:
mqtt:
switch:
- name: "Alimentar Pet"
unique_id: alimentador_pet_switch
command_topic: "alimentador/alimentar"
payload_on: "ON"
payload_off: "OFF"
icon: mdi:bowl
sensor:
- name: "Última alimentação"
unique_id: alimentador_status
state_topic: "alimentador/status"
icon: mdi:clock-check
Automação sugerida — notificação a cada alimentação:
automation:
- alias: "Notificar alimentação do pet"
trigger:
- platform: state
entity_id: sensor.ultima_alimentacao
to: "alimentado"
action:
- service: notify.mobile_app_seu_celular
data:
message: "O pet acabou de ser alimentado 🐱"
Resultados esperados
Com o projeto montado você terá:
- Alimentação automática em até 3 horários configuráveis
- Disparo manual pelo Home Assistant (ou qualquer cliente MQTT)
- Notificação no celular a cada alimentação
- Registro de todas as alimentações no histórico do HA
O custo dos componentes eletrônicos fica em torno de R$ 150 (sem filamento, se você já tem impressora). Um alimentador comercial com integração equivalente não existe nas lojas — esse é o ponto do projeto.
🐱 Alimentação resolvida? O gato também precisa gastar energia. No Abanou, nosso site parceiro de pets, tem um guia dos melhores brinquedos interativos para gatos — do automático ao clássico ratinho com catnip.
Resumo dos produtos avaliados
Espressif
ESP32 DevKitC Wroom-32U
R$ 109,90 · preço em 10/06/2026
Pontos positivos
- Wi-Fi e Bluetooth integrados — conecta ao Home Assistant nativamente
- Suporte a ESPHome: zero código C++ necessário se preferir YAML
- Versão com nota fiscal e antena externa (Wroom-32U)
Pontos negativos
- Placas genéricas de 38 pinos saem mais baratas, mas sem NF
Tower Pro
Micro Servo SG90 9g (Tower Pro)
R$ 19,00 · preço em 10/06/2026
Pontos positivos
- É o servo que os modelos de alimentador do MakerWorld usam
- Torque de 1,5 kg.cm — suficiente para abrir a comporta de ração
- Consome pouco: um carregador de celular de 5V dá conta
- Barato (~R$ 19) e leve
Pontos negativos
- Engrenagem de nylon — para uso muito intenso, suba para um servo de metal
- Para reservatórios grandes e pesados, um MG996R tem mais folga de torque
Genérico
Módulo RTC DS3231
R$ 18,87 · preço em 10/06/2026
Pontos positivos
- Mantém o horário mesmo com queda de energia (bateria CR2032)
- Comunicação I2C — usa só 2 pinos do ESP32
Pontos negativos
- Desnecessário se usar ESPHome com NTP (sincroniza pelo Wi-Fi)