Analysis updated 2026-05-18
Build a smart garden monitor that texts you on Telegram when your plants need watering.
Set up a custom webhook to log temperature, humidity, and soil voltage data to your own server.
Create a multi-channel alert system using Discord and Telegram to monitor soil in remote planters.
Monitor environmental conditions in a greenhouse using battery-powered sensors that wake up on a timer.
| d7main/esp32_environmentalnode | blackcoffee2/prome | danusha2345/adrc-betaflight | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | C | C | C |
| Setup difficulty | hard | moderate | hard |
| Complexity | 4/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing the ESP-IDF toolchain and physically wiring multiple sensors to an ESP32-C3 microcontroller.
This project is firmware for a small, low-power device that monitors environmental conditions and sends alerts when soil moisture drops below a chosen level. It runs on an ESP32-C3, a tiny microcontroller, and is built using the native ESP-IDF toolchain rather than the Arduino framework. The device spends most of its time asleep, wakes up on a timer (by default every 30 minutes), reads its sensors, checks whether the soil is too dry, sends notifications if needed, then goes back to sleep to conserve battery. The sensors it supports are a capacitive soil moisture probe, a BMP280 for temperature and barometric pressure, and a DHT22 for temperature and humidity. The soil moisture reading is calculated as a percentage using two calibration points you set yourself: one taken with the sensor in dry air, and one with the tip submerged in water. Those calibration values, along with your Wi-Fi credentials, alert settings, and threshold percentage, are saved in nonvolatile storage so they persist across reboots and power loss. Alerts can go out over three independent channels: a Telegram bot, a Discord webhook, or a custom webhook that receives a JSON payload with full sensor data. Each channel operates on its own, so if one fails the others still send. The custom webhook posts temperature, humidity, soil voltage, and a message. All requests use a 6-second timeout. Configuration is handled through a web portal that the device hosts on demand. You hold the BOOT button for at least 3 seconds, the device creates a temporary Wi-Fi network, and you connect with a phone or laptop to fill out a form at a local address. On first boot the device launches this portal automatically since no settings exist yet. While the portal is open, live sensor readings refresh every 7 seconds so you can check values and run calibration in real time. The project targets the ESP32-C3 Super Mini dev board with 2 MB of flash. GPIO assignments for the sensors, button, and power gate are defined in a config header, with a note that GPIO2 is a strapping pin tied to boot mode and should be handled carefully. The full README is longer than what was shown.
Firmware for a tiny, battery-powered device that monitors soil moisture, temperature, and humidity, sending alerts to Telegram, Discord, or a custom webhook when the soil gets too dry.
Mainly C. The stack also includes C, ESP-IDF, ESP32-C3.
The explanation does not mention a license, so the terms of use are unknown.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.