Introduction: Starting With Hydroponics (TfCD)

About: MSc student Industrial Design at Delft University of Technology (IPD).

Hydroponics is a subset of hydroculture, the method of growing plants without soil, using mineral nutrient solutions in a water solvent. Terrestrial plants may be grown with only their roots exposed to the mineral solution, or the roots may be supported by an inert medium, such as perlite or gravel. The nutrients in hydroponics can be from fish waste, duck manure, or normal nutrients. [source]

Step 1: What We Will Be Doing

By using Arduino technology, a basic hydroponics system can be automatically regulated to pump water to plants. Every 45 minutes, the pump will gather water for the plants for 1 minute, thus ensuring a steady and regular watering of the plants.

Step 2: Gather the Materials

Here are the components to build the aquaponics system:

  • 2 small containers (we've used IKEAs Samla)
  • 8 flowerpots
  • 2 supportive boards (we've made them out of MDF, but you can use a rack instead)
  • Small pump (like the Renkforce Home fountain pump we used)
  • Tubing for the pump system (inner diameter: 8 mm)

Now you have to adjust the boards, and put all the components together:

  1. Cut the boards to fit into the containers, as seen on picture. One will hold the flowerpots, the other will hold the upper container.
  2. Cut holes in the upper board to fit the flowerpots.
  3. Paint the boards with several layers of wood glue or something similar to help withstand water
  4. Put water, one of the boards and the pump in the lower container.
  5. Put the other container on top of this one.
  6. The upper container should be filled with some kind of medium (for instance gravel).
  7. Lastly, put the board with holes on top, and put the flowerpots in the holes.

Step 3: 3D Printing of Box

In order to keep the Arduino and wiring secure, make a 3D print of a box to contain the Arduino. For the measurements of the box, refer to the drawing, and remember to include ventilation holes to avoid overheating the Arduino.

If you happen to make use of an Ultimaker 2+, you can find the GCode file below. Also, a more generic STL file is provided.

Step 4: Electrical Circuit

Gather the following parts for the electrical circuit. In parentheses we mention the specific parts that we've used, but you are free to use other models as well.

  • Arduino (we've used a Uno Rev3)
  • Relay (use one able to power your pump, like the one from TinkerKit)
  • Battery pack or USB power outlet
  • USB A to B
  • Wiring (to connect the relay to the Arduino; we've chosen for the ease of the Sensor Shield)

And perform these steps:

  1. Connect the relay to the Arduino. On the Sensor Shield, we've used Output 0 (pin 11 and GND (electrical ground)) and on the relay NO (Normal Out) and COM.
  2. Connect the pump to the relay as well and plug it into a power socket.

Step 5: Arduino Coding

Make sure you have software on your computer to upload coding to your Arduino. We've used Arduino's own software, but you are free to use the software you prefer. To set the software to upload to your Arduino correctly, make sure both the board and the output port are set correctly (Tools > Board and Tools > Port).

The coding for the Arduino uses the delay()-function to close the relay for a minute every 45 minutes. You can use the provided code, or do it yourself, but make sure to update our code if you use other ports to connect the relay.

int pint = 11;

void setup() {
  pinMode(pin, OUTPUT);
void loop() {
  digitalWrite(pin, HIGH);
  digitalWrite(pin, LOW);

Step 6: Make the Final Assembly

Step 7: Improve the System

Now you have a basic working hydroponics system. Start here with improving it!

  • Include LEDs (red -650 nm- for energy for the plants, and blue -465 nm- for direction) to be less dependent of sunlight. Using an NTC, the amount of captured (sun)light can be determined.
  • Improve the nutrient value of the water to increase growth.
  • Use a better software timer for more reliability.

Good luck!