Skip to content
ESP8266 based MQTT controlled cat feeder I use in order to keep my cats happy and healthy.
Branch: master
Clone or download
Pull request Compare This branch is 13 commits ahead of jorgerance:master.
Latest commit a263fe8 Jan 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
HASS - Homeassistant Incorrect mqtt topic Dec 22, 2018
LICENSE Initial commit Nov 20, 2017 Update Jan 22, 2019
catFeeder.ino Remove unused cleanFeeder function Jan 22, 2019
catfeeder_schematics.fzz Implemented MQTT protocol, integrated in Home-Assistant and added a p… Jan 20, 2018

MQTT catFeeder

catFeeder is an Arduino (ESP8266) MQTT controlled cat feeder which I use to feed my cats when I'm away or in the bed at 6.30 AM on a Sunday morning. The project is forked upon which usees a telegram bot.

i also added a pushbutton for manual operation and Home-assistant integration through a script and 2 mqtt sensor.

About the ESP8266:


The ESP8266 is a low-cost Wi-Fi chip with full TCP/IP stack and MCU (microcontroller unit) capability produced by Shanghai-based Chinese manufacturer, Espressif Systems.

Click here to access the full article

Main features:

  • Controlled via MQTT.
  • Wifi connection.
  • Possibility to check how much food can be still delivered with an HC-SR04 ultrasonic ranging sensor.
  • Multi access point (can manage more than one SSID / password). Removed because i dont need it, could be easily reintegrated?

Materials Needed:

  • 1 x NodeMCU V3 dev board (esp8266): ~2.65 USD. / ~5€
  • 1 x NodeMCU Base Breadboard (optional): ~1.88 USD. / 3€
  • 1 x L298N Dual H bridge driver: ~3.33 USD. / 7€
  • 1 x HC-SR04 ultrasonic ranging sensor: ~1.50 USD. / 2€
  • 1 x 12V 2A Power Supply*: ~6.58 USD. / i had one around :)
  • 1 x Cereal dispenser: ~10.00 USD. / ~ 12€ for a dual
  • 2 x MDF pieces, i used 45x15 and 15x15: ~6.00 USD. / 2-4 € worth of MDF
  • 2 x Little metal L bracket
  • 1 x Plastic enclosure for PSU: ~4.00 USD. / 1€ for a standard elecrtical box
  • 1 x 4 pieces lot 5x8mm couplings: ~5.50 USD. / 8.99 €
  • 1 x NEMA 17 Motor 1.7A: ~9.00 USD. // 12€
  • 1 x Misc. cables: ~2.00 USD. // had some laying around
  • 1 x Can of acrylic spray paint 5€

**Total cost: up to what you have available :)


There's actually no need of perfboard / protoboard. However, in order to mount the HC-SR04 on the top of the cereal dispenser you may use a hot glue gun.

Parameters to be updated on the .ino file:

Just search for REPLACEME inside the ino before uploading.

Necessary libraries:

#include <Stepper.h>
#include <ESP8266WiFi.h>
#include <ArduinoOTA.h>
#include <PubSubClient.h>
#include <NTPClient.h> (using a fork for leveraging getFormattedDate() find it here:

How to control the cat feeder via mqtt/Home Assistant:

just publish "feed" to the MQTT command channel, which if you dont change anything is home/catfeeder/feed

You can use the script i provided under the HASS folder.

You can’t perform that action at this time.