The Little Green Tower

A mist-based tower system for growing leafy green vegetables

Similar projects worth following
The Little Green Tower is a compact "vertical farm" that uses a fine mist to deliver water, nutrients, and oxygen directly to the plant roots. Each 3D printed pod holds up to 4 plants and pods can stack 4 high. The system uses only 10L of water and fits in a 30" x 30" footprint. The tower rotates on a lazy Susan to access everything from a single side.

A Raspberry Pi and custom controller measure the nutrient solution pH, conductivity, and temperature so they can be maintained at optimal levels. A web interface controls and monitors the system. It can even send a text when the water is low!

If you like time lapse video of growing plants, check out the first few videos in the FILES section. The project logs have pictures of the current crop.

"But it's not green!" you say. My wife claims I spend so much time on the system that the plants are like my "little green children", so of course they live in a Little Green Tower

For lack of a better place, the Instructions project section gives a detailed description of the system.  Last update September 25, 2018.

If you would like more information on the custom Raspberry PI board that controls the system, there is another project that covers it here.

This links to an interactive plot of actual EC/pH/Temperature data which is on display at  Hover near the top of the plot for the controls.  Click and drag on the plot to zoom a region.  Drag the center of the tic labels to move the data.  Drag on the ends of the tic labels to change the displayed range.  This is the exact same type of plot that is on the web page served by the Raspberry PI controller.


9 Days of growth with leaves picked around 0:55. See how fast they grow back.

MPEG-4 Video - 20.09 MB - 12/17/2019 at 02:00



Time lapse of two days of growth. The video jumps in the middle because it skips the 6 hours when the lights are off.

MPEG-4 Video - 4.26 MB - 03/16/2019 at 20:09



This shows the newest crop for one day's growth. The pictures are taken with a webcam using a new light-synchronous trigger that eliminates the annoying flashing of the previous time lapse videos. The real-time water temperature, conductivity, and pH are superimposed on each frame. The control software takes a picture every 10 minutes.

MPEG-4 Video - 2.01 MB - 03/10/2019 at 15:22



This is a time lapse of some plants after they were moved down from the starter area. The front plant is initially about 2 weeks old and the side plants are about one week old. The following week is compressed into 1:30. A couple of leaves disappear in the middle of the video because I was doing some taste testing :-) .

MPEG-4 Video - 25.20 MB - 11/16/2018 at 06:34


first version time lapse no audio.mp4

This is a time lapse of the plant starter area of the first version of the tower. The lettuce leaves growing from below occasionally dissapear because they are being picked.

MPEG-4 Video - 4.86 MB - 08/01/2018 at 18:14


View all 8 files

View all 7 components

  • Breaking Old Ground

    Chris Johnson02/18/2019 at 03:45 0 comments

    I finally figured out the cause of the noisy pH measurements.  The nutrient solution was being affected by an intermittent very high resistance connection to ground.  Breaking the connection to ground fixed the problem.

    The picture below shows the original noisy pH measurements on the left, pH measurements mostly saturated at the ~pH 2 circuit minimum in the middle after changing to a new pH probe, and the now valid non-noisy pH measurements on the right.  In the middle, the actual pH was above 7, but it saturated to around pH 2 due to the unintentional ground connection.

    So how did a high resistance connection to ground cause these faulty readings?  To understand this, you need to understand that a pH probe is basically a battery in series with a VERY large resistance.  The voltage on the battery changes with the pH.  The probe voltage drives an amplifier input that draws so little current that the large probe resistance doesn't affect the voltage measurement that much.  The pH probe is in electrical contact with the solution, so if you ground the solution, the pH probe reading gets shifted.

    So, where was the connection to ground coming from?  From the screws that hold the power supply to the support pipe indicated in the photo below.  The screws at the top and bottom of the supply go all the way through the pipe wall.  The connection was from the grounded case on the power supply, through the screws, down the wall on the interior of the pipe, through the nutrient solution, and finally to the pH probe.

    The tricky part is that the connection inside the pipe depends on the conductivity between the screws and the surface of the water.  This depends on how wet the inside wall of the pipe is.  The pipe wetness depends on how it gets splashed from water coming from above.  Because splashing is pretty random, the conductivity is pretty random.  The measurement system is designed with pH 7 at 2.5V and ground is 0V, so connecting the nutrient solution to ground makes the measured pH artificially lower than it really is.

    In order to fix the problem, I isolated the screws holding on the power supply using nylon nuts and heat shrink tubing as shown below.  After this modification, the pH noise is gone.  The changes on the right hand side of the graph are caused by actually adding pH down solution, not by intermittent ground connections.  The takeaway is, when making very high resistance measurements, always make sure that there are no stray lower resistance connections.

  • The Shape of Things to Come

    Chris Johnson01/31/2019 at 21:33 2 comments

    This is the new cost reduced version of the system.  It has lower cost sprayers that actually have a better spray pattern, a lower cost valve, and a different flow setup.  If anyone wants to hear more about it, leave a comment and I'll fill in the details.

  • A Whole Lotta Time (since the last update)

    Chris Johnson01/03/2019 at 20:07 2 comments

    We've had many tasty salads over the holidays!  Below are the remains of the last two plants from the current test crop, which I pulled about 10 weeks after sowing.   The leaves from the last picking are in the second photo.

    The plant photo shows how the roots took on the shape of the bottom of the pod, as they spiraled around the surface.  Any roots that grew through vertical tubes between pods were occasionally pruned.  The roots got a bit damaged when the other two plants in the pods were removed early, due to their bolting.  The lesson is to make sure to match the lifecycle of the plants in one pod.

    I'm still getting some leaf tip burn and have not determined why.  Truthfully, I have been working more on system design than nutrient optimization, so I'm fairly sure that it can be corrected.

    As shown below, I'm working on building a second test cell for A/B testing of nutrient levels.  The second system will of course be "New and Improved!".  The biggest update is a simpler control valve design that costs less to make and should also be more reliable.  I've also made some small modifications to be control board design and will be having new PCBs made soon.  I will be documenting the new system in project logs as I build it.

    Finally, if you've made it this far, please consider posting a question or comment.  Interacting with potential future users will help me tailor the final design.

  • A Whole Lotta Leaves

    Chris Johnson12/05/2018 at 05:28 0 comments

    Just a quick look at the current state of the lettuce.  The six week plant (facing forward) is doing really well.  This is after picking the rear leaves three times.  On the five week plant on the right, you can see the post-picking bare stalk.  This plant isn't doing quite as well.  I have been trying to keep the calcium in the nutrients boosted, but the there is still a little of tip burn on the leaves.  Optimal fertilizer levels are still a work in progress.  While the front and left are buttercrunch, the green leaf lettuce on the left and back of the system do not have significant tip burn.

    This particular buttercrunch lettuce seems to like to grow vertically, even though it starts out horizontally.  The stalks take a 90 degree turn just outside the pod.  Other types have grown more towards the light than just up.

  • A Whole Lotta Roots

    Chris Johnson12/04/2018 at 05:02 0 comments

    Just a quick picture to show off the tremendous root growth.  The plants are about 5 weeks old except the one on the bottom of the frame which is six weeks old.  Click on the picture and zoom in to get a good view of how dense the roots are.

    You can see that there is some algae on the sides near the top, but it's a lot better than the previous system.

    So far I have not changed the water from the original fill.  I've been adding Calcium/Magnesium and a bit of regular fertilizer, and adjusting the pH by hand after monitoring the plots.  Below is a screenshot of the plot from the last 8 days.  The EC takes a dive when the water level gets below the level of the sensor, so you can tell that you need to add water.  The temperature goes down when you add water.  You can also see the EC/pH spikes where the fertilizer and pH were adjusted.  The pH tends to rise as the plants exchange H+/OH- ions to take up the nutrients.

  • A View from the Top

    Chris Johnson11/28/2018 at 15:58 0 comments

    The new crop has been growing for about 4 weeks now.  The photo below shows a view looking down on the system with the plant starter top plate removed.  You can see the extensive root systems the plants have developed.

    I also thought this photo which shows a birds eye view of the system was pretty cool.  The white spots on the center of the foam blocks are from the water in the nutrient solution evaporating at the end of the wick, leaving behind the dissolved solids.

    Below I highlighted the tube that connects between levels.  This tube can slide down to expose the roots so that they can be pruned and pushed back up into the pod above.  Without pruning, the plants expend a lot of energy growing VERY long roots that tangle things up between pods.

    The final photo below shows some delicious Buttercrunch  leaves freshly picked from the system.  While they are great right off the plant, I've found that they crisp up even better when rinsed and stored in a closed contained in the refrigerator.  Since they are picked fresh, they last a really long time in the fridge.

  • Away We Grow?

    Chris Johnson10/16/2018 at 17:33 5 comments

    After several days of software and mechanical tweaking, today I started a new crop of lettuce.  I planted 3 seeds of each of 4 different kinds of lettuce in the carbonized bamboo fiber wick at the center of each "SOWqWICK" sponge block.  The seeds should sprout in about 3 days.  Assuming they actually sprout, I'll let the seedlings grow about a week and cull the smaller ones, leaving one plant per block.  When the roots poke through to the back, the plants are moved down to a free spot in one of the pods below.

    I'm testing 4 different kinds of lettuce, Buttercrunch, Green Ice, Jericho Hybrid, and Calmar.

    Lettuce seeds are very small, so tweezers are required for planting.  Note that with my middle-age eyes, I need to use a magnifying visor to see the seeds well enough to grab them.  The seeds are initially soaked in a shallow bowl to moisten them and increase the chance of germination.  You have to actively sink the seeds, since they will float on top due to surface tension.  Only seeds that sink the the bottom are used.  If they won't sink, then they probably won't germinate.

    After dampening the sponge blocks in water, use the tweezers to pull the seeds from the bottom of the bowl and plant them slightly apart in the fiber portion of the block.  One end of the seed is very pointy and the other end is slightly rounded.  The pointy end goes down.  If you plant them pointy side up, the seeds may still still sprout, but the root may dry out and die before it can grow back into the fiber wick.

    I'll post an update at the end the week with any progress.  Note that this is the first time that I am testing the cellulose sponge blocks instead of the reticulated foam blocks, so the planting experiment could fail.

  • Pressure Testing 1, 2, 3

    Chris Johnson10/12/2018 at 04:27 0 comments

    I am in the initial wet testing stage for the newest version of the system which is shown below.  I'm just testing a two pod system for now.  There are a few new bits: 

    • I added brackets above the plant holders to stop heavy plants from falling out.  
    • I 3D printed a cover for the Raspberry PI and controller so that  they don't get dripped on.

    The picture below shows the setup I used for debugging a system crash issue that arose when running one minute spray cycles with the real pump and valve.  It turns out that when you run the pump for 30 seconds every minute, it gets a little warm, draws enough current to overwhelm the power brick, and crashes the Raspberry Pi.  I've got a beefier power brick coming that should solve the problem.

    I also added a video of the initial wet testing of the valve on the new system to the files section.

    Once everything has run reliably for a few days with no plants in it, I'll plant some new seeds on the top and we'll see how they like the new system.

  • Best Kale Ever?

    Chris Johnson09/18/2018 at 13:00 0 comments

    I'm not a big kale fan, but a neighbor told me that this was the best kale she'd ever had.  I'll have to take her word for it.  It's Dwarf Siberian Kale ( ).  As you can see from the picture, the plants respond well to the stems being picked one at a time.  The only reason that I pulled it from the system is that it was growing into the lights.  This was with an earlier version of the lighting system.  With the LED tubes, there is about a foot more space in the corners.

  • Hardware Testing and Web Interface Refinements

    Chris Johnson09/15/2018 at 19:30 0 comments

    I'm currently working on the Python software to interface with the EC/pH/Control board and also developing the web interface.

    The web interface, shown below, uses webiopi.   It's fairly programmer friendly and so far has been reliable.  The graph is from plotly , an open source javascript graphing library.  The graphs can be zoomed and panned to look at areas of interest.  A new point is added to the graph at the end of each spray cycle.  The gaps in the plot are from when the control program was not running.

    For testing, the spray cycles are running every minute.   As you can see in the second picture, everything is sitting on my desk, so it's only running simulated spray cycles.

    The approximately linear increase in conductivity over time is due to water evaporation.  Since only pure water evaporates, the density of the dissolved ions left in solution increases, and that increases the conductivity.

    Click here for an interactive version of the graph.

    Web GUI

    I've made an EC calibration setup with solutions of various conductivities in cups that are hot melt glued to a base, in order to avoid spills.  The pH probe is sitting in a standard pH 4 probe storage solution.  The plot above shows that the pH is slightly temperature sensitive.  A thermistor built in to the EC probe measures the temperature.  The solutions are stabilizing to the same slowly changing room temperature.

View all 10 project logs

  • 1
    Lettuce Begin

    It was a dark and stormy night (not really) in winter 2013 and I was in the produce section staring at some particularly bad lettuce.  Wilted would have been a kind description.  "There's got to be a better way!" I thought.  I had always been interested hydroponics, growing plants in water without soil, and figured I could easily grow lettuce better than THAT.

    Researching existing hydroponic systems, I found they were bulky and expensive.  Being a typical engineer, I figured I could make something better/faster/cheaper.  How hard could it be?  I determined that the most advanced systems use aeroponics, which sprays the roots with a fine mist.  Wanting to be at the forefront indoor agriculture, I began designing my own aeroponics system.

    The picture below should give you an idea how the system works.  Looking through a plant port in the side of a tower pod, it shows the roots after the lettuce has been growing for about 6 weeks.  The round object at the top of the frame is a mist sprayer.  The black square in the middle is one of the foam plant holders coming through the side of the pod.  The water drains through the stacked pods from top to bottom, and anything not absorbed by the roots ends up back in the bucket.

    Plant roots thrive in an oxygen rich environment but must remain moist.  The computer controls the pumps and valves to run a 10 second spray cycle every 5 minutes.  The computer, pods, foam,  and sprayers combine to give the roots an optimal growing environment.

    In the following entries, I'll describe the various parts that make up The Little Green Tower (LGT) and the design decisions made as the system evolved over the last five years.  The goal is to design a computer controlled, modular, compact, and low cost aeroponic system that is easy to replicate.  I encourage everyone to ask questions, since it can get boring just talking to myself.
  • 2
    How it Stacks Up

    The picture below shows the main portion of a three pod test system.  The pods are separated from eachother and from the base with four vertical links.  These minimize the amount of plastic and thus 3D printing time/cost to get the desired vertical spacing.  From top to bottom the tower has the following:

    1. Pressure Gauge
    2. Plant Starter Area
    3. Plant Pod A
    4. Plant Pod B
    5. Plant Pod C
    6. PVC Pipe Mounting Adapter
    7. PVC Pipe Base with Computer and Pump
    8. 200 Mesh Stainless Steel Water Filter
    9. Water Reservoir
    10. Pipe Base Aligner (inside the bucket)

    The tower has two valves, one in the plant starter area and one at the top of the PVC pipe base.  The top valve is normally open and automatically closes when the the system is pressurized.  The base valve is also normally open and closes to pressurize the system.

    Only a tiny amount of water flows through the sprayers when the system is pressurized.  In order to make sure that the water is well mixed,  the computer runs the pump for about 10 seconds at the beginning of a spray cycle with the top and bottom valves open.  This circulates water through the tubing and out the valve at the top.  The water cascades through the system and back into the bucket producing a "waterfall effect" that puts lots of oxygen into the water.  The computer then closes the bottom valve for 10 seconds to pressurize the system and run the sprayers.  At the end of the cycle the computer opens the bottom valve and the water in the tubing tubing drains back into the bucket.

    One of the key features of the system is that the entire column can be lifted out of one bucket and placed into a second bucket.  This makes changing the water very easy.  The buckets even have convenient handles!  The old nutrient mix is great fertilizer for lawns or shrubbery.  I'm still experimenting with the best water changing schedule, but it will probably be about once a month.
  • 3
    Keep Your Plants On

    Plants need something to support them while they grow.  Many hydroponic systems use foam since it can expand as the plant grows.  The LGT uses reticulated foam, which is a special type of open cell foam.  Open cell foam has open walls between all of the bubbles that make up the foam.  It is much more breathable than closed cell foam.

    In the first PVC pipe based version of the system, the foam was cut using the die in the picture below.  It produces a 2" cylinder with an "X" and hole in the center.  The hole is filled with carbonized bamboo fiber that extends beyond the foam, as shown in the second picture.  The fiber wicks moisture from inside the pod to the seeds when they are first planted.  Once I decided that the system could be 3D printed, I changed to square holes in order to avoid foam waste after cutting.  In this case, the same die is used with pre-cut square blocks, but only the "X" and hole portion in the center is cut.

    The foam is held in place by a 3D printed square collar as shown below.  A child-size silicone wrist bracelet provides a gasket between the plastic holder and the pod.  The picture in section 1 above shows an interior view of the plant holder where you can see the gasket.

    The picture below shows a plant that was removed after about 60 days.  As the lettuce grows, the largest leaves are picked.  The remaining leaves grow more quickly, since a larger root system is supporting a smaller number of leaves.   For the green leaf lettuce below, leaves can be picked starting about five weeks after the initial seeds are planted.  Small leaves can be picked at about 4 weeks.

View all 13 instructions

Enjoy this project?



Chris Johnson wrote 01/31/2019 at 21:36 point

Added a log entry placeholder with a picture of the new cost reduced version of the system

  Are you sure? yes | no

Chris Johnson wrote 09/25/2018 at 18:40 point

Added bucket info in the instructions section and component section

  Are you sure? yes | no

Chris Johnson wrote 09/04/2018 at 18:10 point

I filled in the spray nozzle and pump descriptions in the instructions section

  Are you sure? yes | no

Chris Johnson wrote 08/01/2018 at 18:23 point

I added several time lapse videos and started a description of the system design in the "Instructions" section of the project.  I will be filling in the rest of the place holder sections as time permits.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates