Hi vertical farmers,


In the previous post we discussed our lettuce growth.


In this final one, we are going to present the latest achievements and the overall results obtained over the last months. Therefore, this post is intended to be the closure of our participation in the Vertical Farming Challenge. It was really fun to design this system, and everyone learned something along the way.


First of all, we want to show our appreciation to the challenge sponsors for providing the development kits and other hardware/software resources. We extensively used the EZR32WG 868MHz, which is the low-level core of our system, and all the other hardware modules. It’s important to note that we directed a lot of time and resources designing all system on the kits provided, in order to comply with the challenge specifications.


A few months ago, at the beginning of this competition, we proposed a modular farming system. One main feature was the ability to scale the number of crops without changing the main control core. An abstraction layer was created between each crop module and the data logging/supervision system. Internet is used as means of communication between these two modules (crop level and supervision), therefore, we created safe and robust protocols to efficiently transfer images, sensor readings or status codes.


We are very proud of the results so far and hopefully, with a nice salad in a few days.


What's New?

These days, in Paris, world leaders discuss strategies and make agreements in order to stop global warming. This phenomenon is on the verge of having a catastrophic impact on our way of life by the end of this century. In order to stop temperature before reaching the point of no return, energy production from renewable sources is an absolute imperative.


The Zero Net Energy (ZNE) concept implies an equality on the amount of energy consumed and produced locally. One main objective of this project was the application of this concept, that is, design a system without external energy dependence.


The developed system is able to generate and store energy locally using a solar panel, a battery pack and auxiliary hardware modules (MPPT and BMS). All system modules were designed in order to use the available energy efficiently. For example, the nutrient dispenser uses gravitational force to control the amount of nutrients in the main tank. Using magnetic sensors and solenoid valves, it was possible to build a reliable and precise system with minimal energy input (see its project, development and operation). We believe that these features represent originality in the project.


With the small time frame available we managed to design a near Net Zero system (it consumes a little more energy than it produces), meaning that our objective was not fully achieved. However, we are confident that with minimal improvements on the current setup, it is possible to minimize the gap between energy production and consumption.


Thinking out of the Box

Our system possesses highly innovative modules, especially the vision system with artificial intelligence. It is a set of advanced computer vision algorithms capable to detect plant characteristics like dry leaves, small sized plants or sick plants.


We also highlight the LED daylight cycle engineered to simulate light cycles that respect plants' photoperiod.


Designing Ahead

This was an ambitious project since the beginning due to the variety of topics embraced.


Due to our background on electronics and power management we decided to design and develop our own solutions for the LED drivers, maximum point power tracking (MPPT) and energy storage adding extra difficulty to our already challenging task.


From circuit schematic to PCB design, production and assembly or MPPT firmware everything was designed and built in-house taking the chance to use some of the components supplied in the kits.


We also took the chance to explore the potential of all the development kits received from Silicon Labs. The whole hydroponic system was built around the EZR32WG wireless kit, while the MPPT was built around the EFM32ZG starter kit. Also, the Sensor Puck was used during germination and during the growing stage.


We managed to build a sustainable system targeting a net-zero energy situation. We used solar energy as a renewable power source and we stored the surplus generated on a efficient lithium-ion battery power bank.


We were also able to build the whole database and web interface to log and monitor all the measurements taken from our system.


Meeting the Goals

We successfully developed from scratch an innovative system to grow food in an indoor vertical farm that is totally original and not published elsewhere.


The system includes the following requirements:

  • Environmental monitoring (light, temperature and humidity).
  • A watering and feeding system.
  • A greater growing surface than just the overall footprint of the build.
  • Energy monitoring to collect data on the overall consumption of power and water by the system.


But it also goes beyond the requirements with modules developed from scratch featuring:


We extensively used the components of the provided kit:

  • EZR32WG 868MHz Wireless Starter Kit was used to read the majority of sensors and control actuators.
  • Sensor Puck was used to monitor temperature, humidity, ambient light and UV index. We modified the Sensor Puck Android app from Silicon Labs in order to send the measured variables to our web application through a REST API.
  • EFM32ZG-STK3200EFM32ZG-STK3200 Zero Gecko Starter Kit was used to develop our solar energy system with MPPT.
  • The remaining components (including Würth Elektronik’s components) were used to develop several modules of our system, especially the MPPT board.


The following diagram depicts the system architecture. It’s noticeable the extensive use of Silicon Labs’ components.



Sharing with the Community

Our enthusiastic project have several hardware parts that were developed and tested. Such work brings always some unpredictable issues that delays the workflow. Due to the difficulty of the subtasks, we tried to organize all the blog posts to have at least one per week.


In all posts we tried to expose a problem or show the motivation to the developed task and then explain it with as many scientific topics as we could.


Above all, we believe we did a good work in this field too. We updated the blog with the required regularity, using high resolution images, posting the important diagrams related with our work and posting videos where they were relevant to clarify the message to convey.


We also released our source code through Git repositories hosted on Bitbucket, providing an accessible, convenient and practical way to view, download and follow code updates.



Considering we are growing 80 plants as shown on the previous post with different results considering the position, we choose some of our best crops to show some metrics.



We reached a leaf height of up to 26 cm and a radicular height up to 14 cm on plants with 8 to 10 leaves with a weight of up to 200 g.


We are not completely aware of the best harvesting time as we see them still growing with a fast rate. Most probably we will start the next model round within 10 days.


Follow Our Crops on Growsharp.tk

We invite everybody to follow our crops on growsharp.tk and login with user name guest and password verticalfarm. To see sensor measurements select Coimbra Vertical Farm, Sensor Readings, select the allotment (area 2 for instance):

select allotment.png


and then click “Live Stream” on the desired sensor to see the measurements in real time.


Choosing the ControlUnit1 icon we can observe the state of several sensors such as the pH and EC measurements:



It is also possible to get the latest picture stored on our database (pictures are taken every hour):



There is also a scheduler that allows to control solenoid valves, nutrient deployment or the lights manually (disabled for guest users). For each control command a value is stored on the database and pulled by the master of the desired farm:

control panel.png


There is also a control panel dedicated to the user interaction with the database. It is possible to query for any variable, insert and update elements. Guest users are only allowed to query the database. A collection of brief demos are available on the webpage. After each query the results are shown as follows:



On the main page for any vertical farm, a summary of the events detected and a list of stats related to each sensor is shown, giving the user a better understanding of any problems or warnings that should be taken into account.



As stated earlier, the webpage provides a live stream of each sensor but each stream can encompass a limited number of measurements. To better understand the behavior of a specific variable, in the “Plotter” tab, the user can select any two dates and plot the values of any sensor:

Select Specific Date.png



As always if you have any questions or comments please feel free to comment this post.


Finally, we would like to thank all those who followed us on this journey: thanks for following and keep connected!