Making water out of thin air so your plants never have to ask. An automated, self-hydrating monitoring system that turns humidity into hydration. Just add power. ⚡
A system to monitor small plant soil moisture levels and condense water out of the air on-demand when needed.
- Board: Waveshare ESP32-S3-Touch-LCD-2.1 — ESP32-S3R8 (Xtensa LX7 dual-core, 16 MB flash, 8 MB octal PSRAM).
- Display: 2.1" 480×480 round IPS, ST7701S controller over a 16-bit RGB parallel bus.
- Touch: CST816 capacitive controller (I2C).
- A TCA9554 I2C GPIO expander handles LCD reset / chip-select, touch reset, and the on-board buzzer.
The firmware is a no_std Embassy application written in
Rust, living in firmware/. It uses esp-hal for the ESP32-S3,
esp-rtos for the async executor, and embedded-graphics for drawing.
Because the ESP32-S3 is an Xtensa target, it builds with the esp Rust toolchain
fork (installed via espup) and is flashed
with espflash.
cd firmware
# PSRAM (the framebuffer) requires a release build.
cargo build --release
# Flash the connected board and open a serial monitor.
espflash flash --monitor --chip esp32s3 --port COM3 \
target/xtensa-esp32s3-none-elf/release/dew-firmwareSee CLAUDE.md for the full toolchain setup, the board pin map, and
architecture notes.
See LICENSE.