Skip to content
Hydroponic control and monitoring for a single pump NFT system.
JavaScript Shell HTML Other CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Arduino/MainControl Fixed: Added missing PumpControl sketch tab. Apr 19, 2015
FrontendServer Added lead styling and iOs notice. Aug 2, 2015
RaspberryPi Added extra check for module file, before loading it. Jul 19, 2015
.gitignore more ignore Apr 29, 2015
LICENSE Initial commit Apr 17, 2015 Update Jan 15, 2018

Hydrouino Dream Garden

Hydroponic control and monitoring for single pump NFT system.

Structure of this code repository

This is the main repository for my hydroponic balcony garden. As can be seen in the figure below, it is divided into three distinct parts, each representing an area of functionality. The structure of the respository directly reflects these areas of concern and the folder naming hints at what code goes on what device.

Three target devices

There are three target devices involved in the full deployment and there is a folder for each. In the device folders, there are sub-projects/folders for different parts of functionality.


The code is a regular sketch for the Arduino IDE. Bitlash is used to enable on-the-fly updates of configuration parameter.

Raspberry Pi:

A Raspberry Pi is used to collect data and forward sensor data, control the pump and it also controls a webcam that is used to take pictures at regular intervals. The main codebase is written in Node.js, but there are also some shell-scripts, as well as the Bitlash-config. The bitlash scripts are currently stored on the Raspberry Pi and therefore not part of the Arduino folder, although you could argue that they belong in there.

Virtual Private Server ("cloud server")

A Virtual Private Server (VPS) is used to store the collected data (over a million data points already!). It also provides the Dashboard UI and exposes a REST-like API to read sensor data. The VPS also takes care of monitoring and sending alarms over SMS through the Clickatell SMS Gateway if some critical condition is met, like the water level being very low.

The setup/BOM

  • 2*120cm PVC pipe + bends and fittings
  • 60L capcaity tank with about 25L nutrient water.
  • 4*2 plants for 7 chilis, 1 tomato (all chilis seeded in Rockwool)
  • Method: Nutrient Film Technique
  • Pump schedule: Currently five runs per hour, 40 seconds per run (the pump is a bit too powerful for the job. Shoudl ideally run continously)

Medium And Nutrients

  • Medium: Rockwool (tomato plant in Coco)
  • Nutrients: Cellmax Hydro Grow Two component solution mixed X+Y equal parts, 2ml/l (50% of recommended strength).

Homepage and Dashboard

The Rig

The rig

Later in the season

Sensors and controls


System overview

system overview

You can’t perform that action at this time.