How to grow plants in space

Home > Blog  > How to grow plants in space


Can humans grow food in space? Can we grow plants on the Moon or on a space station? This is an important question to answer as humans look to expand our existence to the Moon, Mars, and beyond. In this science project you will build a clinostat, a device that can simulate microgravity right here on Earth and use it to explore the effects of microgravity on plant growth.


Build a clinostat and compare plant growth in regular gravity and simulated microgravity.


If humans want to colonize the Moon or live on space stations, eventually we will need to grow food in space. It will become too difficult and expensive to bring all the supplies we need from Earth. However, normally plants grown on Earth rely on gravitropism (also called geotropism), the directional growth of an organism in response to gravity, to grow properly. In other words, gravitropism allows plants to always know which way is up, so they can make their roots grow down and shoots grow up.

This raises an interesting question: how do plants grow in space where there is little or no gravity? Scientists have conducted a variety of experiments on plants grown on the International Space Station (ISS), as shown in Figure 1. For example, they examined whether plants grown in space are more susceptible to disease. You can read more about these experiments in the NASA reference in the Bibliography.

A flower in front of a window on the international space station, with the station's solar panels and the Earth visible out the window.
Figure 1. A flower grown on the International Space Station.

Gravitropism relies on a plant’s perception, or the sensing of environmental stimuli. In more highly evolved plants, perception of gravity occurs in special cells called statocytes. These cells contain small particles, called statoliths, that sink to the bottom of the cell in response to gravity (Figure 2). The statocyte senses where the statolith touches the inside of the cell, so it “knows” which way is down.

The next step is for the statocyte to communicate this information to other parts of the root. The goal is to tell the part of the root that is growing which direction to go. To do this, it has to convert the signal generated by the statolith into a chemical signal. The term used for converting information from one form to another is transduction. The process of signal transduction is very important in biology. For example, your eyes transduce light energy into electrical signals that are sent to the brain for processing, which allows you to see your environment. In the case of the statocyte, the signal from physical contact of the statolith is “transduced” into a chemical signal that is able to communicate with other cells. The final step is the response of the growing cells to the signal indicating which way is down. Signal transduction from the statocytes to the root-tip cells results in a specific response: growth in the direction of the gravitational field.

Diagram of cells in a plant root
Figure 2. This diagram of a plant root illustrates the regions of gravity perception. Within the root cap at the apex (red), some cells develop into the gravity-sensing cells called statocytes (yellow). These cells contain statoliths (small white dots) that move in response to the direction of the gravity (toward the bottom). (Drawing by David Whyte, 2008).

In a microgravity environment (with little or no gravity), there is no gravity to pull the statoliths to one side of the statocyte, so the plant does not know which way is down. Doing experiments in a true microgravity environment in space is difficult and expensive. Scientists can simulate a microgravity environment on Earth using a device called a clinostat. A single-axis clinostat rotates continuously about a horizontal axis. As long as it rotates quickly enough, the statoliths never have time to settle against one side of the statocytes, so the plant never knows which way is down. However, the plant may still rely on other processes, such as phototropism (directional response to light) to help determine its growth.

In this project you will build your own clinostat (Figure 3) and use it to conduct simulated microgravity experiments. Your clinostat will consist of a servo motor and an Arduino, which will control the speed of the motor. If you are not familiar with Arduino or building electronic circuits on a breadboard, see the references in the Bibliography.

Petri dish with germinated seeds mounted to a rotating motor on a piece of wood, controlled by an electronic circuit with an Arduino
Figure 3. A simple homemade clinostat. The vertically-oriented petri dish containing plant seeds is attached to a rotating motor.

Terms and Concepts

  • Gravitropism
  • Geotropism
  • Perception
  • Statocyte
  • Statolith
  • Signal transduction
  • Response
  • Microgravity
  • Clinostat
  • Phototropism
  • Servo motor
  • Arduino


  • How does gravitropism work in plants?
  • How is a simulated microgravity environment created with a clinostat similar to a true microgravity environment in space? How are they different?
  • What other environmental factors can plants respond to in addition to gravity? How do they affect a plant’s growth?

Materials and Equipment

To build the clinostat shown in the procedure, you will need the following materials. Note: Arduino starter kits are available that may contain some of the required circuit parts.

To conduct plant growth experiments, you will need the following materials. Cress is very fast-growing and convenient for experiments, but you can substitute other plants.

Experimental Procedure

Build Your Arduino Clinostat

  1. Make the following connections on the breadboard (Figure 4).
    1. Connect the Arduino’s 5V pin to the power bus (+) on the breadboard.
    2. Connect the Arduino’s GND pin to the (-) bus on the breadboard.
    3. Put the potentiometer in the breadboard. Make sure the three pins are in three different breadboard rows.
      1. Connect one of the potentiometer’s outer pins to the power bus.
      2. Connect the other outer pin to the ground bus.
      3. Connect the middle pin to Arduino analog input pin A0.
    Breadboard diagram for clinostat circuit
    Figure 4. Breadboard diagram for the clinostat circuit.
  2. Connect the servo motor to the circuit. Your servo motor has three wires. Check your servo motor’s documentation to confirm the color coding for the wires. The servo shown in Figure 4 has the following connections. Your servo may be different.
    1. Orange: signal (Arduino pin 8)
    2. Red: power (breadboard power bus)
    3. Brown: ground (breadboard ground bus)
  3. Open the Arduino IDE.
  4. Plug your Arduino into your computer with the USB cable.
  5. Make sure you have the correct board and port selected under Tools.
  6. Copy and paste the following code into the IDE, save it, and upload the file to your Arduino.
// code to control continuous rotation servo with potentiometer

#include <Servo.h>

Servo myservo; // create servo object to control a servo

int pot;    // variable for potentiometer analog reading, 0-123
int speed;  // variable for servo speed, 0-180.
            // servo is STOPPED at speed = 90
            // full speed in either direction at 0 or 180. 
            // this is NOT the servo's angular position

void setup() {
  // setup code that only runs once
  myservo.attach(8); // use pin 8 to control the servo

void loop() {
  // code that loops repeatedly
  pot = analogRead(A0);                // read analog voltage from potentiometer
  speed = map(pot, 0, 1023, 0, 180);   // convert analog reading 0-1023 to speed 0-180
  myservo.write(speed);                // send control signal to servo

  1. Turn the potentiometer. You should be able to use it to control the motor’s speed. The motor should stop when the potentiometer is approximately in the middle. If your motor does not work, carefully double check all of your wiring.
  2. Turn the motor off for now.
  3. Build a frame or support for your clinostat. The frame should support the motor so it is mounted horizontally, high enough in the air that it can rotate a petri dish without the petri dish hitting the ground. Figure 5 shows an example.
  4. Make sure you press the servo horn onto the motor’s shaft, as shown in Figure 6. You will use this to attach the petri dish.
Arduino and breabdoard sitting on a piece of wood, with an additional taller piece of wood supporting the motor
Figure 5. A support frame for the clinostat made from scrap wood. The motor is attached to the tall piece of wood with double-sided foam tape.
Servo horn attached to motor shaft
Figure 6. Servo horn attached to the motor shaft.

Prepare Your Petri Dishes

How to Prepare Agar Plates for Seed Germination Experiments
  1. Note: it is best to do this experiment when you will be around to observe the seeds as they germinate. You do not want to miss a good observation period while you are at school or asleep. For example, you could prepare the seeds in the evening, let them start to germinate overnight, and then observe root development throughout the following day. The seeds we tested had ~1 cm roots after about 24 hours and developed shoots after about 36 hours, but your results may vary. Germination time can vary due to many factors like humidity and exposure to light.
  2. Print the seed placement template.
  3. Use a permanent marker to draw an arrow on the back side of four petri dishes. This arrow will indicate the “down” direction when you initially plant the seeds (Figure 7).
  4. Label the four petri dishes (write on the back side): 1. Constant gravity, 2. Rotated 90 degrees, 3. Clinostat, 4. Extra.
    Petri dishes labeled on their back sides
    Figure 7. Labeled petri dishes.
  5. Measure 1.5 g of agar-agar. Stir it into 100 mL of tap water in a pot.
  6. Boil the agar-agar solution until it is clear (approximately 1–2 minutes). Stir it while boiling to prevent lumps from forming (Figure 8).
    Cloudy agar-agar solution in a pot on a stove
    Clear agar-agar solution after boiling for several minutes
    Figure 8. Top: the agar-agar solution will be cloudy when you first start to boil it. Bottom: the solution should become clear within a couple minutes.
  7. Wait for five minutes for the solution to cool down.
  8. Fill the four petri dishes about halfway with the agar-agar solution. Make sure the complete bottom surface of each petri dish is covered (Figure 9).
    A top view of the four petri dishes filled with the agar-agar solution.
    A side view of one of the petri dishes, showing it filled about halfway with the agar-agar solution
    Figure 9. Top: Petri dishes filled with the agar-agar solution. Bottom: a side view of one of the petri dishes, showing the depth of the solution.
  9. Cover each petri dish with a lid.
  10. Wait until the agar-agar has become solid. This may take anywhere from a few minutes up to half an hour. You can test it by poking it with the tweezers.
  11. If there is condensation on the inside of the lids, gently wipe it off with a paper towel, or remove the lids briefly so it can evaporate.
  12. One at a time, place each petri dish on the seed placement template. The arrow you drew on the petri dish should point in the same direction as the arrow on the template.
  13. Use tweezers to gently embed nine cress seeds in the agar-agar. The seeds should only be partially submerged in the agar-agar, so they still have access to oxygen. The micropyle on each seed should point downward, in the direction of the arrow. When it germinates, the seed will split at the micropyle. Figure 10 shows a close-up of a seed with the micropyle labeled. Figure 11 shows a completed petri dish with nine embedded seeds. Note that cress seeds are very small. If you have difficulty seeing the micropyle, use a magnifying glass.
  14. Repeat steps 12–13 for each petri dish.
    Side view of a cress seed. One end of the seed is rounded. The other end of the seed is narrower and slightly forked. This end has the micropyle.
    Figure 10. Close-up picture of a cress seed with an arrow pointing to the micropyle.
    Petri dish placed on top of a square grid with 9 dots. Seeds are embedded in the agar-agar above the dots.
    Figure 11. Petri dish with nine cress seeds embedded in the agar-agar.
  15. Wait 10 minutes for the seeds to absorb some water in their outer layer and stick to the agar-agar.
  16. Try standing one of the petri dishes vertically to make sure the seeds do not fall out. If any of the seeds fall out, put them back into their place and wait longer before continuing.
  17. Use transparent tape to attach the petri dish lids. Only use a few pieces of tape, so the seeds can still get oxygen. Do not seal the entire perimeter with tape.
  18. You are now ready to begin your experiment. You should have four petri dishes prepared, with a total of 36 seeds.

Run the Experiment

This section contains instructions to conduct a basic experiment to examine the effect of gravity on germination and root development in cress seeds. However, there are many other experiments you can do with your clinostat. See the Variations section for other experiment ideas.

For the basic experiment, you will use three of your petri dishes. You will keep one in a constant vertical orientation. You will start one out vertically, then rotate it once by 90 degrees partway through the experiment. You will attach the third petri dish to the clinostat so it rotates continuously. The fourth petri dish serves as a backup in case you drop or damage any of the others.

  1. Use double-sided foam tape to mount two of the petri dishes vertically to a support like a wood block or cardboard box. The arrows you drew on the petri dishes should point down (Figure 12).
    Two petri dishes mounted vertically to a wooden block using foam tape
    Figure 12. Petri dishes mounted vertically to a support.
  2. Use double-sided foam tape to mount the third petri dish to the servo horn. Make sure the petri dish is centered on the servo horn (Figure 13).
  3. Immediately turn the motor on to the slowest speed you can achieve before it stops. Note that you do not want the petri dish to spin too fast, or the seeds may experience centrifugal effects (they are “flung” toward the outside of the petri dish). If it spins too slow, the seeds may experience gravitropic effects. A speed of approximately 10–15 RPM, easily achievable with common servo motors available for Arduino, should be sufficient.
  4. Count the number of revolutions the petri dish makes in one minute. Write this number down (you can try varying the motor’s speed for future experiments).
    Petri dish attached to servo horn on clinostat with double sided foam tape
    Figure 13. Petri dish mounted to clinostat.
  5. Since light can also affect your seeds’ germination and growth, make sure your petri dishes are all facing in the same direction. Ideally, your petri dishes will all face a window so they get natural light. If you use another source of light, make sure it shines on all the petri dishes in the same direction.
  6. Write down the time you started your experiment. If you have a camera available, take a picture of each petri dish (it is OK to briefly stop the motor to take a picture, but make sure you immediately start it again).
  7. It is time to watch and wait! How long it takes your seeds to germinate may depend on several factors, like the humidity of the air and exposure to light. If you started the experiment at night, go to bed and check on the plants first thing in the morning. If you started the experiment in the morning, check in every hour or so until you start to see roots develop.
  8. After the plants have started to develop roots, check in more frequently (every 30–60 minutes). Take pictures of each petri dish if possible. You can write the date and time on a sticky note and include it in the picture to make it easier to track the seeds’ growth later.
  9. After most of the seeds have developed roots that are at least 1 cm long, rotate one of the fixed petri dishes by 90 degrees (so the “gravity” arrow now points sideways), draw a new arrow in the new “down” direction, label this arrow “after rotation,” and re-mount it to the support.
  10. After most of the seeds have developed roots that are at least a few centimeters long, stop the motor, remove all the petri dishes from the tape, and remove their lids.
  11. Examine each petri dish.
    1. How many seeds germinated in each petri dish?
    2. Look at your pictures. When did seeds start to germinate in each dish?
    3. Measure the root length of each seed. You can do this by cutting a piece of string, laying it along the path of the root (curving if necessary), then measuring the string. You can also use an image analysis program (see the United Nations reference in the Bibliography and instructions for using a program called ImageJ).
    4. What do you notice about the orientation of the roots in each petri dish? Does the orientation seem related to the initial orientation of the seeds and/or the direction of gravity?
  12. Based on your analysis of the petri dishes, can you draw any conclusions about the effects of microgravity on seed germination?


  • Let your experiment run longer until the seeds start to develop shoots. Does the direction of shoot growth correspond with the direction of root growth?
  • How does phototropism affect seed germination and growth? Try mounting a grow light directly above your petri dishes or to one side. Put your plants in an otherwise dark room with no windows so sunlight does not affect their growth.
  • How does the rotational speed of the clinostat affect seed germination? Note: it may be difficult to get your servo motor to spin slower than about 15 revolutions per minute (RPM). Try briefly stopping the servo motor using myservo.write(90) and “delay” commands in your Arduino code. It is best to use multiple short pauses (0.25 seconds or less). If you pause too long in one position, or repeatedly pause in the same position, your seeds may experience gravitropic effects.
  • You can use your clinostat to simulate lower, but non-zero, gravity by tilting the motor so the axis of rotation is inclined. That way, the seeds will still experience a net effect from gravity, instead of gravity completely canceling out with each rotation. For example, lunar gravity is about 1/6th of Earth’s gravity. To simulate lunar gravity, you need to tilt the motor’s axis of rotation by about 10° (sin-1(1/6) = 10°). How does germination in lunar gravity compare to germination in microgravity or Earth gravity? Note that you can use the previous formula to calculate the required angle for other planetary bodies with gravity less than Earth’s.
  • If you want to run a bigger experiment, you can Figure out a way to mount multiple petri dishes to a single motor, or connect multiple motors to your Arduino and use each one to spin a separate petri dish. Be careful when using multiple motors, as you may not be able to power them directly from your Arduino. Your circuit may require a separate external power supply for the motors.
  • Can you build a two-axis clinostat that rotates your seeds about two axes?
  • In this project you needed to avoid spinning the clinostat too fast, in order to avoid centrifugal effects on the seeds. What if you spin the clinostat very fast on purpose, in order to simulate gravity higher than Earth’s? Look up the formula for centripetal acceleration, and use it to calculate the required radius and rate of rotation to simulate different levels of gravity.
No Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: