← Back to projects

Personal project ·Jun 2026 ·Design, assembly and programming: hardware, firmware and web dashboard

Automatic watering system

A system that measures the moisture of a plant pot's soil and waters only when needed. An ESP32 controls the sensor and the pump, and serves its own web dashboard to monitor and adjust it from a phone.

Screenshot of Automatic watering system

The detailed case study is available in Spanish.

Logros

  • Riego por ciclos de 30 s con pausa de absorción hasta el umbral
  • Umbrales ajustables desde la web que sobreviven a un reinicio
  • Panel web en el propio ESP32 con histórico de 48 h en Chart.js
  • Bomba gobernada sin relé, con transistor y diodo de protección

Contexto

Proyecto personal para automatizar el riego de las plantas de casa: medir la humedad real de la tierra en lugar de regar a ciegas por horario, y poder controlarlo desde el móvil.

Mi rol

Lo hice de principio a fin: elegí y monté los componentes, programé el firmware en C++ con Arduino IDE y diseñé el panel web que sirve el propio ESP32.

Qué construí

Lógica de riego

El sensor mide la humedad cada hora. Si está por debajo del mínimo (30 % por defecto), la bomba riega 30 segundos, se detiene un minuto para que la tierra absorba el agua y vuelve a medir; repite el ciclo hasta llegar al máximo (70 % por defecto). Entre los dos umbrales no hace nada y espera a la siguiente medición.

Panel web

El ESP32 sirve una web en la red local con la humedad actual y el estado, control manual (iniciar y parar el riego en cualquier momento), los umbrales configurables y un gráfico con las últimas 48 lecturas hecho con Chart.js. La interfaz se actualiza cada 5 segundos. Los umbrales se guardan en la memoria del ESP32 y se conservan aunque se reinicie; el histórico se borra al reiniciar.

Hardware

  • Microcontrolador ESP32
  • Sensor de humedad del suelo resistivo con módulo LM393 (salida analógica)
  • Bomba sumergible JT-DC3V-4.5 (3–5 V, 180 mA) controlada sin relé: transistor 2N2222A con diodo de protección (flyback) 1N4007

Resultado

El riego funciona de forma autónoma y se puede vigilar y ajustar desde cualquier dispositivo de la red de casa.

Qué demuestra

  • Capacidad de llevar un sistema completo de la idea al funcionamiento: electrónica, firmware y web
  • Traducir una regla de negocio (regar solo cuando hace falta, sin encharcar) a una máquina de estados
  • Persistencia de configuración y diseño de una interfaz de control sencilla

Looking for someone to do this in your company?