Plant Babysitter

Never kill a plant again with this hands-free plant babysitter that quenches your plant's thirst so you don't have to!

Categories: Beginner

Motivation:

Ever wanted to get a pet but realize you’re too irresponsible so you get a plant instead but then you end up killing the plant? Well, this one goes out to all you irresponsible plant owners out there to help you feel like you might somewhat have your stuff together. The Plant Babysitter monitors the moisture level of the soil in your plant baby and will automatically water the plant when the soil gets too dry.

Overview:

The Plant Babysitter monitors the moisture level of the soil in your plant baby and will automatically water the plant when the soil gets too dry. It does so by activating a soil moisture sensor to measure the moisture level of whatever plant you insert the sensor into. If the moisture level is above a certain threshold, all is well and the system will remain unchanged. If the sensor reads that the moisture level is too low, it will activate a servo motor to rotate the small "watering can" to quench the plant’s thirst. This cycle continues so the plant never remains thirsty for too long.

Plant babysitter in its final form

Electronic
Hardware:

The main electronic hardware components consist of a
PocketBeagle
for the program processor, a
SparkFun Soil Moisture Sensor
to measure the moisture level in the plant’s soil, a
HiTEC Servo Motor HS-422
to activate the watering mechanism, and a
TMP36 Temperature Sensor
to measure the ambient temperature. The PocketBeagle is connected to the breadboard via external male headers and the top surface of the PocketBeagle has female headers connected, which enable other components to be connected easily. Jumper wires are used to connect the PocketBeagle with the soil moisture sensor, temperature sensor, and the servo. The moisture sensor is controlled by a gpio and reads the moisture level as an analog input. The temperature sensor also reads the temperature using an analog input. A more detailed description of the connections is outlined in the next section.

Electronic
Wiring

The fritzing diagram for the project is shown below.

Plant Babysitter Fritzing Diagram

Servo Motor Connections:

  • PWM –> PWM2 (P2_3)
  • GND –> GND (P2_21)
  • VCC –> VOUT (P2_13)

Moisture Sensor Connections:

  • SIG –> AIN6 3.3V (P1_2)
  • GND –> GND (rail)
  • VCC –> GPIO5 (P1_6)

Temperature Sensor Connections:

  • VCC –> 3.3V (P2_23)
  • SIG –> AIN5 3.3V (P2_35)
  • GND –> GND (rail)

Pocket Beagle and Wiring via Breadboard

Device
Housing

The Plant Babysitter’s housing consists of a base with two legs that hold up an axle connected to the watering can that is turned by the servo. The base and stand legs are made of laser cut wood and the axle is a 1/4" wooden dowel. There is a 3D printed adapter that connects the axle to the servo motor and allows the two to turn synchronously.

3D printed adapter connecting axle to servo

How
It
Works

1. Fill watering can

2. Place your plant on the X on the platform and place the moisture sensor in the soil. It is recommended that you cover the moisture sensor to protect it from getting watered. I used a small plastic dome, but a plastic bag will do.

3. Run the code (given below) from your computer.

4. Do nothing — your babysitter is now on duty! If the moisture level in the soil drops too low, the device will print "Moisture low, watering plant", and automatically switch on the servo, hence tip the watering can and watering the plant. It will then return to its original position, wait 1 minute, and check the moisture level again. If the soil is moist enough, the computer will print "All is well!" and will do nothing. This process continues until you terminate the program.

5. Refill the watering can. The watering can tips in such a way that a significant amount of water can be poured onto the plant, so it is recommended that only one "drink" be loaded at a time. A future iteration of this project could include connecting a water pump instead of a servo motor in order to water the plant with the desired amount of water each time.

Future
Improvements

To improve upon this project in the future, you could:

  • Add another sensor
    . (A light sensor would be easy to add, as it is just another analog sensor.)
  • Add
    an
    external
    power
    supply
    and
    screen.
  • Use
    a
    water
    pump
    instead
    of
    a
    watering
    can

Helpful Links

Controlling a servo with beaglebone black :
https://learn.adafruit.com/controlling-a-servo-with-a-beaglebone-black/writing-a-program

Measuring Temperature with a beaglebone black:
https://learn.adafruit.com/measuring-temperature-with-a-beaglebone-black/wiring

Soil Moisture Sensor Hookup Guide:
https://learn.sparkfun.com/tutorials/soil-moisture-sensor-hookup-guide?_ga=2.32214142.1787010881.1522288811-1139252585.1518751251#hardware-overview-and-assembly

Comments are not currently available for this post.