3D Printed Fish Feeder

Fish Feeder

[Helios Labs] recently published version two of their 3D printed fish feeder. The system is designed to feed their fish twice a day. The design consists of nine separate STL files and can be mounted to a planter hanging above a fish tank in an aquaponics system. It probably wouldn’t take much to modify the design to work with a regular fish tank, though.

The system is very simple. The unit is primarily a box, or hopper, that holds the fish food. Towards the bottom is a 3D printed auger. The auger is super glued to the gear of a servo. The 9g servo is small and comes with internal limiters that only allow it to rotate about 180 degrees. The servo must be opened up and the limiters must be removed in order to enable a full 360 degree rotation. The servo is controlled by an Arduino, which can be mounted directly to the 3D printed case. The auger is designed in such a way as to prevent the fish food from accidentally entering the electronics compartment.

You might think that this project would use a real-time clock chip, or possibly interface with a computer to keep the time. Instead, the code simply feeds the fish one time as soon as it’s plugged in. Then it uses the “delay” function in order to wait a set period of time before feeding the fish a second time. In the example code this is set to 28,800,000 milliseconds, or eight hours. After feeding the fish a second time, the delay function is called again in order to wait until the original starting time.

16 thoughts on “3D Printed Fish Feeder

  1. I love 3D printing but the first thing that always comes to mind when seeing 3D is usually a way to do it with less printed parts or no printed parts. for example the hopper section looks like a project box with one side removed. then print the funnel and auger section bellow that with motor mount.

    1. I know what you mean. I know a lot of people who, once they obtained a 3d printer, they just went nuts and everything had to be printed. It’s kind of like the guy who only has a hammer. To that guy, every problem looks like a nail. That being said, I think there’s something more appealing about a device that’s designed for a specific purpose. This build might look cleaner and nicer than a similar device built from other components modified to suit this purpose.

    2. Cura says the whole contraption would cost me 4.12€ even accounting for electricity and mistakes in calculating the pla required for the parts this box would cost me less than 5€, it’s difficult to find a box that cheap, and then you have to adapt it to your needs with supports, cuts or… printed parts. Just leaving the house to buy the box would cost 1-2€ in transports, i could buy it from china at half the price and get the free delivery but then there is a 1 month wait for anything to get past customs in this country and i would still have to adapt the box.

  2. I’d alter the code to avoid the initial feeding when first powered on. Ever had a power disruption where the power goes off then back on multiple times? Some aquariums have very little tolerance for excess food, and can be wrecked in a hurry. Missed or delayed feedings are much better tolerated.

    1. That would be a great update. Something as simple as a button press for the initial feeding, then a delay of 8 hours for the second feeding.An indicator LED can also be added on to let you know if the power has gone out while you are away. Light on at boot, light off on first feeding and stays off through the second feeding. When you get home, if the LED is on, there has been a power cycle.

      1. Interesting idea. I’ve rarely seen it done that way, and I’m not certain, but there’s probably a good reason why. Some thoughts:

        1) It might be possible some smarter fish learn to remain clustered around the feeder, waiting for the next bit of food to fall. They’d get an unfair share.
        2) Faster, more aggressive fish would also have an unfair advantage, able to eat everything before slower fish get any.
        3) Food would be dispensed while they’re sleeping. (At least some of my fish sleep.) If flake food is on the menu, it’s so thin and processed that several water-soluble vitamins and minerals leech out significantly in just minutes; flake is best eaten ASAP.

        Such a setup might suffice for a vacation feeder, but I don’t think I’d rely on it long-term.

  3. The millis() function overflows after about a month or so. As such, this feeder will stop functioning at this time. It would be much better to set some EEPROM values, pull down the reset pin, and then continue going based on those values. That way it can run for years.

        1. ..and the RTC will probably have a 1 second clock signal coming out of it you can feed into a divider.

          Of course RTCs have alarms, and some can have the clock output set to any interval you like, even 8 hours.

          Now you can make the whole thing battery powered, and wait for the realisation to kick in that you’ve just re-invented the garden watering timer.

Leave a Reply to WaterjetCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.