book collections email follower instructable user
Picture of Betta Fish Feeder

I'm setting up a betta fish tank and wanted to make an automatic fish feeder so he never misses a meal. I've seen other DIY fish feeders that just shake a container but I wanted to be able to precisely control how much food he'll get. Hope the new fishy likes it!

Follow my other projects on Instagram @Trevor_DIY

Purchasing through the following affiliate links supports me as a maker :)

Step 1: Wire Up the Motor Driver and Stepper Motor

Picture of Wire Up the Motor Driver and Stepper Motor

Yes, to run a stepper motor with Arduino, you MUST have a motor driver! There's heaps of info online about this but the quick and dirty reason is because the Arduino output pins are not able to supply the stepper with enough current (amps) to get the coils in the stepper to engage. I chose this stepper and motor driver because it can work off 5V which the Arduino has an output for.

  1. Plug the stepper into the motor driver with the white connector.
  2. Connect the Arduino output pins 8, 9, 10, 11 to the motor driver input pins 1N1, 1N2, 1N3, 1N4 respectively.
  3. Connect the Arduino power pins GND and 5V to the motor driver power pins - and + respectively.
  4. Connect the Arduino USB port to your computer and start the Arduino software.
Agradecería me diga Como quedaría el código. Si tengo rtc. Lcd .
Lo siento, nunca he usado rtc. El reloj funciona bien para este proyecto.
provadance20 days ago
So if I wanted to scale this up to feed a dog, can you recommend a controller board and more robust motor?
A dog?
It is better to get someone else to feed the dog if you are going some where,
I would never trust a system like this to feed my dog (not that I have one).
No, you misunderstand. I would be around. The plan is to wire this up so when my dog Buddy fetches a Doppelbok beer from the cooler, and drops it in the cupholder beside my Lazy-Boy chair, then the device automatically feeds him. No Doppelbok, no dinner. He's smart, Buddy is, but he needs to earn his keep.
sorry for the misunderstanding.
Trevor_DIY (author)  provadance20 days ago
Hi there,

Happy to recommend some things, but first a word of caution. I wouldn't use a system like the one I've designed for more than 1 or 2 automated consecutive meals for a dog. If the system fails for any reason, a dog is much less able to go without a meal and could potentially hurt itself trying to get into the feeding mechanism for its food. Please keep this in mind and use your best discretion as a pet owner :)

For the stepper, I would recommend this NEMA stepper.
For the driver, I would recommend this shield.
Keep in mind, you will need to supply the shield with more power than the Arduino board is ready to output so the driver would need something like this power source.

Let me know if you have other questions!
First of all, this is a great project!
However, correct me if I'm wrong, but isn't the arduino's delay function a bit inaccurate ?(for example a delay of 1000 milliseconds in the arduino code will produce a delay of slightly more than 1 second in real life)
Based on my experience trying to make an arduino clock without an external real time clock chip, the timings will drift slightly and eventually add up causing a significant difference.
Trevor_DIY (author)  Hendrick Sebastian14 days ago
Hi Hendrick,

Thanks for the input and you are absolutely correct, the internal arduino clock is fairly inaccurate and will drift over time. Over the past 2 weeks of feeding, it has drifted a few seconds but for this application, that's a pretty acceptable error. I wouldn't set my watch to the arduino clock but it seems to be accurate enough for approximate feeding times.

If you are worried about drift, I'd recommend either getting an external clock chip like you said or just unplug and plug it back it at feeding time every few weeks to reset the offset.

Thanks for the tip!
esther.p21026 days ago
This is quite clever. I have forwarded it to others who I suspect will be keen to see it.
I suggest you not pre-load too much betta food in a high humidity environment. It will be soaking up air moisture as it sits in the dispenser tray. For instance, I wouldn't pre-load a week's worth of betta pellets in August in Rhode Island unless the house had central air conditioning. Any fish food that has desicant packets inside the container can rot if it soaks up moisture too far in advance of being eaten.
Trevor_DIY (author)  esther.p21026 days ago
That's a great point! I'm in a pretty desert climate but for anyone in a more humid environment should definitely consider this. Maybe I'll see if I can modify it to be enclosed with a desiccant packet too!
maybe modifying the feeding mechanism with a lid? preferably from clear plastic so you can check remaining food without opening it?
In fact, my purchased automatic fish feeder got clogged (the outlet) somewhere in-between my three weeks absence. Some tiny fishes went missing from the aquarium by the time I came back.
Sorry for the loss of your three fish. The ones that remain probably ate the ones that are missing. Fish aren't sentimental.
Trevor_DIY (author)  Abhijit Borah21 days ago
Oh no! Well hopefully this one is more reliable than the purchased ones :P
Great idea, my kids just get a few Betta, recently, they are still very excited and feeding them regularly, I suspect when the novelty runs on, this will be a perfect solution.
Trevor_DIY (author)  snorlaxprime21 days ago
Hahaha, hope this works out for you!
Eburwin21 days ago
Cool idea!
Trevor_DIY (author)  Eburwin21 days ago
pgs07094721 days ago
Nice project and useful for lots of other things
But.... poor fish. I hope that isn't his home for life. If it wasn't neurotic before, it soon will be with all that surveillance going on.
Trevor_DIY (author)  pgs07094721 days ago
Don't worry, he'll be moving to a bigger tank with lots of fun places to hide :)