Introduction: Programmable Aquarium Fish Feeder - Designed Granulated Food
Fish feeder - designed granulated food for aquarium fish.
Its very simple design of fully automatic fish feeder.
Its operated with small SG90 micro servo 9g and Arduino Nano.
You power whole feeder with USB cable (from USB charger or USB port of your PC)
By simple editing attached program you can set exact times of feeding set on exact hour minute.
Step 1: Aquarium Fish Feeder - Programmable - With 9g Servo
First you should print mechanical parts
Here is STL file.
https://www.thingiverse.com/thing:2761061
I used PET-G material because it’s very strong and isn’t affected by any chemicals or sunlight.
Also, there is no risk that some toxic chemicals will affect my aquarium.
Only one thing isn’t 3D printed and its tank for fish granules – there is used old PET bottle.
Step 2: Assembly Mechanical Parts
Step 3: Prepare Circuit
It is very simple circuit.
There is a mosfet tranzistor which is works like switch driven by arduino.
Reason is that we activate servo only for short time in very long period so it is not necessary to let it drain the battery. :)
You can use some universal soldering board
Step 4: Progrmming Arduiono I.
Servo is in two positions
1. – in place under food storage tank
2. – in position over feeding hole.
You can use this program servo_2_positioning.ino
You will play with 2 values
int ser_pos_feeder = 80; // position under food tank
int ser_pos_fishtank = 25; // position over feeding hole
Attachments
Step 5: Progrmming Arduiono II.
When you found optimal
position of servo, you can upload full program with timer.
Set the:
- - Current time
- - Feeding times
- - Number of doses
*(I am now working on version where will be display and you will be able to set it up with buttons and now with computer.)
char feeding_times[] = "08:00:00,12:00:00,18:30:10,21:30:00,18:32:00"; // time format is HH:MM:SS and with , you can add more values.
int count_of_doses = 10; // how many doses shoul fish get per feeding
// If you want that feeding is coresponding with real time you have to set the real time
String current_time = "18:30:00"; // Time is countent allways from this value after reset or power of
Attachments
Step 6: Putting All Together
Just close your box
Upload program and let your fish enjoy :)
Step 7: List of Materials
2x M3 5mm Screw
2x M3 20mm Screw
1x Arduino nano
1x SG90 9g Micro Servo
1x Single Row Pin Male Header (we will use 3 pins)
1x BS170 - mosfet tranzistor
------------------------------------------------------------------------------------
Optional
1x 9 V battery
1x 9V Battery Snap Power Cable
12 Comments
7 months ago
very beautiful realization however when I disconnect my Arduino Nano to place it on my aquarium and connected with a rechargeable battery it does not work anymore i would like to know why ?
1 year ago
i see there no warning, about servo voltage requirement - its operates 4.8V-6V. but 9v battery will be too high for sg90.
also want to add, that arduino itself dont have clock. timer command (delay) very not reliable for long periods of time. its best to fit RTC module to work as its supposed to.
Question 1 year ago
The standard doses are bit too high for my purpose. Is it possible to make the feeder turn half so that it only dispenses half a dose?
2 years ago
simple and efficient , i've added a Neopixel light support ( with my low coding skills) .
question : even in standby I have current in the servo , it makes it heat and a bit noisy , its 200ma drain . did i makes something bad ? ( replaced the BS170 by a irlml6244 that was in the component box)
2 years ago
hello, can you write a sketch for the servo and control the relay? I really want to add auto light to the aquarium
2 years ago
Thank you for the great instructable and excllent design.
Would you be willing to share the fusion360 files? I would like to make a similar feeder, but with a few modifications and adjustments for different amount of food.
Thanks
3 years ago
Hi there, what was the model of transistor you used please?
Reply 3 years ago
1x BS170 - mosfet tranzistor
Question 3 years ago on Step 3
Tk you for yr great design. I didn’t use the mosfet transistor n was able to run the sketch without problem. I’m using 5v usb power, can I ask, is that I need to use the mosfet only when I needed to power it by a battery? The sole purpose of it is to prevent battery drain, right?
Answer 3 years ago
Hi Exactly, I find out that Cheap servo doesnt like to be long time on.
So I puts there energy only in time when i need it.
5 years ago
It would be really convienient to have one of these on each tank! I've got a friend that has a mini aquarium that could use those :)
Reply 5 years ago
It's possible :)
This feeder is also designed as cheap as possible. So you can build as much as you wish. :)
But feeding fish, was always only fun thing, on aquaristic.
I build it because i needed travel some time, so I want something substitute me when i am out.