Agriculture, or farming, is the science of cultivating the soil, growing crops, and raising livestock. Ever since the days of the first plow from sticks over ten thousand years ago, agriculture has always depended on technology. As technology and science improved, so did the scale at which farming was possible. With the popularity and growth of the Internet of Things (IoT) in recent years, there are even more avenues for technology to make agriculture more efficient and help farmers in every nation. In this paper, we designed a smart IoT-enabled drip irrigation system using ESP32 to automate the irrigation process, and we tested it. The ESP32 communicates with the Blynk app, which is used to collect irrigation data, manually water the plants, switch off the automatic watering function, and plot graphs based on the readings of the sensors. We connected the ESP32 to a soil moisture sensor, temperature sensor, air humidity sensor, and water flow sensor. The ESP32 regularly checks if the soil is dry. If the soil is dry and the soil temperature is appropriate for watering, the ESP32 opens a solenoid valve and waters the plants. The amount of time to run the drip irrigation system is determined based on the flow rate measured by the water flow sensor. The ESP32 reads the humidity sensor values and notifies the user when the humidity is too high or too low. The user can switch off the automatic watering system according to the humidity value. In both primary and field tests, we found that the system ran well and was able to grow green onions.