Back to Portfolio
FINAL PROJECT

Smart Plant Monitoring - Final Project 59/60

My final Computer Technician diploma project, developed from September 2024 to June 2025: a self-watering plant system that measures conditions, shows them clearly, and protects its data with nightly backups. I built every layer, from the physical device to the software and network, to make everyday plant care more reliable.

Plain-English view, built for everyone Full technical detail
3
networked machines
4
environmental sensors
2
VLAN-segmented zones
100+
pages of documentation

How the system fits together

System & network flow
Plant + Sensors
4 sensors
soil · temp · humidity · light
↓
Sensor Node
ESP8266
pump + grow LED · MAC auth
Wi-Fi (WPA2) ⇄
Server & network cabinet
Hub Server
Raspberry Pi 4
Apache · PHP · MariaDB
Backup Server
Ubuntu VM
RAID1 · rsync / SSH
Router
Cisco ISR4331
NAT/PAT · VLAN 10/20 · ACLs
⇄
Internet (ISP)
DNS 8.8.8.8 · fiber uplink
Sensor nodes authenticate by MAC address and only reach the hub over the local Wi-Fi; web and FTP access from outside passes through the router's NAT and port-based ACLs.

What it actually does

Waters plants on its own

It senses dry soil and runs the pump automatically, and switches on a grow light when the room gets too dark.

Live dashboard on a touchscreen

Real-time charts for temperature, light and moisture - with schedules and history, on a small touchscreen and in any browser.

An enterprise-style network

A complete company-style network - separate secured zones, proper routing and a simulated internet provider - designed and tested end to end in Cisco Packet Tracer.

Backs itself up every night

Every night it copies all its data to a second, mirrored server, so nothing is ever lost.

The "Plantimeter" System

This was my PIF (Projet Intégré Final) - the capstone project for my Computer Technician diploma. I built a complete IoT plant monitoring and automation system from scratch: hardware nodes, firmware, backend server, web dashboard, and enterprise networking.

ESP8266 Sensor Node with Wemos D1 Mini, sensors, and LED light stand

ESP8266 Sensor Node: Wemos D1 Mini with DHT22, BH1750, SEN0193 sensors and LED grow light

Raspberry Pi 4 with touchscreen display showing the Plantimeter dashboard

Raspberry Pi 4 Hub Server with touchscreen display running the kiosk mode interface

Automated water dropping mechanism for plant irrigation

Automated watering system: Water pump mechanism controlled by soil moisture sensors

Cisco Packet Tracer network topology showing VLANs, routers, and network architecture

The full test network shows the plant system, office services, and a simulated internet connection working together. I designed and tested it to make sure information could move safely between the separate parts of the system.

What Runs On It

Four layers, built and wired together by hand: the sensor node and its firmware, the Raspberry Pi web platform, an automated backup server, and the enterprise network that ties them together.

Sensor Node & Firmware

ESP8266Arduino C++Custom PCBDHT22BH1750SEN0193ULN2803
  • Environmental Sensing: Measures soil moisture, air temperature, humidity, and ambient light using calibrated sensors.
  • Automated Watering: Triggers the water pump based on soil moisture thresholds or scheduled tasks.
  • Grow Light Control: Activates 1W LED when light levels drop below optimal range.
  • MAC-address auth & 80°C safety cutoff: each node identifies itself by MAC address before syncing, and the firmware force-stops the heater at 80°C.

Hub Server & Web Platform

Raspberry Pi 4ApachePHPMariaDBApexChartsFullpageOS
  • Web Dashboard: Admin panel with real-time charts (ApexCharts), task scheduling, user management, and plant variations.
  • Dynamic Backend: PHP API-driven architecture for real-time updates, log history viewer, and seamless data management.
  • User Experience: Login security, separated user/admin views, fuzzy search throughout, and modals for improved workflow.
  • Touch Kiosk UI: Optimized interface for the Raspberry Pi touchscreen display, designed for better usability despite the small screen size.

Backup & Recovery

Ubuntu ServerRAID1rsyncSSHcronUFW
  • Receives daily backups via rsync over SSH. Stores database dumps, logs, and web content with 30-day rotation.
  • Mirrored RAID1 storage: two 30 GB disks mirror each other, so a single drive failure loses no data.
  • Fully automated: a scheduled Bash job runs every night, keeps a 30-day rotation, and logs every run.

Enterprise Network & Security

Cisco ISR4331VLAN 10/20DHCPNAT/PATACLsWPA2-PSKSSLFail2Ban
  • Company Network: VLANs (10/20), DHCP server, ISR4331 router with NAT/PAT and ACLs.
  • Home Network: Separate WLAN for nodes (PlantimeterAP) with WPA2-PSK, routed to the company network.
  • ISP Simulation: Dedicated router simulating internet provider with DNS (Google 8.8.8.8) and fiber link.
  • Security: Port-based ACLs, NAT for web/FTP access, proper routing tables.
  • Gigabit Architecture: Full Gigabit speeds throughout. Implemented copper-to-fiber converter bridge where router interfaces couldn't connect directly, maintaining performance.
  • Server hardening: SSL/TLS, Fail2Ban, a UFW firewall and prepared statements protect the hub against intrusion and SQL injection.
Cisco Packet Tracer network topology showing VLANs, routers, and network architecture

The whole network - including the simulated internet/ISP side - designed and tested in Cisco Packet Tracer: the home network (IoT nodes, PlantimeterAP) connects to the company office (servers, VLANs) through an ISR4331 router, with DNS routing to Google Public DNS.

Why I Built It

01

This was my final exam project for the Computer Technician diploma. It had to demonstrate skills across hardware, software, networking, and documentation. I chose to go beyond the requirements - implementing "Should" and "Could" features, plus my own innovations like fuzzy search and an 80°C safety cutoff.

02

The project was developed in sprints (A1–A7 for hardware/firmware, L1–L7 for server/network), each with clear goals, tests, and documented difficulties. The final documentation was over 100 pages.

Lessons Learned

Hardware debugging is humbling

Swapped resistors, wrong-pin soldering and sensor calibration taught me patience and attention to detail.

Full-stack means full responsibility

From PCB to PHP, every layer had to work together - one bug anywhere breaks everything.

Documentation is a skill

Writing 100+ pages of structured documentation with user stories, diagrams and test results was as challenging as the code.

Security matters from day one

Fail2Ban, SSL, UFW and prepared statements taught me to think about security at every layer.