GardenBot - How To, soil moisture, water valve, light sensor
How To Build a GardenBot

If the GardenBot project seems overwhelming, this "How To" section should put your mind at ease. The entire project is broken out into seperate parts, and each tutorial will walk you through a particular part of building your own garden automation system. You don't need to do the tutorials in order, but you will need to complete most of them to get the system up and running correctly.

Building with modules

The core of GardenBot is that it is assembled in modules. The entire how-to section is organized by modules.

And a key concept is that most of the modules have what is called a local circuit. This means that for any particular module, you will usually be building an object (like the moisture sensor) and then running some wires back to the brain module where you will also be assembling the local circuit for that module.

Some of the modules (like the soil moisture sensor) are bound to be physically far away from the brain. This means that we will be running a wire from the brain module inside your house to the garden station outside. Please read the note on "running wires to remote modules" below.

Also if you want to add additional modules, you should read the section below on "expanding your GardenBot".




The Map

This is the map of the entire GardenBot system. You can click on any module to read about how to build it.



The Menu

The Brain
Garden Station
Soil Moisture Sensor
Soil Temperature Sensor
Light Level
Power Module
Water Valve
Control Panel
Computer Module

soil temperaturesoil moisturegarden stationlight sensorcontrol panelwater valvepower modulebrain modulecomputer module


Running wires to remote modules

To connect the various remote modules (like the control panel or the garden station) to the brain, you will need to run wires -- some very long wires.

Probably the cheapest option is to purchase a roll of 6-strand phone wire (see the parts page). A 100 ft roll should give you enough length to get from the brain module inside your house to the garden station out in your garden, and from the brain module out to the control panel. These wired connections are reliable and cheap. And with a few junction boxes (see parts page), it's easy to connect the remote modules with the brain's local circuit.

These long-distance connections would be a perfect place for wireless connections. GardenBot does not currently support that. Please read the note on "more advanced options" on the about page.



Expanding your GardenBot

GardenBot is designed to be extensible. This means that if you want to expand your system to include more sensors or additional water valves, you can simply add on more modules (while making the appropriate changes to the code).

Let's say you want to add another soil moisture sensor so you can compare the two. Well, the simple version is that you simply build another moisture sensor and also duplicate the local circuit in the brain module.

But there are a few other steps to actually implement it. The data that you see on the charts percolates up from the Arduino board. And it is really just a comma separated list of the different sensor readings. When you add your new sensor, you will also need to add a new item to this data stream. And so, there are three different places you will need to update how this gets handled.

First there is the brain module (the Arduino board). This is where the data originates. So here you will need to add the new sensor to the data set so that the new sensor appears at the end of the comma separated list.

Next, the data is handed off to the local-connection sub-module (computer module). This sub-module reads in the data, and then sends it to the visualization module as well as writing it out to a CSV file. So, you will need to make sure that the script both looks for and outputs the data for your new sensor. Note that this module also inserts a time-stamp as the first data row and then puts the data it got from the brain afterward.

Last, the data is delivered to the visualization sub-module (computer module). Here the data is converted and used to build the charts. This means that you will need to add your new sensor to this script so that it shows up in the chart.

So when you add or remove sensors, remember to change the way the data is handled in all three places so that the data stream is consistent.

about how-to parts contact GardenBot home