Goals

If someone is too busy with school or work, they might forget to feed their fish. Thus, we created an IOT application called the “Smart Fish Feeder.” It can remotely dispense the right amount of food for the fish. In addition, it can also detect how much fish pellets you have left so that one knows when to refill (so they do not leave the house with an empty food dispenser).
Design choices + Concept

CAD drawing lost. Work in progress...
HCSR04 ultrasonic sensor chosen to measure the distance from the top of the food supply and claculate the percent of supply.
- It can measure distances from 2 cm to 400 cm. Since our container is at most 30 cm, the sensor will perform as intended for this range.
Fitec FS90 servo motor utilzied to ope n and close lid so food can be dispensed.
- From the motor’s datasheet (for 4.8 V) this corresponds to a peak stall torque of 1.3 kg/cm.
The ESP32 board communicates externally using two methods: MQTT (via Adafruit IO) and IFTTT.

MQTT Communication:
The ESP32 connects to local Wi-Fi and communicates through two Adafruit IO feeds: “main-feed” and “percent-left-feed.”
It subscribes to “main-feed” to receive commands and trigger corresponding callback functions.
It publishes the remaining supply percentage to “percent-left-feed,” which is monitored by IFTTT for automated responses.
IFTTT Integration:
Four applets were created:
- Manual Mode button – sends “Manual Mode” to “main-feed.”
- Timer Mode button – sends “Activate Timer Mode” to “main-feed.”
- Notification trigger (above 5%) – alerts the user when fish food is successfully dispensed.
- Notification trigger (below 5%) – warns the user when food dispensing fails due to low supply.
The last two applets also serve as status indicators for motor activation.
Torque not sufficient to turn material. Replaced with lighter plastic.
Final Assembly + Application

Successful implementation of prototype remote-controlled feeding system using Servo motors, with real-time data monitoring using ultrasonic sensor, accessible globally via IoT integration and reduced manual feed time by 30 minutes each day, removing in-person presence.
