🌱
hydroMazing
Open-Source Smart Garden System

Build a garden that thinks.

hydroMazing is a fully open-source smart garden system built with Raspberry Pi and Arduino. It makes localized, data-driven decisions about your growing environment — so you don't have to.

🌡️
Temp & Humidity
DHT sensors
💡
Light Intensity
BH1750 sensor
💧
Water Level
Float sensors
⚗️
pH & EC
Nutrient monitoring

How hydroMazing works.

hydroMazing uses a two-tier architecture: an Arduino controller handles real-time sensor readings and appliance control, while a Raspberry Pi runs the web interface, data logging, and notification system.

Everything runs locally on your network. No cloud dependency. No subscription fees. Your data stays yours.

Open Source Local-First Modular
🧠
Arduino Nano
433MHz transmitter, sensor reader, relay control
🥧
Raspberry Pi
Web dashboard, MySQL logging, notifications
📱
Web Dashboard
Real-time monitoring, alerts, analytics

The algorithm.

hydroMazing uses a smart decision-making system called TheDecider to automatically control appliances based on sensor data. Instead of static thresholds, TheDecider uses configurable ranges and relationships between variables to make intelligent decisions.

For example, if the light is on but temperature gets too high, TheDecider will automatically turn on the exhaust fan — and only turn it off when temperature returns to the optimal range.

TheDecider supports:

  • Temperature, humidity, light, and CO₂ monitoring
  • Appliance chaining (fan only activates when light is on)
  • Hysteresis bands to prevent rapid cycling
  • Schedule-based and sensor-based triggers
TheDecider rules
// Appliance definitions
Appliance Appliance_Light_1 = {101, 1, APPLIANCE_LIGHT, 12h, true, false, OFF, NULL};
Appliance Appliance_ExhaustFan = {103, 1, APPLIANCE_EXHAUST_FAN, 30m, true, false, OFF, &Appliance_Light_1};

// Sensor definitions with thresholds
Sensor Sensor_Temp = { PIN7, 1, SENSOR_TEMPF, 50, 70, 80, 0, 75, &Sensor_PhotoCell };

// TheDecider logic
if (temp > 80°F && lightIsOn) {
activate(ExhaustFan);
} else if (temp < 75°F) {
deactivate(ExhaustFan);
}

How everything connects.

Arduino Nano Connections

A0 Photocell / Light sensor
D2-D7 DHT22 temperature/humidity
D8-D13 Dallas temperature sensors
D10 nRF24L01 CE
D11 nRF24L01 MOSI
D12 nRF24L01 MISO
D13 nRF24L01 SCK

433MHz Appliance Control

Use a 433MHz RF transmitter to control wireless AC outlets. Capture codes from your existing remotes using the RCswitchReader.ino sketch.

  • Compatible with 3-5 pack wireless outlets
  • Uses RCSwitch library for Arduino
  • Can also use direct relay/MOSFET control

Hydroponics Sensors

Analog sensors for nutrient solution monitoring connected to A0-A3 pins.

  • pH probe with Atlas Scientific circuit
  • EC/TDS probe for nutrient concentration
  • Water level float switches
  • Flow rate sensors for circulation monitoring

What hydroMazing does.

🌡️

Environmental Monitoring

Real-time tracking of temperature, humidity, light intensity, and more — all displayed on your local dashboard.

Automated Control

Automatically control fans, heaters, water pumps, and lights via 433MHz remote-controlled AC outlets or direct relay connections.

💧

Hydroponics Support

Monitor nutrient pH, EC levels, water temperature, and reservoir levels. Automated dosing and top-off systems supported.

📊

Data Logging

MySQL database stores all sensor readings for historical analysis, trend charts, and optimization insights.

🔔

Smart Alerts

Email or SMS notifications when conditions fall outside your defined thresholds — know immediately when something's wrong.

📷

Time-Lapse Camera

Optional USB webcam support for automated growth documentation and time-lapse video generation.


Core components.

🧠

Arduino Nano Controller

The brain of the operation
Microcontroller Arduino Nano (ATmega328P)
Wireless Control 433MHz transmitter module
Communication USB serial to Raspberry Pi
Power 5V via USB or VIN pin
Outputs 433MHz AC outlets, relays, servos
🥧

Raspberry Pi Web Services

Dashboard & data hub
Model Raspberry Pi 3/4/5 (any model)
Web Server Apache 2 with PHP
Database MySQL / MariaDB
Interface PHP/HTML dashboard
Connectivity Ethernet, WiFi, or local-only

Monitor everything that matters.

🌡️

Temperature & Humidity

DHT11/DHT22 sensors for accurate ambient readings. Critical for climate control and VPD calculations.

DHT11 / DHT22
💡

Light Intensity

BH1750 digital lux meter for precise PAR estimation and grow light scheduling optimization.

BH1750
💧

Water Level

Floating ball sensors or ultrasonic distance sensors for reservoir monitoring and auto top-off triggers.

Float / HC-SR04
⚗️

pH Monitoring

Analog pH probe with Atlas Scientific or generic pH circuit. Essential for hydroponic nutrient management.

Analog pH probe
🔬

EC / TDS

Electrical conductivity sensor for nutrient concentration monitoring. Prevent over/under feeding.

EC / TDS probe
💨

CO₂ Levels

MH-Z19B or CCS811 for CO₂ monitoring. Optimize enrichment for maximum growth rates.

MH-Z19B

From soil to dashboard.

The Arduino reads all sensors on a configurable interval (default: every 60 seconds), packages the data, and sends it to the Raspberry Pi via USB serial connection.

The Pi's Python daemon receives the data, validates it, and inserts it into the MySQL database. The PHP dashboard queries the database to display real-time values and historical charts.

hydroMazing data flow
# Arduino reads sensors (every 60s)
float temp = dht.readTemperature();
float humid = dht.readHumidity();
float lux = bh1750.readLightLevel();

# Package as JSON-like string
{"t":22.5,"h":65.2,"l":450}

# Send via serial to Pi
Serial.println(payload);

# Pi daemon receives & logs
INSERT INTO sensor_data (temp, humidity, light) VALUES (22.5, 65.2, 450);

# Dashboard queries latest
SELECT * FROM sensor_data ORDER BY timestamp DESC LIMIT 1;
🌿

Ready to build your own hydroMazing system?

Full documentation, wiring diagrams, Arduino firmware, and Raspberry Pi setup scripts are available. Start small and scale up as you go.

View on GitHub → Browse Guides
🌱

About hydroMazing

hydroMazing was built by Cory Potter at CoreConduit as a fully open-source alternative to cloud-dependent smart garden systems. The philosophy is simple: your garden data should live where you can see it, on hardware you control, with software you can modify.

Learn More GitHub