Skip to content

OLucassBR/HA_Pet_Feeder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

🐾 Automatic Pet Feeder (Anti-Jam Edition) with Home Assistant

A heavily modified and optimized version of the automatic pet feeder, designed to completely eliminate feed jamming issues using mechanical adjustments and advanced ESPHome code.

Project remixed from szuchid's original design: Thingiverse Link

Feel free to make any modifications to the project! =)

✨ Key Features & Improvements

  • Aggressive Anti-Jam Logic: The ESP32-C3 runs a custom ESPHome script that applies micro-vibrations (rapid back-and-forth movements) to break the kibble structure before dispensing.
  • Modified Auger: The STL provided in this repository has the auger X/Y scale reduced to prevent pellets from being wedged between the blade and the housing.
  • Smart Home Integration: Fully manageable via Home Assistant (ESPHome).
  • Musical Feedback: Plays Beethoven's Für Elise via a passive buzzer when the food is successfully dispensed.

🛠️ Bill of Materials (BOM)

  • 1x ESP32-C3 SuperMini (or similar)
  • 1x 28BYJ-48 Stepper Motor
  • 1x Stepper Motor Driver (ULN2003)
  • 1x Passive Buzzer
  • 6x Dupont Jumpers (Male to Female)
  • 1x Breadboard (170-point)
  • 1x USB-C Cable
  • 1x 5V/2A Wall Charger (e.g., Samsung fast charger)

Software required: Home Assistant with ESPHome Add-on installed.


🖨️ 3D Printing Recommendations

For the best mechanism flow, it is highly recommended to print the auger in PETG. PETG has a lower friction coefficient than PLA, allowing the kibble to slide smoothly and preventing the plastic from cracking under the motor's torque.
Use brim in all parts.


⚡ Wiring & Mechanism Assembly

  1. Attach the ESP32-C3 SuperMini to the Breadboard.
  2. Plug the 28BYJ-48 motor into the ULN2003 driver.
  3. Follow the wiring table below to connect the components using Dupont jumpers:
ULN2003 Driver ESP32-C3 SuperMini
IN1 GPIO 0
IN2 GPIO 1
IN3 GPIO 2
IN4 GPIO 3
VCC (+) 5V
GND (-) GND

⚠️ WARNING: Make sure you are connecting the positive pin of the ULN2003 driver to the 5V input of the ESP32 (not the 3.3V) to ensure the motor has enough torque and to avoid power drops.

Passive Buzzer ESP32-C3 SuperMini
Positive Pin (+) GPIO 21
Negative Pin (-) GND

🚀 Installation

  1. Connect the ESP32-C3 to your computer.
  2. Open ESPHome via Home Assistant.
  3. Create a new device and flash the provided esp32-c3.yaml code.
  4. Add the device to your Home Assistant dashboard.

⏰ Automating Daily Meals in Home Assistant

Once your feeder is integrated into Home Assistant, setting up a daily feeding schedule is straightforward using the built-in UI. You don't need to write any YAML for this part:

  1. In your Home Assistant sidebar, go to Settings > Automations & Scenes > Automations.
  2. Click on the + Create Automation button at the bottom right.
  3. Set the Trigger:
    • Click on Add Trigger and select Time.
    • Set the exact time you want the food to be dispensed (e.g., 07:00:00).

    💡 Tip: You can add multiple "Time" triggers in this exact same automation if you want to feed your pet at different times of the day (e.g., breakfast, lunch, and dinner).

  4. Set the Action:
    • Click on Add Action and search for Button: Press.
    • Under "Entities", select the button created by your ESPHome device (e.g., Alimentar Pet (1 Porção)).
  5. Click Save in the bottom right corner and give your automation a name (like "Cat's Breakfast").

That's it! Home Assistant will now automatically "press" the dispense button at the scheduled times every single day.

About

A heavily modified and optimized version of the automatic pet feeder, designed to completely eliminate feed jamming issues using mechanical adjustments and advanced ESPHome code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors