Blog - Sketching with Hardware

Team 7 – The Seedling Sitter

Published on: | Author: Patricia Kimm | Categories: 2018a, Projects

As this terms topic was “Robotanicsmachines that improve garden work or make staying outside more enjoyable”,  my team partner Fabian and I decided to build something that Fabian still could use after the course for his home gardening – the Seedling Sitter. The Seedling Sitter is an automated glasshouse that controls the light and water supplies for plants.

The projekt in details:

Fabian already had a small glasshouse and a wooden frame with a lamp on it for our Seedling Sitter, so we just needed to figure out what human actions could be automated. The most important things for plants to grow are of course water and light. You can read more about this topic in Fabians blog entry here. Therefor our main features should be an automated water and light control.

1. The light control

For the light control we used a light sensor and a motor that could lower and lift the lamp of the Sitter depending on the amount of light that the sensor is measuring. We found well documented Arduino projects that uses light sensors online, so the connection of the light sensor and the Arduino was no big deal first. But after dis- and reconnecting the wires nothing worked anymore! We had to go through every detail of our plan, before we found the problem: We used a wrong resistor. Even though we couldn’t imagine why this would make such a difference – it does!

first pulley – not good enough

Our next big problem was how to lift the Sitter‘s lamp. For that we needed a motor strong enough and a reel to wind the rope. We built the reel out of acryl glass circles that we made with the laser cutter and connected it to the motor.

As motor we used 12 V bipolar stepper motor together with a polulu bridge motor driver modul. But no luck, the motor wasn’t strong enough for the lamp. Our tutor Beat advised us to try a pulley, because that would lesser the force that the motor would need. First we built a very easy one. The building instruction we used can be found here:


But unfortunately it wasn‘t good enough. It seemed that the resistance that now acted upon the rope neutralized the gained force reduction. So we had to made a better pulley out of ball bearings. It took us a while to find out how to do it the right way and what material to use best. But finally we managed to build a perfect one.

Now that the pulley an stepper motor were working fine, we realized that the reel that we had built to cranck the lamp was also not constructed right. The space between the two bigger plates was too small so the stepper motor could only manage a few turns. We had to built a new reel – and with this one everything finally worked.

reel, motor and box

Our last step for the lamp lift was to build a wooden box that would carry the stepper motor and fix both together with the reel to our frame. You can create laser cutter plans for boxes online, e.g. on


2. The water control

liquid pump

Our tutor Bernhard gave us a pump that used to be part of a printer and that we could use for our watering system. As the pump needs more energy than the Arduino does supply, we linked it to a h-bridge that itself is connected with a 12 V power supply. We found two hoses and put one of them in a bottle filled with water and the other one at the bottom of our Seedling Sitter. The pump should then conduct the water from the bottle to the Sitter. A quick test showed that the pump worked fine and as planned.

Hygrometer base

Next step was to build a moisture sensor (called Hygrometer). One idea was to stick two nails into the soil and connect them to the Arduino, because water can easily conduct electricity between the nails, much better than dry soil. If the soil is wet enough, the electricity circuit should get closed. If the soil is too dry on the other hand, the circuit would be open. This two conditions can then be used as a signal that shows if the soil needs water. We modified this idea a bit and made a more ‘professional’ Hygrometer out of acryl glass and copper tape. To our surprise, it worked very well.

soldering the Hygrometer’s sticks

Now we had to connect the moisture sensor and the water pump and take care that the pump won’t spend too much water. Therefor the pump should firstly just conduct a certain amount of water to the Sitter and the moisture sensor should secondly not measure the humidity too often, because after watering it would need a certain time for the soil to absorb all the water. You can find more details about it in the code section below.

wooden box for pump and h-bridge

As a last step we built a wooden box again that would hold both the pump and the h-bridge, but in seperated departements to prevent the h-bridge from possible water damages, and fixed everything on the frame.

3. Technical details

What we used:

  • Arduino Uno
  • 12 V power supply
  • 5 V power supply
  • breadboard, jumpers

Light control:

  • 12 V bipolar stepper motor
  • polulu a4988 motor driver modul
  • light sensor
  • 47 µF capacitor
  • 7500 Ohm resistor
  • pulley (self made)
  • reel (self made)

Water control:

  • pl7835-nf 60 liquid pump
  • L298n pwm bridge motor driver modul
  • 100 kOhm resistor
  • soil moisture sensor (self made)

Our breadboard plans:


Light control:                                                                                                                                      Water control:

We used a 7500 Ohm resistor for the light control and a 100 kOhm resitor for the water control. It is important that you use the right resistor, otherwise it won’t work, as I mentioned above.

Considering the water control circuit, be sure that you connect both the Arduino’s and the power supply’s ground with the h-bridge’s ground, otherwise it won’t work as well. We also had to to learn that the hard way!

The capacitor in the light control circuit should have at least 47 µF and is used to prevent a possible short time overload. There is also a jumper between the ‘sleep’ and ‘reset’ pins of the polulu motor driver. These pins are used to send driver to sleep if nothing happens or to reset it.

Our code:

We started our code by using one of the examples from Arduino’s AccelStepper library (the one called ‘Bounce’) and then modified and expanded it to our purpose. If you want to see the sensors’ measurements, you can use the serial function and the serial monitor. In our code you can find it as an example for reading out the light values.

After writing methods for lowering and lifting the light as well as  starting and stoping the water pump, we had to think about how to prevent the pump to overflow the soil. First we tried to solve this problem by using the delay funktion in our code, but Bernhard advised us not to do so, because this could also block everything else in our code. He said that we should use Arduino’s onboard time instead. Fabian did a very good job writing a propper timer (he even thought about a possible time overflow) and lock for the pump.

After that we realized that because of construction restrictions we had to limit the range of the lamp of as well. This was realized by another timer, that sets the boundaries for the lamp. You can find our complete code here:

4. What else?

We were able to built our two main features and made them work before time was running out. But there are still features left that we thought about and that could be added as future improvements:

  • A fertilizer sensor that automatically adds fertilizer to the water if needed
  • A temperatur sensor that lifts the lid of the glasshouse if it gets to warm inside
  • A contact sensor on the upside wall of the glasshouse, that gives a signal if a plant gets to big for the glasshouse and needs to be transplanted.

So if you like gardening, feel free to upgrade our Seedling Sitter with one ore more further features!


Music used in the video:

linked categories 2018a, Projects


Write a comment