Skip to main content
Version: FILS English

PlantaSoteria

A smart plant monitoring system

info

Author: Ana-Maria Adascalitei 1241EA
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-AnaAdascalitei

Description

PlantaSoteria (a mix of Latin and Greek meaning "Plant Salvation") is a smart plant monitoring system designed to simplify and optimize plant care. The system continuously monitors key environmental parameters, including soil moisture, light intensity, ambient temperature, humidity, and environmental disturbances. The collected data is transmitted via Wi-Fi to a server, which processes it and serves a web dashboard. Users can observe real-time plant conditions and receive alerts when environmental parameters fall outside optimal ranges.

Motivation

This project was inspired by my passion for plants and my goal to simplify their care while efficiently monitoring their requirements. Many plants suffer from overwatering, insufficient light, or temperature extremes — all issues that can be avoided with proper data. PlantaSoteria acts as a guardian for your plants, providing real-time insights so you can act before it is too late.

Architecture

The system is built around the Raspberry Pi Pico W as the central hub. It collects data from five sensors over I2C, one-wire, and ADC interfaces, then transmits the readings to a remote server over Wi-Fi using HTTP. The server stores the data and serves a web dashboard for monitoring.

Main components:

  • Raspberry Pi Pico W — The microcontroller at the heart of the system. It gathers data from all sensors, processes it, and sends it to the server over Wi-Fi.
  • Server — Receives data from the microcontroller, stores it, and serves it to the web dashboard.
  • Web Dashboard — Displays real-time sensor data and sends alerts when conditions require attention (e.g. low soil moisture, insufficient light).
  • DHT22 — Measures ambient temperature and humidity of the environment around the plant.
  • BMP180 — Measures temperature and atmospheric pressure, helping detect weather or room condition changes that could affect plant health.
  • TEMT6000 — Ambient light sensor that evaluates whether the plant is receiving sufficient sunlight during the day.
  • Soil Moisture Sensor (Hygrometer) — Measures soil water levels to determine whether the plant needs watering.
  • Piezoelectric Vibration Sensor — Detects unusual vibrations in the soil, which could indicate pest activity or accidental disturbances.

Architecture Diagram

Log

Week 5 - 11 May

Ordered and gathered all necessary hardware components to ensure an organized and smooth development process. Started drafting the system architecture and planning the roles of each component. Simultaneously began writing documentation and outlining the project structure. Tested several sensors (including the soil moisture and temperature sensors) to verify correct operation, and began sketching the initial KiCad schematic to visualize the hardware layout.

Week 12 - 18 May

Assembled all hardware components on the breadboard. Connected the DHT22, BMP180, TEMT6000, soil moisture sensor, and piezoelectric vibration sensor to the Raspberry Pi Pico W. Verified all wiring connections and tested each sensor individually to confirm correct readings. Finalized the KiCad schematic.

Week 19 - 25 May

Hardware

The hardware component of PlantaSoteria is designed to monitor various environmental parameters crucial to plant health. At the core is the Raspberry Pi Pico W, which collects data from a range of sensors and transmits it to the backend server. Each sensor targets a specific plant care need:

  • Soil Moisture Sensor (Hygrometer): Detects soil water levels to inform watering needs.
  • BMP180 Sensor Module: Measures temperature and air pressure, tracking environmental changes that could affect the plant.
  • Ambient Light Sensor (TEMT6000): Evaluates light exposure to ensure the plant receives sufficient sunlight.
  • DHT22 Sensor: Provides additional temperature and humidity readings, offering redundancy and a broader environmental profile.
  • Piezoelectric Vibration Sensor: Detects unusual movements or disturbances in the soil, such as pest activity or accidental touches.
  • Power Supply: A stable 5V/3A micro-USB adapter powers the entire system.
  • Wiring & Connectors: Jumper wires and resistors ensure reliable electrical connections between components.

All sensors connect to the microcontroller via GPIO pins using I2C and analog input interfaces, enabling real-time monitoring and data collection.

Schematics

KiCad Schematic

Photos

Plant with soil moisture sensor Sensors and wiring Raspberry Pi Pico W on breadboard

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico WMicrocontroller34.50 RON
Alimentator micro-usb 5V/3APower supply29.00 RON
Soil Moisture Sensor, HygrometerSoil moisture sensor7.29 RON
Analogue Piezoelectric Vibration SensorVibration/disturbance detection9.39 RON
BMP180 Temperature and Pressure Sensor ModuleTemperature & pressure sensor6.98 RON
Ambient Light Sensor TEMT6000Light intensity sensor9.54 RON
DHT22 Temperature and Humidity Sensor ModuleTemperature & humidity sensor23.12 RON
Set of 40 Arduino Wires, Male-Male, 30 cm, MulticolorElectrical connections15.59 RON
Resistor Kit, 30 Values, 600 Pieces, 1/4W, 10R–1MPull-up/pull-down & voltage dividers22.61 RON

Software

LibraryDescriptionUsage
embedded-halAbstraction layer for embedded hardwareProvides a unified interface for embedded hardware such as I2C, SPI, ADC
embassy-rpEmbassy HAL for Raspberry Pi Pico (RP2040)Accesses GPIO pins, I2C, ADC, and other RP2040 peripherals
embassy-netAsync networking stack for embedded systemsSends sensor data from the Pico W to the server over Wi-Fi
cyw43Wi-Fi driver for Pico WManages the on-board CYW43439 Wi-Fi chip
dht-sensorDriver for DHT family sensorsReads temperature and humidity from the DHT22
bmp180Driver for BMP180 sensorReads temperature and pressure over I2C
cortex-m-rtReal-time runtime for Cortex-MHandles startup, interrupt vectors, and memory initialization
  1. Garduino
  2. Plant Watcher
  3. Sistem Monitorizare Plante
  4. Sistem intretinere plante