My Custom Automatic Aquarium Feeder

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.

Managing Temperature in My Sunroom

I have a sunroom attached to my house which is a fantastic place in the summer except it can get exceedingly hot at peak hours with temperatures reaching up to 36°C. To combat this I installed a 300 CFM exhaust fan in the roof and added a programmable timer to turn it on at peak hours.

The installation was fairly easy though I did have to manually switch the polarity on the fan to reverse the flow. I mounted it at the ceiling so it pulls the hottest air out.

Looking at the temperature throughout the day you can clearly see where the fan turns on and drops the temperature an astonishing 6°C.

Sunroom temperature throughout the day
Mounted exhaust fan

This has been a pretty fun project and is a recommended solution to managing heat in sunrooms. Next steps will be setting up a controller for this to dynamically have it turn on when temperatures are too high rather than just at static times.

Wood Grilled Pork Chops

As a general statement grilled meat tastes better than meat cooked in a pan. There is something about the aromatics produced during wood burning that just makes meat taste so much better and the much higher temperatures that can be achieved using real fire enable the ability for true grill marks. Though gas grilling is more convenient wood fired grills are more versatile and tastier.

Roasted Duck Breast

Though I could have done a bit better on presentation, duck breast is a personal favourite of mine and it tasted great. I placed this over a nice mushroom couscous and the only thing missing was a nice sauce and vegetable side. Pre-slicing the breast made for perfect mouth sized pieces. Next time I will expand on this dish but for now its a quick and easy meal.

Smoked Ribs

One of my best investments was a Bradley smoker for my Dad’s birthday with the benefit of being able to use it when available and benefiting from the great food made within. On a recent party we have smoker ribs and sausages the smelled out of this world coming out of the smoker. The cold smoking attachment also allows for making smoked cheeses or fish without overcooking.

Butternut Squash Risotto

A classic feel good food especially this time of year. With cheap squash from the farmers market it was easy to roast and puree it. Risotto was made traditionally with a the butternut squash puree added in the later stages. Additionally I added fried polish sausage that pairs very well with the hearty dish.

Cast Iron Pizza

Before buying my pizza steel I would make pizza in a preheated cast iron pan. Preheating to 450F for ~45min allows me to get a great bottom as well as a beautiful charred top.

Restaurant vs At Home

As a follow up to my recent post about making braised short rib I wanted to change my typical outlook on restaurants. I have always been fairly adamant that I will not go out to eat at a restaurant if I know I can make it better at home. The major amendment I have to this is that for dishes like braised short ribs, pulled pork or duck confit that require hours to prepare, it is more efficient for me to just go to a restaurant and have them there. These dishes scale very well where making 10 braised short ribs takes the same effort as 1 and so it is terribly inefficient to work on an individual scale. Additionally cost wise a local restaurant has a braised short rib recipe priced at 38$ which when comparing to the ingredient costs for me to make 1 short rib is very comparable unfortunately.