Search models, users, collections, and posts

smart pet feeder

IP Report

Print Profile(1)

All
P1S
P1P
A2L
H2D Pro
H2D
X1
H2S
P2S
H2C
X2D
A1
X1 Carbon
X1E

0.2mm layer, 2 walls, 5% infill
0.2mm layer, 2 walls, 5% infill
Designer
30 h
6 plates

Open in Bambu Studio
Boost
26
68
2
0
9
0
Released 

Bill of Materials

Bambu Filaments
Select all
Gray(30107) / Filament with spool / 1kg
Gray(30107) / Refill / 1kg
Gray (10103) / Filament with spool / 1kg
Gray (10103) / Refill / 1kg
List other parts
  • USB-C Power Supply x 1:
  • Push Button x 1:
  • Arduino Nano ESP32 x 1:
  • Continuous Rotation Servo (360 x 1:
  • RGB LED (Common Anode) x 1:
  • 220Ω Resistors x 3:

Description

Boost Me (for free)

Like this model? Give it a Boost! It helps me continue designing free, functional 3D-printable outdoor gear for the community. Thank you! đŸ‘đŸ•ïž

Smart Pet Feeder ESP32

Designed, tested and used daily for over 2 months before release.

A fully 3D printed smart pet feeder powered by an ESP32. Easily configure feeding schedules through a built-in WiFi web interface without the need for a dedicated app.

The feeder uses a servo-driven dispensing mechanism and automatically stores all settings, even after power loss. Perfect for cats and small pets.

Real-World Tested đŸŸ

This feeder is not just a prototype.

The design and software have been tested in daily use for more than 2 months before release. During this period, the feeder reliably dispensed food according to schedule and allowed continuous improvements to both the hardware and software.

Features

✅ Fully 3D printed design
✅ WiFi setup with captive portal
✅ Mobile-friendly web interface
✅ Multiple feeding schedules
✅ Adjustable feeding duration
✅ Adjustable motor speed
✅ Manual feeding button
✅ RGB status LED
✅ Automatic daylight saving time support
✅ Settings saved in memory
✅ USB powered
✅ Factory reset function

Hardware

  • Arduino Nano ESP32
  • Continuous Rotation Servo
  • RGB LED
  • Push Button
  • USB-C Power Supply

Software

  • Arduino IDE
  • WiFiManager
  • ESP32Servo
  • ESP32 WebServer

How It Works

After powering on, the feeder creates a WiFi setup portal if no network is configured.

Once connected to your WiFi network, you can access the built-in web interface from any phone, tablet, or computer on the same network.

Feeding schedules, motor speed and feeding duration can all be configured directly from the web page.

All settings are automatically saved and restored after power loss.

First Setup

  1. Power on the feeder.
  2. Connect to the WiFi setup network:

CatFeeder

 

  1. The WiFi setup page will automatically open on most devices.
  2. If it does not open automatically, browse to:

192.168.4.1

 

  1. Enter your WiFi credentials.
  2. The feeder will restart and connect to your WiFi network.
  3. Find the assigned IP address in your router.
  4. Open that IP address in your browser to access the web interface.

Accessing the Web Interface

After connecting the feeder to your WiFi network, open the IP address assigned by your router in a web browser.

Example:

http://192.168.1.150

 

The IP address can usually be found in your router's connected devices list under:

CatFeeder

 

Once connected, you can access the web interface from any phone, tablet, or computer connected to the same WiFi network.

Web Interface Guide

The Smart Pet Feeder ESP32 includes a built-in web interface that can be accessed from any phone, tablet, or computer connected to the same WiFi network.

Note: The screenshots shown on this page may be slightly different from the current version. The final version included with the project uses English labels and buttons.

 

Current Time

At the top of the page, the current time is displayed.

The ESP32 automatically synchronizes the clock using an internet time server and automatically adjusts for daylight saving time.

Speed

The Speed slider controls the rotation speed of the servo motor.

  • Lower value = slower feeding
  • Higher value = faster feeding

The current percentage is displayed above the slider.

Duration

The Duration slider controls how long the feeder dispenses food.

  • Displayed in seconds
  • Higher value = larger food portion

Feeding Times

Under Feeding Times, you can configure up to five automatic feeding schedules.

For each feeding time:

  • Left field = Hour (0–23)
  • Right field = Minute (0–59)

Add Feeding Time

Press the + button to add a new feeding schedule.

Maximum: 5 feeding times

Remove Feeding Time

Press the X button next to a feeding time to remove it.

Feed Now

Press FEED NOW to immediately dispense food.

This does not affect the programmed feeding schedule.

Automatic Saving

All settings are saved automatically.

No save button is required.

Settings remain stored after restart or power loss.

Status LED

The RGB LED indicates the current system status.

ColorStatus
GreenConnected and ready
OrangeFeeding in progress
RedReset mode

Wiring / Connections

ESP32 Connections

ESP32 PinFunction
GPIO18Servo Signal
GPIO5Reset Button
GPIO10RGB LED Red
GPIO11RGB LED Blue
GPIO12RGB LED Green
VIN / 5VUSB-C Power Input
GNDCommon Ground

Servo

Servo WireConnection
Red5V
BrownGND
OrangeGPIO18

RGB LED

RGB LED PinConnection
Common Anode5V
Red220Ω → GPIO10
Green220Ω → GPIO12
Blue220Ω → GPIO11

Reset Button

Button PinConnection
Pin 1GPIO5
Pin 2GND

Hold the reset button for 3 seconds to perform a factory reset.

 

Factory Reset

To completely reset the feeder:

  1. Press and hold the reset button for 3 seconds.
  2. The RGB LED will indicate that the reset process has started.
  3. The ESP32 will erase:
    • Saved WiFi credentials
    • Feeding schedules
    • Speed setting
    • Feeding duration
  4. The device will restart automatically.

After the restart, the feeder will behave like a brand-new device and will start the WiFi setup process again.

Default Settings After Reset

SettingValue
Speed30%
Duration2 seconds
Feeding Time 108:00
Feeding Time 208:00
WiFiNot configured

Power Supply

USB Version

  • USB-C 5V / 2A Power Supply
  • ESP32 powered through VIN
  • Servo powered directly from 5V
  • Common ground shared between all components

Recommended

Add a 1000”F capacitor between 5V and GND near the servo connector to prevent voltage drops and unexpected ESP32 resets.

Required Components

ComponentQuantity
Arduino Nano ESP321
Continuous Rotation Servo1
RGB LED (Common Anode)1
220Ω Resistor3
Push Button1
1000”F Capacitor1
USB-C Power Supply1

Printing

Recommended Settings

SettingValue
Layer Height0.20 mm
Infill15–20%
SupportsYes
MaterialPLA or PETG

Source Code

The complete Arduino source code is included with this project.

Required libraries:

  • WiFiManager
  • ESP32Servo
  • Preferences
  • ESPmDNS

Board:

  • Arduino Nano ESP32

License

This project is intended for personal use and maker projects.

Feel free to modify, improve and share your own versions.

 

My name is Andres, and I just started uploading and designing for others. If you'd like to help me, you can always donate a boost.

 

My name is Andres, and I just started uploading and designing for others. If you'd like to help me, you can always donate a boost.

Boost Me (for free)

thanks for boosting me


Documentation (1)

Other Files (1)
code.txt

Comment & Rating (2)

(0/1000)

License

This user content is licensed under a Standard Digital File License.

You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.