An Arduino is an open-source micro-controller development board designed for educational purposes. In simple terms, it is a computer “brain” which can interact with the outside world based on the program that you write. There are a few types of Arduino boards. Below the Arduino Uno is pictured. See for more types.

  • The Arduino can “read” sensors such as switches, buttons, noise intensity, light intensity, temperature, pressure and many more. These types of “readings” are called INPUTS.
  • The Arduino can also exert forces on the real world using LEDs, motors, buzzers, servos and many others. These types of interactions from the Arduino are called “OUTPUTS”.
Ok, that’s all great, but what can I DO with an Arduino?

That is a fair question. Here is a very practical example:

Let’s suppose you have a tomato plant that you are growing in a pot inside the house. Tomato plants require quite a bit of water.Let’s also suppose that you are forgetful and do not water it enough, leading to the plant looking sad and not producing any tomatoes. Maybe you’re not forgetful but you go on business trips a lot. Obviously the situation is less than ideal for both you and the tomato plant.

What if you could build a small “robot” that would water the plant for you? Would you do it?What if that robot could sense the moisture in the soil and only water it when necessary? It would be its only task. It would never do anything else. All you would have to do is fill up the water reservoir every so often, just like to coffee machine. It could even be hooked directly to a water line, like your water dispenser on the refrigerator.

To build such a system you would need the following parts:

  • 1x Wall adapter for Arduino Power.
  • 1x Arduino Uno (brain).
  • 1x Moisture Sensor.
  • 1x Transistor for pump.
  • 1x Submersible water pump.
  • 2ft Clear silicone tubing.
  • 1x Box to put everything in.

Once build, the Arduino “brain” would have to be told what to do, how to do it and how often to do it. In very simple terms, the outline of the program would be as follows:

  1. Read soil moisture level.
  2. If moisture level above 70% go to Step#4. Otherwise go to Step#3.
  3. Activate pump and run pump for 25 seconds. Go to Step#4 when done.
  4. Wait 10 minutes. Go to Step #5.
  5. Go to Step#1.

Hypothetically, if I was to relegate this responsibility to a small child I would do it this way:

  • Insert finger into soil.
  • It finger comes out wet, wait 10 minutes and check again.
  • If finger comes out dry, pour a bit of water in, wait for it to absorb for 10 minutes and check again.
  • Continue doing this until instructed otherwise.

As you can see, the resemblance is uncanny.