OPNhydro
Summary
OPNhydro (github.com/cvonk/OPNhydro) is "a fully autonomous, data-rich hydroponics automation system with precision control and remote monitoring," built around an ESP32-C6 running ESPHome firmware. It delivers full water-quality monitoring (pH, EC/TDS, temperature), environmental monitoring (air temperature/humidity, light intensity in lux/PPFD, VPD), automatic dosing of pH down (and optionally pH up) plus two-part A/B nutrients, and automatic top-off via ultrasonic level sensing with user-approved filling. A defining design decision is standalone operation: local automation continues on-device even if Home Assistant goes offline, with float-switch interlocks, dosing limits, and timeout protection as safety scaffolding. The repository is unusually complete for a solo project: ESPHome YAML configuration, Home Assistant automations, a hardware architecture document with pin assignments, a priced bill of materials, a schematic design guide, and KiCad PCB project files. License: GPL-3.0. Actively maintained, with pushes through May 2026.
Guiding Principles
- Open Source — GPL-3.0 across firmware, automations, and KiCad hardware; priced BOM invites replication.
- Modularity — ESPHome's declarative configuration makes sensors, dosing channels, and interlocks composable.
- Transferable Skills — ESPHome/ESP32, PCB design in KiCad, and control-safety patterns all transfer to professional embedded work.
Learning Outcomes & Transferable Skills
Builders gain Electronics (schematic reading, PCB fabrication from KiCad files, float-switch interlock design), Coding (ESPHome YAML, Home Assistant automations), Water Chemistry (pH/EC management with bounded dosing), and Data Literacy (VPD, PPFD, and time-series interpretation). The offline-first safety architecture is a lesson in designing automation that fails safely — rare in hobby projects.
How to Replicate or Build On It
- Clone
https://github.com/cvonk/OPNhydro; readhardware/ARCHITECTURE.mdandhardware/BOM.mdbefore buying anything. - Fabricate or hand-wire per
hardware/SCHEMATIC_DESIGN.mdand the KiCad project. - Copy
esphome/secrets.yaml.example, configure, and flashhydroponics-controller.yamlto an ESP32-C6 via ESPHome. - Import
home-assistant-automations.yaml; verify standalone behavior by taking Home Assistant offline during testing.
Considerations & Constraints
- Cost: Medium — BOM is priced in-repo; pH/EC probes and dosing pumps are the main expenses.
- Skill Level: Advanced — PCB assembly, ESPHome, and Home Assistant experience assumed.
- Space/Climate: Indoor/greenhouse reservoir systems; sensor suite sized for a single reservoir.
- Tools Required: ESP32-C6 board, ESPHome toolchain, soldering/PCB assembly, Home Assistant instance (optional but integrated).
- Ongoing Maintenance: Probe calibration, nutrient reservoir refills, dosing-pump upkeep.
- Access Barriers: Very small community (1 star at verification) — limited peer support; English only.
Prerequisites
ESPHome and Home Assistant basics; safe low-voltage wiring practice.