I have been playing around with automatic aquarium feeders for close to 5 years now and have finally had a chance to make my own custom feeder designed specifically for the Fluval flex tank. It has been a fun journey where I was able to practice everything from soldering, 3D design to software development.

To Start
I started off with an off the shelf “dumb” feeder that is battery powered and has a automatic feeding function every 12 or 24 hours. This won’t do for me as I like fine grained control and batteries have a habit of failing at the worse time.
To solve this I used one of my 5$ NodeMCU controllers so I can 1) have this powered over USB, 2) set custom feeding programs and 3) to be able to control this over the internet.
For the power I simply soldered the 3V power from the NodeMCU into the automatic feeder and it worked without a problem as there was already a power conversion circuit on the feeder. As for the button that was a bit more fun.
Using a multi meter (in diode mode) I reviewed the switch contact pins that would cause the feeder to start a feeding cycle. I then soldered a transistor across these pins so that when I turn the transistor on I can simulate the physical button being pressed and start my own feed cycle. This way I still have all of the original functions of the feeder (most importantly position sensing so it returns to the correct position) but I now have full control over its use.

The last part of this was writing code for the NodeMCU controller which was a bit complex as I decided to implement the option to do multiple feed cycles and track last fed time so I can setup alerts for any feeding errors. For the multiple feed cycles I created an API for the controller that can take any number of feed cycles based on URL get parameters. For example in the URL below I have feed_cycles=1 so it would do 1 cycle but I can equivalently set this to 2 or 10. Additionally I set a hard coded password in the API so it is not accidentally accessed. This is all on an internal network that has no open access to the outside world so should not be a problem.

Now that the brains and function were all setup I set on figuring out how to actually mount it. As I have the Fluval flex aquarium that come with a lid there aren’t any standard automatic feeders that would fit so I knew I had to make my own 3D design.
I am definitely not an expert in 3D CAD design but as a certified “Jack of all trades” I know enough to get me by. I went through 5 revisions to get all of the sizing correct and in the end had a functional product. The 3 main features are a lower lip that is sized to fit in my tank’s lid, a ledge for the aquarium feeder to mount to and angled edges to ensure fish food ends in the tank.

I printed all of these on my faithful Elegoo Mars and within 3 hours had a functional product.


Summary
In summary this was a fun multi disciplinary project that allowed me to make something that doesn’t exist on the market.
Reasons why my feeder is better:
- USB Powerered
- Wifi Enabled
- Custom Feeding Schedules
- Alert Emails On Missed Feeding Schedules
- Control Over How Many Feed Cycles per Feeding
- Fits On The Fluval Flex
- Mess Free (the flakes in the picture are there because I spilled some during the mounting process)
- Home Made With Love
Additional notes: part of the reason why I went through all of this effort was due to wanting a tank with a lid on it. Living in the KW region I have very hard water and an opened tank looses to much water to evaporation leading to unseemly calcium buildup. A lidded tank reduces evaporation and enables a generally more easier life. Additionally next steps include weighing an average feeding cycle to understand the distribution and then start feeding my fish based on their weight.