Lessons from Running an IoT-Driven Aquaponics Greenhouse

Optimizing fish metabolism and plant production through IoT


In addition to running KnowThings, I have the privilege of being the CTO/Lead Engineer/ Lead QA Engineer for my wife’s farm, FunkNFresh Farms. CTO? Lead Engineer you ask? Well FunkNFresh Farms grows crops and farmed catfish using a method called aquaponics.

The basics of aquaponics are simply, you raise fish in a pond or tank. The fish eat and excrete in the water which is then fed to hydroponically grown vegetables that use the fish waste as nutrients and purify the water to keep the fish happy.

While high technology and instrumentation are not exactly required for aquaponics, the controlled mini ecosystem you have to create, and the potential for year round crop production, leaves a tremendous opportunity for optimization of the greenhouse through instrumentation, data collection and automated actions.

Currently, our greenhouse is an IoT device, which measures and reports on the water temperature, the ambient lighting and the pH of the water. It also has a passive solar heater attached to the greenhouse, as temperature is one of the first optimization factors I can bring into play. Full Disclosure: The water heater is not currently being driven by the device, I am installing that next week. 

The metabolism of the fish is basically dependent on two things: the amount of food they have available and the temperature of the water. The optimal temperature for the fish is 85 degrees fahrenheit. Go higher or lower and the fish eat less and grow less. By monitoring the temperature, as well as how much sunlight is available, I turn the solar water heater on and off to stay as close to the target temperature of 85 degrees. Considering that fish metabolism decreases by 15% for every 5 degrees from the ideal, this will greatly boost production next year.

Now it might be fair to say the current state of things is just automation. Even though it is web connected, that’s not really IoT – where’s the data analytics?

Well, in addition to the sensors I mentioned, I also have a microphone in the greenhouse. There are two vital pumps in the system, a water pump and an air pump. If either of those fail, plants and fish start to die very quickly. This is the first IoT angle. By capturing the audio and doing spectrum analysis on the wave files I can determine if the pumps are running, and if they are under stress or load.

This is a far cheaper solution than trying to individually monitor the pumps themselves. Now that analysis does not need to be done at the edge device, and frankly it’s better done on a server. My working hypothesis is that not only can the sound be used for disaster alerting when a pump shuts off or dies unexpectedly, but could also be used for predicting failure. I know from experience that when the pumps are going bad they sound different.

So bringing together the different disciplines we call IoT lets me have better visibility into the current state of the greenhouse and allows me to start doing optimizations for a whole lot less cost and complexity, than just simple automation route. A simple microphone is a lot cheaper and lower maintenance than voltage and flow monitoring on the pumps.

This is not just a nice to have, but a business necessity. You simply can’t make a profitable business selling lettuce, kale and other microgreens if you need ten thousand dollars in sensors and actuators as well as the associated maintenance.

Lastly I want to talk about some of the challenges I’ll face when I reach the next level of optimization. One optimization I can make is in regards to water temperature and that is what the current setup is designed to do. If you recall, the other input I can control is how much food the fish have available.

One of the tricks to aquaponics is to feed the fish as much as you can, without turning the environment toxic. However, that is influenced not just by temperature, but by how many plants are growing, how big they are, how much light the plants are getting and a whole host of factors. Also, those factors are constantly changing as plants grow and are harvested.

Thankfully there are two indicators that let you know when those factors are in balance. Aquarium owners will know you have to watch the nitrite and nitrate levels of a fish tank, as those are byproducts of fish waste that become toxic if allowed to get too high. Those are also the main nutrients the plants are absorbing, so there is an optimal zone for each of those elements to maximize plant growth without impacting the health of the fish. The challenge? Those sensors do not exist today.  

There are chemical lab tests which we do manually on a weekly basis. However, daily or even hourly monitoring of these two indicators would allow us to safely feed our fish the maximum amount and optimize both fish growth and plant growth. A highly optimized system could potentially double the yield over a year for the greenhouse.  

Considering how IoT and Smart Agriculture have driven down the cost of pH sensors by an order of magnitude in the past couple of years, I am optimistic that a commercially available sensor should hit the market soon.  If not… I can always build a robot to do those chemical tests for me. Just connect my robot to the analytics engine, use it to make intelligent decisions in the greenhouse and maximize both our yield and the farms profits.

KnowThings.io is a CA Technologies startup accelerator. We are building a machine learning-based device simulation to help IoT development teams build advanced virtual device prototypes and early-stage tests & development with realistic data s...
KnowThings.io is a CA Technologies startup accelerator. We are building a machine learning-based device simulation to help IoT development teams build advanced virtual device prototypes and early-stage tests & development with realistic data s...