WateringSystem
WateringSystem is a sophisticated automated irrigation and environmental monitoring solution built on a dual-processor architecture. By offloading time-critical sensor acquisition and hardware control to an Arduino Uno and dedicated networking tasks to an ESP32, the system achieves high reliability and 'headless' operational simplicity. I designed a robust communication bridge between the 5V and 3.3V domains using a Logic Level Shifter to ensure signal integrity for the UART-based data exchange. This allows the ESP32 to serve as a high-level JSON API gateway while the Arduino handles low-level MOSFET switching and sensor polling. To ensure system resilience, user-defined thresholds are stored in the Arduino’s EEPROM, ensuring that irrigation logic remains intact even after power cycles. The system features a modern responsive dashboard served directly from the ESP32's LittleFS filesystem with a Captive Portal for zero-configuration access and real-time environmental updates via the Fetch API.
Gallery



