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.

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

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

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



1x 9 V battery

1x 9V Battery Snap Power Cable