System Overview — Hardware Architecture
IrrigEngine runs on the M5Stack STAMP PLC S3A — a compact industrial PLC built around the ESP32-S3. It controls solenoid irrigation valves either through its onboard relays or through remote Wireless RS485 IO Scanner slave boards spread across the field. All components are configured and monitored through the built-in web interface over WiFi.
Browser / Phone
Web UI · MQTT Dashboard
↕ WiFi (HTTP polling · MQTT)
STAMP PLC S3A · Main Controller
ESP32-S3
WiFi · Web Server
RTC
Timekeeping · NTP sync
8× Digital Inputs
5–36 VDC sensors
4× Onboard Relays
5A @250 VAC
RS-485 / Modbus
Up to 32 slave boards
1.14" LCD · Buzzer
Local status display
⚡ Onboard Relays (×4)
Each relay: N.O. · COM · N.C.
5A @250 VAC · 5A @28 VDC
🔌 Wireless RS485 IO Scanners
Up to 32 slave boards · DC 8–25V · TDI/DIO protocol
↓ 24 VAC solenoid wiring (2-wire per valve)
Zone 1
Solenoid Valve
Zone 2
Solenoid Valve
Zone 3
Solenoid Valve
…
Up to 16 Zones
Hardware Components
M5Stack STAMP PLC S3A
The brain of the system — a DIN-rail-ready industrial PLC powered by ESP32-S3.
- CPU
- ESP32-S3, 240 MHz
- Inputs
- 8× digital, 5–36 VDC
- Relays
- 4× (N.O./COM/N.C.) 5A
- Comms
- WiFi · RS-485 · CAN · Grove
- Display
- 1.14" color LCD
- Extras
- RTC · LM75 temp · TF-card · Buzzer
Solenoid Irrigation Valves
Standard 24 VAC or 12 VDC latching/non-latching valves that open and close each irrigation zone.
- Type
- N.O. or N.C. solenoid
- Voltage
- 24 VAC (typical)
- Wiring
- 2-wire to relay COM + N.O.
- Config
- Set Valve Type in Output tab
- Control
- One valve per relay channel
Wireless RS485 IO Scanners
Remote relay/input modules connected via RS-485 Modbus, extending control across the field without long relay wire runs.
- Protocol
- Modbus RTU over RS-485
- Slaves
- Up to 32 per RS-485 bus
- Power
- DC 8–25 V
- Channels
- Multiple relay + DI per board
- Config
- Set Scanner + Sub ID in Output tab
Wiring Quick Reference
| Connection | From | To | Notes |
|---|---|---|---|
| Solenoid valve (direct) | RELAY N.O. + COM | Valve solenoid wires | Set Valve Type = NORMAL_CLOSED in UI |
| Solenoid valve (scanner) | IO Scanner relay | Valve solenoid wires | Select Scanner + Sub ID in Output tab |
| RS-485 bus | STAMP PLC PWR-485 (A/B) | IO Scanner A/B terminals | Daisy-chain all slaves; 120Ω terminator at far end |
| Digital input (sensor) | STAMP PLC IN 1–8 | Rain / flow sensor | 5–36 VDC; configure as Condition in zone settings |
| Power supply | 12–24 VDC PSU | STAMP PLC + / − | Separate 24 VAC transformer for valve solenoids |
Key Features
IrrigEngine is a flexible, web-based irrigation controller that runs on an ESP32 microcontroller. It lets you manage up to 16 irrigation zones, each with independent schedules, outputs, sensors, and conditions — all configurable from any browser on your local WiFi network.
Up to 16 Zones
Independent control of each irrigation circuit
3 Schedule Modes
Time-of-day, Humidity-triggered, or Interval
Modbus / IO Scanner
Connect remote relay boards and sensor modules
Smart Conditions
Boolean & numeric gate logic before running
MQTT Integration
Remote monitoring and command via broker
Backup & Restore
Download and upload full configuration files
Seasonal Factor
Scale run-time per schedule (e.g. 80% in autumn)
Run History
Per-zone log with result and exact duration