Projects - SmartWorks Software

Garduino - IoT Smart Hydroponics System

Designing a proof-of-concept for an automated hydroponics monitor

Hydroponics tracker app

The Problem

We were tasked with performing the research and development for a new proof-of-concept product. Although several home hydroponics systems exist, there was a gap in the market for a system that can be controlled remotely. This would allow the user to monitor and adjust the growing conditions of their plants from anywhere in the world.

Based on this market research, the brief for the project was that the device should:

  • Continuously monitor the temperature and humidity of the environment, as well as the pH and nutrient content of the water. This data should be viewable in-app from anywhere in the world.
  • The user should be able to create a series of rules that would automatically adjust the growing environment based on the data collected.
  • The system should be able to alert the user if the growing conditions fall outside of the desired range.

We were tasked with designing and developing a proof-of-concept for the system, which would be used to secure funding for the full development of the product.

Hardware Design

Our first task was to identify and design the hardware which would be use to collect the sensor data and enact the rule based adjustments. A key requirement for the project was that we should use low-cost, commodity hardware wherever possible. This would keep the cost of the final product low.

Using this design principle, we were able to identify a number of off-the-shelf components that could be used to build the system. We selected an Arduino Uno as the main microcontroller and a series of off-the-shelf sensors to collect the data. We also identified a number of standard components that could be used to adjust the growing environment, such as a relay module to control the lights and a water pump to adjust the nutrient levels and pH.

From here, we used 3D modelling software to create a mockup of the final product. This allowed us to identify any potential issues with the design before we started building the prototype.

Hydroponics 3D model

The Garduino App

Our next task was to design and develop the app that would be used to control the system. The app needed to be able to display the sensor data in real-time, and allow the user to create a series of rules that would adjust the growing environment based on the data collected.

Technology choice was important here. On the one hand, native iOS and Android apps would provide the best performance and user experience. However, maintaining a native app for both platforms requires no less than four separate codebases:

  • An Android codebase - Kotlin or similar
  • An iOS codebase - Swift or Objective-C
  • A backend codebase - Node.js, Python, Ruby, etc.
  • A web frontend codebase - React, Angular, Vue, etc.

This would mean that developing new features or fixing bugs would require changes to all four codebases, each of which would require time and a differing skillset among developers.

To cut down on development time and allow the team to move quickly, we opted for a web based interface built in Svelte, served by a Golang API. Golang was chosen in this case because it has excellent native support for concurrency using goroutines. This would be paramount ad our IoT devices would be communicating over websocket, requiring multiple similtaneous, long-running connections.

Hydroponics 3D model


We delivered an initial prototype of the Garduino system to the client within the agreed timeframe. The prototype met and exceeded the original specification and could be built in low volumes for less than £100.


We concluded this project with a successful proof-of-concept for the Garduino system. Our prototype was able to monitor the growing conditions of the plants, and adjust the growing environment as required.

Our client is now using this proof-of-concept to secure funding for the full development of the product. We are excited to see where this project goes in the future.

Contact us today to see how we can help automate your business processes.
Smartworks logo

© SmartWorks Software LTD 2024

+44 (0) 7896 749 819

Need help automating your business processes?

Contact us