Introduction
Hello everyone 👋, this is a project I made because I was tired of losing plants to my own inability to take care of them. While there are preexisting systems available that'll automatically water your plants for you, I wanted to develop something that was a little more harrowing.
With that in mind, I present Project Scream. In short, this system uses an Adafruit STEMMA Soil Sensor to read the moisture of the soil. When the moisture falls below a user-determined minimum value, an audio will be played through the speaker.
If you're interested in seeing some of the videos I've made about this project, here are the links:
- https://www.tiktok.com/@bluehandcoding/video/7262019761364569387
- https://www.tiktok.com/@bluehandcoding/video/7261308278628437294
Code & Circuit Preparation
Prior to printing any models or setting up any development environments, ensure familiarity with the Arduino IoT Cloud platform. Furthermore, ensure that you've registered the XIAO ESP32S3 as a device.
// thingProperties.h
...
const char DEVICE_LOGIN_NAME[] = "XXXXXXXXXXX";
const char SSID[] = "XXXXXXXXXXX"; // Network SSID (name)
const char PASS[] = "XXXXXXXXXXX"; // Network password (use for WPA, or use as key for WEP)
const char DEVICE_KEY[] = "XXXXXXXXXXX"; // Secret device password
...
The first thing is to configure your SSID and password so that the board can connect to the cloud. Other than that there isn't much to change with the code.

Apologies for the messy circuit diagram. One thing to note is that while the board in the image reads as an ESP32C3, the wiring is same for a ESP32S3 for the pins. Finally, the leads of the battery need to be soldered to the contact pads on the underside of the board.
Project Images
The following gallery shows how the system can be hooked onto to pots and connected to via the Arduino IoT Cloud.




EXPANDED TECHNICAL DETAILS
Bio-Electronic Feedback
The "Screaming Plant" project gives a voice to your greenery by translating biological stress into audible sound.
- Capacitive Moisture Sensing: Uses a corrosion-resistant capacitive probe to measure soil hydration. When the moisture level drops below a "Health" threshold, the Arduino triggers the alert state.
- Audio Output: A Piezo Buzzer or a small loudspeaker generates a high-pitched "Scream" or a siren sound to catch the owner's attention.
IoT Connectivity
- Arduino IoT Cloud: The status of the plant (Happy vs. Thirsty) is synced to a cloud dashboard.
- Notification Logic: Beyond the local sound, the system sends an email or a push notification to the user's phone, ensuring that even if you aren't in the room, the plant's "cry for help" is heard globally.