Disclaimer: The author assumes no liability for any incidental, consequential or other liability from the use of this information. All risks and damages, incidental or otherwise, arising from the use or misuse of the information contained herein are entirely the responsibility of the user. Although careful precaution has been taken in the preparation of this material, we assume no responsibility for omissions or errors.

This will form Part 1 of a series to achieve an automated indoor grow space.

What I'll cover in this instructable:
1) A Relay that switches a light on and off on a timer.
2) The use of a Light Dependent Resistor.
3) 3 x DS18B20 temperature sensors daisy-chained.
4) 2 x Moisture sensors.
5) The arduino sketch.
6) C# program, Serial interface, MySQL API.

Project Mission: Create a solution that will automate indoor plant growth, be safe and remotely manageable. Maybe include some external weather information. All aimed at learning new tools.

Project End Goals (What I ultimately want to achieve):
1) Measure temperature and light in the grow space, my room and outside, mostly because the data should be interesting and defines the environment in and around the grow space. Values to be saved in a database (MySQL in this case) and be graphed through MS Excel through an odbc connection. The light and temperature will also be used as control to ensure the light mentioned in point 2 below, does actually switch on.
2) Switch a 220volt light system on and off on a configurable timetable.
3) Measure soil moisture. I'm going to measure the moisture content in two pots and may even look into setting up checks for possible water overflow or leaks, as a control measure.
4) Switch a 220volt water pump on for a period of time to water the plants, when moisture levels drop below a certain threshold.
5) Control the temperature with the use of a fan/extractor fan.
6) Video Cam to remotely monitor. Website for remote access and control.

Warning: When working with water and electricity, place all plugs, connectors, relays, etc, higher than your plants and lights. Run cable's down. Insolate properly. Use common sense. Watch your humidity and condensation.

Remove these adsRemove these ads by Signing Up
bobtornton1 year ago
You may do almost everything by using of mysql database recovery tool

The article describes all the features here
Is the main use for this to grow pot? or should i get my mind out of the gutter?
Not sure why you'd want to grow pot, it isn't very nutritious, and eating it gives you the munchies. Not to mention the projects that pile up while napping...
bigjeff54 years ago
Hey nice project. I'm just getting into micro-controllers (the Arduino platform specifically) myself and am contemplating something along these lines as a future project.

Just a couple of thoughts on your over-all design:

You seem to be taking a lot of readings for something that is relatively static - for example the plants should need only a small trickle of water over the course of a week, which means all you need to test for is a high/low condition and trigger a response for each (add water when low, alarm when high) when they are met. Similarly the grow light - you could use a simple timer on the Arduino itself connected to the light sensor to figure how much sunlight the plant has received, and how much more light it would need for the day. Ditto for the temperature sensor, and the timer would probably not even be necessary for that function.

Juggling all these is well within the Arduino's capabilities, and polling a few times a day for sensor data to plot trends would be no problem at all.

Conceptually it seems much simpler to me to do it this way instead of constantly collecting fresh data. I actually can't see it being much more complicated than the Arduino code you are already using, and you could put the whole thing on the Arduino instead of relying on a PC to house a relatively large database of information that changes very little. Except for catastrophe situations (something breaks and floods your setup, or something), nothing should need changing in the system more than twice a day (on/off for the lights), with watering a couple times a week, and temperature hopefully not at all.

If you were to add an Xbee wireless module to the Arduino, you could run the entire system on the Arduino and only use the PC to collect statistical data (how much sun it got, daily moisture value, any temp spikes, etc) and make configuration changes.
Lolander (author)  bigjeff54 years ago
Thanks for the feedback on my project and you're correct in most of your statements. W.r.t. taking a lot of readings: When I started the project, I wanted data to work with and I therefore took a lot of readings. I wanted to be able to find trends on plant growth depending on conditions (light, water, humidity, temp), etc. It has however worked against me. MS Excel has a cap on how many data points one can plot in a graph. As it is currently, I can plot max about 4 months worth of data. To plot a years worth or maybe two years worth of data, I'll have to severely limit the amount of data I collect. W.r.t. letting the arduino do most of the work and/or using a timer on the arduino for the grow light: Because I ultimately want to be able to remotely control the environment, a PC to change things is essential. Hard coding a timer in arduino will be tough as well, since it does not have a real-time clock and by its nature it does not multitask well (how will one handle multiple timers?). But, there are many ways to kill a cat and depending on your ultimate goal I'm sure it could be done with the arduino alone. Lastly, I must mention that I have made plenty of changes, both to the code and the electronics. Variable fan speed (PWM) and ac moisture sensors to name a few changes. I’ll be posting part II soon.
killprogram5 years ago
Yes I Love What You've Done I Was Actually Doing Some Research Into How Feasible It Would Be To Have Entirely Robotic Farms, And I Was Thinking Of Having Some Sort Of Mount For A Robotic Arm, And A Hydroponics System, How Much Do You Think This Would All Cost?
Lolander (author)  killprogram5 years ago
I'm not entierly why you would need a robotic arm for, but I'd love hear more details.
To automate the harvesting.........
Lolander (author)  deadfish20005 years ago
Very interesting, thanks for the link.
Looks great! Now even I can be a chef with fresh herbs in the kitchen. It would be interesting to plant some control specimens in your window sill. Please let me know how the project develops.
Lolander (author)  tigerfish3655 years ago

When this project is complete, I may just take your advice! It makes sense having a control as you've mentioned.

lordhazzard5 years ago
ooooh i see your growing some curry plant.
Lolander (author)  lordhazzard5 years ago
Yhea, I'm still not 100% sure what to actually plant once I've got everything working the way I want it to. Considering the size of my garden, at this stage, Chilli plants seem the most likely candidate.
mastoras5 years ago
That was Groovy man!
Keep up the good work!