• SproutSyncSproutSync×
  • +
SproutSync

SproutSync

SproutSync hero screenshot

SproutSync is an IoT-based automated nursery irrigation and monitoring system developed for Flor and Daisy's Agricultural Farm. The system features a progressive web application for real-time monitoring, automatic water level detection with alerts, and plant cycle recording capabilities including crop type, sowing date, transplant readiness, mortality rate, and replanting events.

The system uses multiple soil moisture sensors to detect moisture levels across different nursery zones. When moisture drops below adjustable thresholds, it automatically activates the water pump through ESP32 microcontrollers and relay modules. All sensor data, water levels, and pump activity are transmitted to the progressive web application where users can monitor conditions and manage plant records from any device.

An IoT Based Automated Nursery Irrigation and Monitoring System With Soil Moisture Sensing

SproutSync Hardware

An IoT Based Automated Nursery Irrigation and Monitoring System With Soil Moisture Sensing

SproutSync
SproutSync
    • Hardware setup on Flor and Daisy Agricultural Farm Nursery 2, consinting of ESP32 microcontroller, relay modules located inside a junction box
    • Soil moisture sensors are placed across the whole nursery, consist of three different zones with three individual sensors, valves that are assinged to a specific group will open when plants needs watering.

    Overview

    Type

    Team Project (4 members)

    Status

    Completed - Deployed

    Users

    Flor and Daisy's administrators and farmers

    The Problem

    What problem?

    Traditional nursery irrigation relies heavily on manual monitoring and watering, which can lead to inconsistent soil moisture levels, delayed watering, and increased labor requirements. Farmers also have limited visibility into nursery conditions and plant batch progress, making it difficult to make timely decisions.

    Why build it?

    The system was developed to help farmers reduce the time and effort spent on manual irrigation while improving plant health and nursery management. By automating watering based on real-time soil moisture levels and providing remote monitoring capabilities, farmers can maintain optimal growing conditions, minimize seedling losses, and focus on other important farm operations.

    The Solution

    What was built?

    SproutSync monitors soil moisture and water levels in real time, triggering irrigation automatically when conditions fall below defined thresholds it removes the need for manual watering.

    How it works

    Built with an ESP32 microcontroller, soil moisture and HC-SR04 water level sensors, and a relay-controlled pump, the system feeds live data to a Node.js/Express REST API backed by PostgreSQL. A React PWA deployed on Vercel gives farm staff real-time visibility into sensor readings, irrigation logs, and system status.

    My Role

    Team Project (4 members)

    • Leader and Developer using React.js, Express.js and Node.js
    • Designed the hardware, database schema, and REST API architecture
    • Implemented the soil moisture sensor base watering system
    • Handled deployment to Vercel + Hostinger

    Process & Thinking

    How I approached it

    Started with farmer interviews to understand the real needs and pain points of the farm before writing a single line of code

    Why this approach?

    Chose React for a scalable, component-driven frontend suited for real-time data updates. Used Node.js with Express to build a lightweight REST API layer that bridges hardware communication and the client.

    Key Insight

    💡 Most users forgot to water not because they didn't care, but because they had no system.

    Tech Stack

    React.js
    Express.js
    PostgreSQL
    Node.js
    Tailwind CSS
    C++
    ArduinoUno
    VsCode
    Vercel
    Hostinger

    Key Decisions

    ·Used PostgreSQL for handling complex queries and scalable data storing

    ·Chose React for builing clean and scalable user interfaces.

    ·Built an Express server to receive sensor data from the ESP32 via HTTP.

    Architecture

    System Architecture Diagram

    System Architecture Diagram

    Features

    Progressive Web Application (PWA)

    Installable Progressive Web App with offline support and native-like experience across all devices.

    Water Detection

    Automated water detection using ultra sonic sensor, notify users through the web application in real time

    Plant Batch Management

    Manage and track plant batches including total seedlings, mortality rate, replant rate growth stage and harvest status

    Multizone Watering System

    Handles three different groups of plants simultaneously with individual moisture thresholds.

    Challenges & Learnings

    Challenge

    Managing three independent irrigation zones with different moisture thresholds caused confusion on the hardware side,it was unclear which zone was actively watering during operation.

    Learning

    Implemented a dedicated LED indicator per zone on the ESP32, toggling the corresponding GPIO pin HIGH when a relay activates. On the software side, the active zone state is reflected in real-time on the dashboard by syncing relay status through the WebSocket connection, giving both physical and digital feedback simultaneously.

    Challenge

    Notification timing for plant batch harvest status was firing at incorrect hour, the deployment server defaulted to a different timezone, causing scheduled alerts to misfire.

    Learning

    Utilized the node-cron library and explicitly matched the schedule to UTC+8 (Philippine Standard Time) since Vercel's serverless environment defaults to UTC, ensuring the 7:00 AM daily notification fires at the correct local time.

    Challenge

    Syncing real-time data between the ESP32 and the Node.js server with minimal latency.

    Learning

    Established a persistent and low-latency Websocket connection between the ESP32 and the Node.js server for real-time communication. Used HTTP REST API for sending sensor data and command payloads to the server.

    Results & Outcome

    Deployment

    Completed - Deployed

    https://sprout-sync-phi.vercel.app/

    Users

    Flor and Daisy's administrators and farmers