This project aimed to develop a system that monitors and calculates the moisture level of potted plants throughout my home. Using Soil Moisture Sensors and a Raspberry Pi, the system communicates via wires using serial signals and through Wi-Fi. The data is then displayed on an easily accessible website.
- Raspberry Pi 3b
- Teensy 3.2 microcontroller
- ESP8266 Wi-Fi MCU
- Capacitive Soil Moisture Sensors
- C programming for server communication
- HTML and CSS for the website
The system involves multiple soil moisture sensors connected to a Teensy 3.2, which reads the sensor data and transmits it to a Raspberry Pi via the ESP8266 Wi-Fi MCU. The Raspberry Pi acts as a web server, storing the sensor data and displaying it on a website. The system ensures accurate monitoring by calibrating the sensors and converting raw data into readable moisture levels.
This setup allows for real-time monitoring of soil moisture levels, helping to prevent both underwatering and overwatering of plants. The data collected can be accessed through a web interface, providing users with an easy way to check the moisture status of their plants.
One of the main challenges was designing a cost-effective system that could monitor multiple plants without overwhelming the home Wi-Fi network. Initial ideas involved individual Wi-Fi modules for each sensor, but this was impractical. Instead, a centralized system with multiple sensors connected to a single Teensy was implemented, reducing costs and network load.
Another challenge was ensuring the accuracy of the sensors. By calibrating each sensor individually and implementing a conversion formula, the system provides reliable moisture readings. Additionally, solid core wiring was used for durability and ease of installation.
The Soil Moisture Level Monitoring System has proven useful for maintaining the health of potted plants by providing timely and accurate moisture level data. This helps in preventing plant stress caused by improper watering, ultimately promoting healthier plant growth.