In this post I’m going to go over the system design of the Lettuce Grow Station. I will be using Arduino + sensors + wireless + iPhone app to measure and automate the growth stage of my lettuce. I better get going since the seeds should be done with germination in a few weeks.
The goals of this post include:
- defining the technology of the lettuce grow station
- moving my knowledge forward in the two areas – hardware/software and hydroponics – where my passion is focus.
- connecting with others who share my passion from which I can learn or I can share what I have learned
The Non Goals
- aesthetically pleasing grow station. At some point I will address a grow station that fits into my house and is pleasing to look at. This time around I am going for functional. I will need to make several iterations!
- easy to move around. Some of the components – the nutrient bucket and LEDs – will be too heavy to move around. At some point I’d like an AeroGrow size for growing herbs on my kitchen countertop. In fact, I have that today! The challenge is its ability to grow a salad a day.
- minimizing cost over robust, quick response, and important features.
Thanks to Those that Go Before
I like to take a moment and reflect on the great works of folks that I have benefited from their knowledge. Community learning is an incredibly positive experience. THANK YOU!!! For this post, I’d like to thank:
- the Hydro subreddit. Thank you to all the knowledgable folks who kindly share their experience and what they have learned.
- Chris Gammel – our very knowledgable and gifted instructor of Contextual Electronics. A course I would highly recommend if you are interested in turning your prototypes into PCBs and learning tons about electronics along the way. There is no way I would be able to get this far without Chris’s class and his recommendations/insights.
- Adafruit, SparkFun, and OshPark for making it so easy for us DIY’rs. The amount of learning material these companies provide is staggering. They are all so approachable. Very prompt and helpful in replies.
The Lettuce Growth Station
Ah yes, begin with the end in mind. In my last post, I started my germination station. Now I am excited to tackle getting to this:
Did you see the rainbow and bright lights? Me neither. But I do see a magnificent head of butter crunch lettuce grown through hydroponics methods. This is what my grow station needs to be able to do. I am not sure what I am doing (advice craved!). There will be many iterations. But the reward for building a grow station that can grow lettuce like this is quite tasty.
I am lazy. Thus the #1 feature is saving me time. From my previous attempts at hydroponics, I found the following:
- maintaining the right pH for a plant is extremely critical. If not, the plant will not be able to take in food. Since I like to anthropomorphize my protagonist – in this case a head of lettuce – I imagine the lettuce is like me. Extremely grumpy when not fed correctly. Only it gets worse. The poor plant is reliant on me to feed it with the right nutrients.
- maintaining the right nutrient level is tricky. While I’ll be taking conductivity readings and adjusting the nutrients accordingly, the conductivity readings cannot tell me which nutrients are deficit. What if the poor lettuce is lacking nitrogen yet I decide to blast it with potassium? What kind of a grower AM I? Someone should probably call the plant police on me!
- The amount of light is very important. My lettuce plants will need appropriate levels of LUX and PAR lighting. I like LED lighting. High powered LEDs let out a lot of light and are more efficient than others. I’m ok with paying more – although I am also interested in the difference between DIY LED fixtures and buying an equivalent.
- The care and maintenance of the water part of the lettuce grow station requires the most amount of time. I’ll focus on minimizing this.
- I will be adding more stations. After all, what is a salad without tomatoes?
- I want to view and control my grow station from my iPhone. My new friends can talk to me at anytime from anywhere.
- I want the system to be responsive. When I ask for a reading from my iPhone I don’t want to wait very long to get a response from the Base Station.
The Building Blocks
I’ve divided the system components of the Lettuce Grow Station into three functions:
- Grow – these blocks include the lighting and the hydroponics system. The hydroponics system includes the parts where the plants grow and a reservoir that holds the water mixed with nutrients that the plants will feed from.
- Control – the control blocks receive readings for conductivity, pH, and water temperature and send this information to my iPhone.
- Interact – I view and act on the readings from an iPhone app that I will write.
In this section I’ll give a high level explanation of the details of components in the Grow boxes.
The requirements of the LED fixture includes:
- Enough light for the plants to go through a healthy grow and flower growth cycle
- Ability to automate time on and time off
- optimized for energy savings (ongoing effort)
I am not quite sure what the “best” LED fixture is for my needs so I’ve been exploring several potentials. I measured the lumens using a LX1010B Light Meter. I measured the PAR value using the DIY PAR meter I purchased awhile back.
I took the LUX measurement at 5″ below the center of each light. Lumens will be greater for full spectrum lights. Lights like the UFO – that have light in the blue and red wavelengths – will have less lumens but should have a higher PAR since the energy from the blue and red wavelengths are absorbed the most by plant leaves. For this reason, many see PAR readings a better representative of a light’s usefulness for plant growth. However, I do not have a PAR meter I am comfortable is accurate yet and I do not have a spectral distribution of these lights.
PAR values are measured in µmolphotonsm-2s-1. I am still learning about PAR values and how much is enough for each type of plant. Also, I am not sure the DIY PAR meter has accurate results. Actually, I assume inaccuracy so I am using the DIY PAR meter readings to get a general idea and to also spark me into taking better light measurements.
Back to the amount of LUX…
superAngryGuy had a great posting in the hydro subreddit on the amount of LUX a plant should get:
15,000 – 20,000
the lower end of what we want for veg growth
35,000 – 40,000
what we want to try to hit for flowering
75,000 or so
it’s pointless to go beyond this level of light intensity, saturation level
It looks like our seed starters have enough light. The AeroGrow keep pumping along growing a small amount of mint and basil. The UFO’s should be fine for lettuce. The high LUX measurement of the DIY LEDGroupBuy fixture makes it a better choice for my next project – A Salad A Day -> Tomatoes. Of course, the light can be adjusted to fit within a reasonable range as needed.
I bought a UFO 135W from eBay for $102.50. I was curious how the PAR compared to the 90W UFO I had previously bought from eBay for $62.96. It turns out the light values are very close. The 90W was a good deal. It looks like prices have gone up since I purchased.
The DIY LEDGroupBuy Fixture is something I put together using the circuit I discussed in an earlier post. I did not include an Arduino. I just plug it in with a timer and off it runs. I bought two Lumia 5.1, 1 48W power supply, and 10 LDD-700Hs from LEDGroupBuy This cost me roughly $358 – which I’ll roughly associate with 2 UFOs – means each light cost $358/2 = $179. Higher than what I will pay moving forward. I might try buying just CREE LED arrays instead of the customized Lumia 5.1’s. The price will be much lower.
For now I will use the meters that I have, adding an apogee to calibrate the PAR levels.
I recently built a system that I’m going to try out:
The components that make up the hydro system include:
- 2 4″ x 4″ x 48″ vinyl fence post. I got these at Home Depot but can’t find them online.
- 4 4″ x 4″ end caps
- 2″ net pots. A net pot will be used to hold each plant. Once the plants I am germinating grow roots, I will put the rock wool into a net pot and then place the net pot in one of the holes.
- 1/4″ PVC tubing to get the nutrient enriched water from the main tube to the top of the net pot.
- 1/2 inch outer diameter, 5/8″ inner diameter tubbing from SunlightSupply to go from the nutrient bucket and act as the main feeder to the per net pot tubing. The nutrients initially are pumped into this tubing and go to the end of the post. Along the way the nutrients is distributed to each net pot through the smaller diameter tubing. The tubing is very flexible to accommodate bends that I’ve got to make to get the tube to the top of the post.
- bucket to hold water enriched nutrients.
- water pump to pump the water from the bucket up through the feeder tube.
- Same nutrients I talked about in my previous post on the germination station.
The job of the water node is to :
- send the readings for the water temperature, pH. and conductivity upon the request of the Base Station.
- Respond to pH UP and DOWN adjustment commands sent from the Base Station.
- Respond to nutrient adjustments when sent from the Base Station.
- Parts such as the ATMega328P to run the Arduino Sketch.
- a wireless chip capable of communicating with the Base Station that is within eye sight at a maximum of 100′ away.
- the pH sensor circuit + connection for the probe
- the conductivity circuit + connection for the conductivity sensor’s probe
- a water temperature sensor
- a pump and tubing for pumping pH UP when the Base Station tells the water node the pH level is too low
- a pump and tubing for pumping pH DOWN when the Base Station tells the water node the pH level is too high
- a pump and tubing for pumping more nutrients into the nutrient reservoir when the Base Station tells it to add a specific amount of nutrients.
The job of the Base Station is to:
- Request and receive sensor readings from water nodes.
- Send commands to a water node to adjust the pH and/or nutrients (as needed).
- Respond to requests from the mobile client.
Water Node to Base Station
- BTLE has more momentum than other RF solutions I have been exploring. There are already consumer devices that use BTLE. I can’t say the same for RFM69HW. This means a bigger developer community which means more robust chips and firmware.
- Interoperability with other devices that use BTLE will be easier since the lower levels of communications are the same. I would focus on the application level communications.
- There are multiple supplier of BTLE chips.
- Because of a larger market and aging of BTLE, chip prices will go down.
- BTLE has a robust set of features such as RSSI, making it an easier and more robust in-home wireless protocol yet is not as heavy weight as 802.11.
- Lady Ada – whom I respect for her ability to select chips and trends – has jumped in with her Bluefruit offering. If it is good enough for Lady Ada….
- I have written iOS apps that use BTLE between the iPhone and an Arduino. The APIs keep improving. BTLE is integrated very nicely into the iOS app ecosystem.
- My requirement of 100′ between a node and a Base Station can be met with BTLE. According to the wikipedia article on BTLE, the maximum distance is 160′. I don’t assume my testing will achieve this range. However 160′ is 60% greater distance than what I have specified- which should be plenty of room to meet the average communications.
- The power requirements for BTLE seem “reasonable.” I have not tested, however I am encouraged by results documented in papers such as this one from Microsoft Research and UW:
BLE achieved lower power consumption (10.1 uA, 3.3 V supply at 120 s interval), compared with ZigBee (15.7 uA), and ANT (28.2 uA).
Base Station to iPhone
There are two iPhone to Base Station interactions. The first occurs when my iPhone is – you guess it! – 100′ or less from the Base Station. I’ll use BTLE for that. The second occurs when I have my iPhone at another location. For this I need Internet connectivity. I will use the ever so popular 802.11 Internet wireless protocol to enable this feature. I like the BTLE for local because there will be a better response time going directly to the iPhone instead of going through the internet. I like the 802.11 because it allows the Base Station to be positioned near the nodes while at the same time giving me “anytime/anywhere” access to the nodes.
I will write an app for my iPhone that receives sensor data from the Base Station and sends commands to the Base Station. I have written many iOS apps in the past so I am confident on how I go about this. I have yet to design the interface. This is something I will wireframe soon. I have always found in distributed system designs such as this (well actually more complicated) that putting off what I see on the phone’s display, what buttons I can push, robustness, and response speed makes for a much less desirable system.
I will keep iterating on the design. Please let me know what can be better – or share your thoughts. I am learning as I am going and crave advice.
I just got my new soldering station. A YIPPEE! moment. I’ll be practicing my SMT soldering techniques on some practice boards.
I will start putting together a prototype of this system in time for the plants currently enjoying their spa time in my Germination Station.
I’m thinking about starting an Open Source PAR Meter project based on the effort and conversation on this forum thread.
Comments Since the Original Post
Hey MK, had some comments while I was reading.
I better get going since the seeds should be done with germination in a few weeks.
Lettuce germination should be done in 2-3 days and maybe after 7-10 days it would be ready for transplant into a system, not a few weeks!
maintaining the right nutrient level is tricky. While I’ll be taking conductivity readings and adjusting the nutrients accordingly, the conductivity readings cannot tell me which nutrients are deficit. What if the poor lettuce is lacking nitrogen yet I decide to blast it with potassium?
Adjusting the EC of the solution and keeping it constant (I believe I grew my lettuce at 0.5-0.6 EC) is all you need to do. To tell what nutrients are in deficit you need some very expensive and complicated ion-sensitive sensing equipment, which, given that you write that you are lazy, are likely beyond the scope of your project. It’s also worth mentioning that they are completely unnecessary. That sort of thing would be appropriate for a massive-scale commercial grower who was optimizing the economics of his operation by making sure the plants had exactly the nutrients they needed. For a simple home grow of lettuce, using a vegetative-style nutrient where the N>P and K is decently high (I think I used 3-2-5), you’ll be fine.
High powered LEDs let out a lot of light and are more efficient than others. I’m ok with paying more – although I am also interested in the difference between DIY LED fixtures and buying an equivalent.
Again, if you are lazy, building a DIY LED is going to be beyond your scope. 🙂 I did it, but it took a huge amount of effort in finding the right parts and doing the construction. On the other hand, the purchase price for LED lighting is really, really high if you don’t make it yourself. (But still pretty high if you make it yourself. I made a light that outputs around 10,000 lumens and it cost me around $300.)
The requirements of the LED fixture includes:
Enough light for the plants to go through a healthy grow and flower growth cycle Ability to automate time on and time off
You’re growing lettuce which you don’t want to go through a flowering cycle. And automating time on/off is a simple $10 light timer from Home Depot/etc.
As for the construction of the system, looks like you’ve got the right parts. For the electronic control, I’m really interested in it. I’d love to eventually set something up with a similar pH/EC sensor with automated control of pH. Very cool stuff.
THANK YOU for reading this far. Please find many things to smile about.