Project

Aquarium and Plant Auto-Feeder with Schedule and App

Aquarium auto-feeders are a small, slightly boring corner of the hobby market. The good ones (Eheim, Fish Mate) cost $30–60, work reliably, and have UIs designed in 1998. The cheap ones cost $10, fail at random, and dump their entire reservoir into the tank when they jam. Building your own splits the difference: more reliable than the cheap ones, more capable than the expensive ones, and trivially under $15 once you have an ESP32 sitting around.

This project also covers automated plant fertiliser dosing (same mechanism, different schedule) and treats both as instances of one general problem: deliver a calibrated dose at a programmed time, log it, alert if something went wrong.

How it works

flowchart LR Schedule[Schedule in NVS
e.g. 8:00, 18:00] --> MCU[[ESP32]] NTP[NTP time sync
via WiFi] --> MCU MCU -.->|trigger time| Servo[SG90 servo
+ 3D-printed auger] Servo --> Hopper[Food hopper] Hopper --> Tank[Aquarium] MCU -->|MQTT or webhook| Phone[Phone notification] Manual[Manual feed button] --> MCU

An ESP32 keeps WiFi-synchronised time, fires a servo at scheduled moments to drop a measured dose of food, and sends a notification on every feed event.

Hardware

  • ESP32 DevKit — $8
  • SG90 micro servo (or MG90 metal-gear for more reliability) — $3
  • 3D-printed feeder body + auger (multiple designs on Printables) — $3 of filament
  • Momentary push button (manual feed) — $1
  • USB-C power supply — $5
  • Optional: 0.96" OLED for local clock + last feed time — $4

Total $15–20. The 3D-printed parts are the longest single task — find a design that fits your tank's hood. The auger style (a screw that turns one rotation per feed) is more reliable than the rotating drum style, which jams more often.

Calibrating the dose

This is the part most cheap commercial feeders get wrong. The dose-per-rotation depends on:

  • Food shape (flake, pellet, granule)
  • Auger geometry (pitch, diameter)
  • Hopper fill level (more food = more friction = sometimes less dispensed per turn)

Calibrate empirically: load the hopper, run 10 feeds, weigh the dispensed food, divide. Adjust auger speed (servo travel angle) or count rotations per feed event until the dose matches what you actually want to feed.

For aquariums, a healthy adult-fish daily portion is about 1–2% of body weight in dry food. Most people overfeed dramatically. The auto-feeder's main psychological benefit is that it forces you to commit to a specific small dose and stop tossing extra in.

Weekend mode and travel

The most common reason people buy auto-feeders is travel. The firmware should handle a few specific cases:

  • Weekend mode. Some users want a different schedule on weekends.
  • Travel mode. Cap the per-day total dose to prevent runaway feeding if a clock bug fires the schedule repeatedly.
  • Reservoir empty alert. Track how many feeds have occurred since refill; alert when approaching capacity.
  • Power-loss recovery. When power returns, do NOT immediately catch up on missed feeds. Resume normal schedule from current time onward. Catching up has killed fish.

Frequently Asked Questions

What if WiFi drops? Does it still feed?

Yes — the schedule lives in firmware and uses an internal timer once NTP has synced once. Lose WiFi after that and the device keeps feeding on schedule for days. The notifications stop until WiFi returns; the feeding doesn't.

Will it work for cat or dog food?

The auger mechanism is fine for kibble up to ~10 mm pellets. For larger pieces, scale up the auger and replace the SG90 with a stronger MG90 or a 12V geared motor.

How reliable is it long-term?

The SG90 servo is the weak point. After 6–12 months of multi-times-a-day operation, gear wear becomes noticeable. The MG90 (metal gears, $5) lasts 3–5 years in this duty cycle.

What about humidity? Aquariums are wet.

Critical concern. The hopper sits above the water surface but condensation will eventually reach the electronics. Mount the ESP32 outside the tank canopy, run wires through a sealed grommet to the servo.

Can I trigger a feed remotely while traveling?

Yes. With WiFi access, expose an HTTP endpoint or MQTT topic. From your phone, trigger a feed.

Project package

Get the complete project package

The article above shows the core firmware and the principles behind it. The complete project package — assembled, tested, and ready to flash — is available by email request. We send it manually, and we read every request.

  • Complete Arduino sketch (.ino) with full error handling
  • List of required libraries with version numbers
  • Printable wiring diagram (PDF)
  • Bill of materials with current part numbers
  • Build guide and troubleshooting tips
  • Configuration template (WiFi, MQTT, etc.)

We send the package by email within 24 hours, usually faster. Free, no spam, no mailing list. Your email is used once, for this reply.

Share your thoughts

Worked with this in production and have a story to share, or disagree with a tradeoff? Email us at support@mybytenest.com — we read everything.