SmartFarming Documentation

Welcome to the SmartFarming documentation hub!
This site provides a structured overview of the system’s architecture, database, deployment, hardware integration, and software components.

SmartFarming combines hardware (Arduino & Raspberry Pi) and software (C#, Blazor, Docker) to collect and visualize environmental data like soil moisture, CO₂, and temperature — enabling smarter, data-driven plant care.


📘 Contents

🏠 Overview

General overview of the SmartFarming project, components, and setup.

🧩 Architecture

Detailed explanation of the SmartFarming system architecture, including hardware layout, data flow, and software structure.

🗃️ Database

Documentation of the MariaDB database schema, entity-relationship diagram (ERD), and model descriptions.

🚀 Deployment

Instructions for setting up and deploying SmartFarming using Docker, WSL, and Ubuntu.

💻 SmartFarming UI

Overview of the Blazor-based web interface for monitoring and managing plant data.

🔌 REST API

API reference for endpoints, data transfer objects (DTOs), and controllers in the SmartFarming backend.

🍓 Raspberry Pi

Setup guide for the Raspberry Pi, including communication with the Arduino and REST API integration.

🌱 Arduino

Firmware overview, sensor connections, and data collection logic for the Arduino components.


🧠 About the Project

SmartFarming is developed under the ESPAS Zürich initiative to teach and apply modern IoT, software, and system integration techniques in agricultural technology.
The project integrates:

  • Arduino – Sensor control and data acquisition
  • Raspberry Pi – Edge processing and data forwarding
  • C# REST API – Backend logic and database management
  • Blazor Frontend – Real-time data visualization and dashboards
  • MariaDB – Persistent data storage
  • Docker & WSL – Containerized environment for local and production setups


© 2025 ESPAS Zürich — SmartFarming Development Team