Inspiration
The Greenhouse Butler project draws inspiration from the growing need for smart agriculture solutions in the face of climate change and resource scarcity. Observing how small-scale farmers and hobby gardeners struggle with manual monitoring of environmental conditions in greenhouses, which often leads to suboptimal plant growth or crop losses, motivated this embedded system. Basic Arduino experiments, such as interfacing DHT11 sensors for temperature and humidity, using switches for user input, and voltage dividers for analog measurements (as detailed in the provided documents), served as foundational building blocks. These simple setups highlighted the potential to integrate multiple sensors into a cohesive system that automates monitoring and alerts, ultimately aiming to make greenhouse management more efficient and accessible, even in remote or pollution-prone areas.
What it does
The Greenhouse Butler is an embedded Arduino-based system that monitors key environmental parameters in a greenhouse: temperature, humidity, soil moisture, light intensity, and pollution rate based on surrounding climate conditions. It collects real-time data from integrated sensors and displays the readings on an I2C LCD screen for on-site visibility. If connected to a phone via Bluetooth or Wi-Fi, the system sends alert messages (e.g., via SMS or app notifications) when parameters exceed predefined thresholds, such as high pollution levels or low soil moisture, enabling users to take timely action. This setup promotes optimal plant growth by maintaining a stable microclimate, reducing water waste, and alerting to potential issues like excessive heat or air quality degradation.
How we built it
We started with core components from basic Arduino experiments. The DHT11 sensor was interfaced to measure temperature and humidity, connected to digital pin 2, with data processed and displayed on a 16x2 I2C LCD using libraries like DHT.h and LiquidCrystal_I2C.h. For user interaction, we incorporated a pushbutton switch on pin 2 to toggle modes or reset the system, controlling an LED on pin 13 for status indication. For soil moisture, we used a capacitive soil moisture sensor; for light intensity, a Light Dependent Resistor (LDR); and for pollution rate (assessing air quality based on surrounding climate factors like CO2, smoke, or harmful gases), an MQ-135 gas sensor—all integrated as analog sensors using a voltage divider circuit connected to analog pin A0 (and additional pins for multiple sensors), stepping down voltages to the 0-5V range and calculating readings via ADC conversion with resistors (e.g., 10kΩ each). The system was expanded with an ESP32 or HC-05 Bluetooth module for phone connectivity to send messages. All code was combined into a single Arduino sketch, running in a loop to read sensors every 2 seconds, display on LCD, and trigger alerts if needed. Power was supplied via USB or external 5V, ensuring portability.
Challenges we ran into
Integrating multiple sensors posed compatibility issues; for instance, the DHT11's digital output worked seamlessly, but analog sensors like soil moisture required precise voltage divider calibration to avoid inaccurate readings due to resistor tolerances or noise, as seen in the voltage divider document's ADC calculations. Managing power consumption was tricky, especially with added wireless modules for phone connectivity, leading to battery drain in prototypes. Debugging sensor failures (e.g., NaN values from DHT11 if connections were loose) and ensuring reliable Bluetooth pairing for message alerts consumed time. Additionally, incorporating pollution rate monitoring based on climate data required mapping sensor outputs to meaningful rates, complicated by environmental variables like varying air quality scales.
Accomplishments that we're proud of
We're proud of creating a fully functional prototype that combines basic experiments into an advanced system, successfully monitoring five parameters and providing both local display and remote alerts. Achieving accurate real-time data processing on a low-cost Arduino setup, with error handling (as in the DHT11 code's isnan checks), demonstrates robust design. The system's scalability—starting from simple switch-LED interactions to IoT-enabled notifications—highlights our ability to iterate effectively. Most notably, it has potential real-world impact, like helping reduce crop failure in pollution-affected areas, all built affordably with off-the-shelf components.
What we learned
Through this project, we gained hands-on expertise in embedded systems, including sensor interfacing (digital vs. analog), ADC conversions via voltage dividers, and I2C communication for LCDs. We learned the importance of pull-down resistors for stable inputs (from the switch document) and error checking in code to handle sensor failures. Integrating wireless connectivity taught us about data transmission protocols and power optimization. Overall, it reinforced how basic Arduino experiments can scale to solve complex problems in agriculture, emphasizing iterative testing and calibration for reliability.
What's next for Greenhouse Butler/Agricultural work Assistant
Future enhancements include adding automation actuators, such as relays for fans, heaters, or irrigation pumps, to not just monitor but actively control the environment (e.g., auto-watering on low soil moisture). We'll integrate AI via a connected app for predictive analytics, like forecasting pollution impacts on crops. Expanding to cloud integration (e.g., via ESP32 Wi-Fi) for data logging and multi-greenhouse management is planned. Finally, we'll test in real agricultural settings to refine pollution rate algorithms and explore solar powering for off-grid use, evolving it into a comprehensive agricultural assistant.


Log in or sign up for Devpost to join the conversation.