NEW: RoboRover Core is live! Educational robot base with USB-C rechargeable battery, sensors, OLED + Wi-Fi — ready for projects. 🤖

Orders via Akis Express or Box Now (before 12 PM) Mon–Fri ship same day. Cyprus Post orders ship next working day. 🚀

Smart Plant Monitor: A Kypruino Plant Pot That Shows How Your Plant Feels

Smart Plant Monitor: A Kypruino Plant Pot That Shows How Your Plant Feels

Team Robo |

In this project, we will build a small smart plant monitor using the Kypruino board, a 0.96" OLED screen, and a few simple sensors. The monitor reads the plant’s soil moisture, ambient light, air temperature, and humidity, then displays a friendly animated mood face and care advice on the screen.

This guide is written so that beginners can follow along. You do not need advanced electronics experience, but you should be comfortable connecting simple modules to a microcontroller and uploading an Arduino sketch.


What the project does

The smart plant monitor checks the conditions around a small potted plant and displays them through three OLED screens:

  • Mood screen: shows a large animated face based on the plant’s comfort score
  • Sensor screen: shows soil moisture, light, temperature, humidity, and VPD
  • Advice screen: suggests what the user should do next

The project can detect conditions such as:

  • Soil is dry and the plant may need water
  • Soil is too wet and should be left to dry
  • Ambient light is low over a 24-hour period
  • Air is too dry, based on temperature and humidity
  • The plant is generally happy and needs no action

Components needed

For this build, you will need:

  • 1 × Kypruino board
  • 1 × 0.96" I2C OLED screen, usually SSD1306 128×64
  • 1 × Capacitive soil moisture sensor
  • 1 × Analog light sensor module
  • 1 × AHT10 temperature and humidity sensor
  • Jumper wires
  • USB-C cable for programming/power
  • 3D-printed plant pot or enclosure
  • A small plant suitable for a compact pot

Main components used in the build: OLED screen, capacitive soil moisture sensor, light sensor module, and AHT10 sensor.

Recommended small plants

This project is intended for small potted plants. In the code, the user can choose a plant care profile depending on the type of plant being monitored.

  • Dry-loving plants: small cactus, succulents, aloe, echeveria, haworthia, jade plant, kalanchoe, small sedum
  • Bright herbs: basil, parsley, coriander/cilantro, small edible herbs; mint can also work but may need repotting more often
  • Balanced houseplants: pothos cuttings, peperomia, spider plant, small philodendron, baby rubber plant
  • Flowering plants: carnations, African violet, small geranium/pelargonium, primrose; some begonias also fit but may prefer higher humidity
  • Humid-loving plants: small ferns, fittonia/nerve plant, baby tears, small calathea-style plants
  • Orchid / airy media plants: mini orchids and small phalaenopsis orchids grown in bark or airy orchid media

These categories are meant as beginner-friendly care profiles rather than exact botanical rules. If your plant has specialist care requirements, use the custom profile in the code and adjust the thresholds manually.


How the sensors are used

Soil moisture sensor

The capacitive soil moisture sensor is inserted into the soil. It gives an analog reading that changes depending on how much moisture is around the sensing area.

The sensor should be inserted so that the long sensing part is in the soil, while the small electronics section at the top stays above the soil and away from direct water.

Light sensor

The light sensor module is used to measure ambient light around the pot. In this project, it is not trying to perfectly measure the exact light hitting every leaf. Instead, it gives the system a general idea of whether the plant’s location is bright or dim.

Use the analog output pin of the light sensor module, usually labelled AO or AOUT. Do not use the digital output pin for this project.

AHT10 temperature and humidity sensor

The AHT10 measures the air temperature and humidity around the plant. These readings are also used to calculate VPD, which is an estimate of how strongly the air is pulling moisture from the plant.


Wiring the project

Connect the modules to the Kypruino as shown below.

OLED screen

Connect the OLED screen to the dedicated OLED port on your Kypruino board, making sure the orientation of the connector matches the pin labels.

OLED Pin Connects to Kypruino
VCC VCC
GND GND
SDA SDA
SCL SCL

Capacitive soil moisture sensor

Soil Sensor Pin Connects to Kypruino
VCC 5V
GND GND
AOUT / AO A0

Light sensor module

Light Sensor Pin Connects to Kypruino
VCC 5V
GND GND
AO / AOUT A1
DO / DOUT Not used

AHT10 temperature and humidity sensor

AHT10 Pin Connects to Kypruino
VCC VCC
GND GND
SDA SDA
SCL SCL

Important: Both the OLED and AHT10 use I2C, so they share the same SDA and SCL lines. This is normal, as long as the devices have different I2C addresses.

Wiring overview showing how the soil moisture sensor, light sensor, OLED screen, and AHT10 sensor connect to the Kypruino.

Installing the Arduino libraries

Before uploading the code, install the required libraries in the Arduino IDE.

  1. Open the Arduino IDE
  2. Go to Sketch → Include Library → Manage Libraries...
  3. Search for and install Adafruit SSD1306
  4. Install Adafruit GFX Library
  5. Install Adafruit AHTX0
  6. Install Adafruit BusIO if it is not installed automatically

Uploading the code

Connect the Kypruino to your computer using a USB-C cable. Open the Arduino IDE, select the correct board and port, then upload the smart plant monitor sketch.

At the top of the code, you can choose the plant care profile by uncommenting one profile line. Make sure only one profile is active at a time.

// #define PROFILE_DRY_LOVING
// #define PROFILE_BRIGHT_HERB
#define PROFILE_BALANCED_HOUSEPLANT
// #define PROFILE_FLOWERING
// #define PROFILE_HUMID_LOVING
// #define PROFILE_ORCHID_AIRY
// #define PROFILE_CUSTOM

For example, if you are using a small carnation, you can select:

#define PROFILE_FLOWERING

and comment out the other profiles.


Understanding the OLED screens

1. Mood screen

The main screen shows a large animated face. The face changes depending on the plant’s comfort score. The score is based on soil moisture, temperature, air dryness, and daily ambient light.

Mood 86% Happy

2. Sensor information screen

This screen shows the key readings in a compact format.

Soil: 62% good
Light: 74% live
24h: learning 18h
Air: 24.6C 51% Hum
VPD: normal 1.12kPa

3. Suggested action screen

This screen tells the user what action to take.

Water
soon

Soil drying
Water gently

What is VPD?

VPD stands for Vapor Pressure Deficit. It combines temperature and humidity into a single air dryness indicator.

A high VPD means the air is pulling moisture more strongly from the plant and soil. A normal VPD means the air conditions are more comfortable. In this project, VPD is used as a supporting feature, while soil moisture remains the most important reading.


Why use a 24-hour light average?

A plant naturally experiences darkness at night. If the system judged light only from the live reading, it would warn about low light every evening. To avoid this, the monitor shows live ambient light immediately, but it only uses light in the comfort score after collecting a 24-hour average.

This makes the light judgement more realistic. The first 24 hours are treated as a learning period.


Assembling the smart pot

Once the circuit is working on your desk, you can place it into the 3D-printed pot design.

  1. Slide or mount the Kypruino and OLED onto the flat side of the pot
  2. Place the light sensor in the slot to the right where it can see ambient room light
  3. Place the AHT10 in the slot to the left where it can measure air, away from direct water splashes
  4. Insert the soil moisture sensor into the soil
  5. Keep sensor cables neat and away from the plant roots where possible
  6. Make sure the USB-C port remains accessible for power and reprogramming

Important: Keep the electronics away from water. The soil moisture probe is designed to go into the soil, but the Kypruino, OLED, AHT10 module, and light sensor should remain dry.

The 3D-printed pot was designed with a flat side so the Kypruino and OLED screen can be mounted externally and kept away from soil and water.

Assembly view showing the sensor placement, cable routing, and external mounting position of the Kypruino board.



What students can learn

This project introduces several important STEM concepts:

  • Analog input readings
  • I2C communication
  • OLED graphics and simple animation
  • Environmental monitoring
  • Derived features such as VPD
  • Weighted scoring
  • Conditional logic and thresholds
  • 3D design for electronics integration
  • User interface design for small displays

It also teaches an important engineering idea: sensor readings often need to be interpreted before they become useful information.


Possible extensions

  • Add NeoPixel colour feedback for quick visual status
  • Add a buzzer for rare warning alerts
  • Add WiFi logging or notifications
  • Add a button to switch between plant profiles
  • Store the 24-hour light history so it survives power loss
  • Create different 3D-printed shells for different plant types

Final thoughts

This smart plant monitor turns a small plant pot into an interactive environmental sensing project. It combines simple sensors, a Kypruino board, OLED graphics, and a 3D-printed enclosure to create a useful and approachable STEM build.

The animated face makes the pot feel alive, while the information and advice screens keep the project practical. With a few sensors and some thoughtful code, even a plant pot can learn to communicate.

Final view of the smart plant monitor in use, with the OLED interface giving a quick visual summary of the plant’s condition.

Leave a comment

Please note: comments must be approved before they are published.