Introduction: The "all in One Box" Aquarium Feeder

About: Hello I am Brian from Belgium. you know......the small country of chocolate beer and french fries. My hobbies are: aquariums, jeet kunne do (martial arts) ,small 4 stroke motor bikes, and Arduino projects I…

Hi i am Brian

For several years now i owning a large 400 liter aquarium.i was always fasinated by fish in all colors and shapes.keeping fish happy wil require a bit keeping the thank nice and clean.trimming the plants.the once in a week water change. ect...

also fish like to eat :)

But i have a pretty bussy life.Sometimes i am away for the entire week.Water changes can wait.And the plants can survive a skipped trim job.But fishes do need food once a day.And there is no one to do that in the house so i purchased a automatic fish feeder.

But there are drawbacks to the feeder i bought

  • runs on battery power and will not last a week
  • wil drop the amount of food that is required all in one big pile (creating lots off pollution in the tank)
  • 3.the capacity of the feeder is to smal for a week supply of food.
  • cost over 50 euro!!

so i brainstormed a design with these specifications:

  • big storage capacity,
  • not battery powered ,
  • give the food slowly instead of all in one go.
  • reliability
  • non open top (to keep the food fresh longer)
  • relatively cheap
  • adaptable to different types of food (flakes,pallets)
  • have control over the amount of food per feed cycle
  • can be made wit parts everyone can easely find

So here is my version on the automatic fish feeder:)

Step 1: Things You Will Need

the images show you what you need.

  • you will also need (but is not shown in picture
  • soldering iron
  • shrink tubes
  • lighter
  • 5 volt power supply
  • usb cable (to program you're arduino)

info on the foamed pvc sheet

This is a material that is very easy to cut whit the stanly knife.i found it at the local hardware store.its 6 mm thick and is 50 cm on 100cm in dimension.if you can't find this you can also use 6mm thick plywood.however you need to apply a layer of varnish to protect it against water

info on the motor

the 28byj-48 stepper motor is used because it have build in gearbox and have (relatively to its size) a high torque
it is found on ebay (or other site's) for around 3 euro's. most of the time the ULN2003 Driver Board is included when you're buying it.

info on the arduino

basically you can use any 5 volt arduino,i used a nano because otherwise it will not fit inside the box

Step 2: Making the Motor Coupling

Take you're silicone cap and cut off a small piece on the narrowest side

press the cap onto the motor axis

make sure it is a snug fit

its better to cut of a small amount of plastic at a time and check if the axis will fit

then put the dribit into the other side of the cap

Step 3: Preparing the Box

glue the plastic sheets off 5x7 cm together

take you're sheets of 7x7 cm and place them in a V shaped way inside the box



then glue the plastic sheets to the box as shown into the picture

Step 4: How to Glue the Peaces in Place

this step shows you ho to glue the plastic sheets into the box

this is (i think) pretty self explaining

make sure you seal all the seems with glue

if i only had a 3d printer this would make this much more professional looking :)

Step 5: Inserting the Drill

drill a hole just above V shape with the drill bit that will be embedded into the box

also go trough the two plastic sheets KEEPING THE DRILBIT STRAIGHT

after the drill is in place make sure you can spin in free whit your hands

if not make the holes a tiny bit bigger

Step 6: Assemble the Drill Bit Assembly

put on you're gloves and start to knead the glue stick (i used a halve portion)

drop a little ball into the large end of the cap and put the drill inside

press firmly

next put the rest of the glue around the drill and the cap

keep the drill and the cap perfectly aligned

cut of the glue while it is still soft to make a flat edge

Step 7: Attaching the Motor to the Box

make a large hole into the backside of the box.

make sure the cap can fit trough the hole you just made

putt the drill bit assembly trough the holes

press the motor axis onto the drillasembly

drill two holes for the motor bolts

fasten in with the m4 nuts and bolts

Step 8: The Motor Driver

now it is time to wire the arduino

on the driver board you will find 4 pins called

  • in1---> connect to digital pin d2 on you're arduino
  • in2---> connect to digital pin d3 on you're arduino
  • in3---> connect to digital pin d4 on you're arduino
  • in4---> connect to digital pin d5 on you're arduino

you will also find 4 other pins called

  • - solder a black wire to this pin
  • + solder a red wire to this pin
  • blank -->connect to other blank pin
  • blank -->connect to other blank pin

the blank pins are the ones right oft the + and - pin

there was a jumper over these pins but i lost i soldered them together

Step 9: More Wires

plug the motor into you're shield an presto!! you're motor driver is now finished

now take another (new piece) red and black wire (not the one coming from the motor driver)

  • red--->solder to 5v pin on you're arduino
  • black-->solder to gnd (ground) pin on you're arduino

now take the red wire from you're arduino and the red wire from the motor driver and twist them together

do the same with the black wire

the brains are done now

Step 10: Install the Software

now plug in you're arduino

install the accelstepper library found here

more info to drive the motor found here

this code is used to test the feeder


#define HALFSTEP 8

// Motor pin definitions

#define motorPin1 3 // IN1 on the ULN2003 driver 1

#define motorPin2 4 // IN2 on the ULN2003 driver 1

#define motorPin3 5 // IN3 on the ULN2003 driver 1

#define motorPin4 6 // IN4 on the ULN2003 driver 1

// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48 AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup() {

stepper1.setMaxSpeed(1200.0); //1200 is maximum speed otherwise the motor will stall stepper1.setAcceleration(200.0); //this i find the best acceleration speed stepper1.setSpeed(200); stepper1.moveTo(100000);//the more step the longer the drill spins

//if the drill spins in the wrong way add a -

//example: stepper1.moveTo(-100000);

}//--(end setup )---

void loop() {; }

Step 11: The Last Step

Make a "bridge" over the axis of the motor using leftovers of the foamed pvc sheet

now you have 2 places left and right of your axis.

  • in one place you putt the motor driver
  • in the other you place the arduino

glue a cover onto everything to shield the wires

make sure the red and black wire is sticking out off the box


every time you putt 5 volt on the wires the arduino will start speeding up the motor an deliver food to your beloved


play around with the settings inside the program to fit your needs .small or large foods,pellets flakes it will all take different settings

Step 12: The Result

Adding a timer to the project will add the functionality to automaticly feed your fish in 30 minutes intervals

the arduino program will run once every time the power is put on

watch the video's to see it all in action

thank you

and sorry for my bad english :)

Age of Aquariums Contest

First Prize in the
Age of Aquariums Contest

Formlabs Contest

Participated in the
Formlabs Contest

Microcontroller Contest

Participated in the
Microcontroller Contest