An Automatic Fish Feeder using Arduino

picture of electronic fish feeding device coming soon

My wife and I were packing for a holiday trip when we realized that we had not arranged for her Beta fish to be fed. We would be gone for weeks. Although Beta fish are rather hardy and it might have survived the fast, my wife thought it would most likely die. I suggested solving the problem by purchasing a new Beta fish when we returned, but that solution was deemed unsatisfactory. Drawing inspiration from Doc Brown's automatic dog feeder, I decided I should come up with an automatic fish feeder.

What I needed was some way to feed the fish twice per day, dispensing only a few food pellets each time. Since this is the semiconductor age, I took the paradoxically simple "millions-of-transistors" approach and used a leftover microcontroller board that I had earlier purchased from AVRThing.com. My original design used a servomotor to tip a salt shaker over the fish bowl, but the distribution of the pellets dispensed per tip was too wide, dispensing too many pellets on some tips, and none at all on others.

picture of auger mechanism coming soon

My final design used an auger approach. For the auger itself, I used a twist drill. Although not a perfect auger, I already had it in the toolbox. Any auger needs a tube to operate in or it is more of a propeller than an auger. For this purpose I used a nylon spacer leftover from Panoramicam. I installed the auger+tube in the bottom of a 35mm film canister, which acted as the feed hopper. The pellets are able to drop down into the grooves in the twist drill where they are augered out during feed-time.

I powered the auger with a small geared DC motor that I years ago salvaged from a broken paintball hopper. Using the PWM output of the microcontroller and a small power transistor, I was able to control both the speed of augering and the total augering time, resulting in a pleasantly narrow distribution of pellets delivered.

My program code was only a very few lines, partially due to its flawed use of a variable which would have overflowed in 28 days. However, our vacation was only two weeks, so this bug was of no consequence. I installed the whole system on a piece of coroplast and powered it from a wall adaptor. It worked perfectly and our fish is still alive as of this writing. I have since dismantled the feeder for parts, though, since my wife enjoys feeding the fish. I think it makes her feel powerful.





Back to Projects
Home