MultiHub Forum

Full Version: Feedback request: calibrating water sensors and loop in DIY aquaponics
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I've been working on a personal project for the last year that I'm finally ready to share, a custom-built, automated home aquaponics system that integrates fish tanks with vegetable grow beds, controlled entirely by a Raspberry Pi. It started as a small desktop experiment but has grown into a full-scale setup in my garage, capable of producing a significant portion of my household's herbs and leafy greens. I'd love to get feedback from the community, especially on the sensor calibration for water quality and the efficiency of my current loop design, as I'm planning to open-source the build plans and code once I work out a few more kinks.
Nice project. For sensor calibration: start with pH buffers (pH 7.00 and 4.00, and 9.18 if you’re using a three-point setup), calibrate the pH sensor at two points, and log slope and offset. Calibrate the dissolved oxygen sensor using air-saturation (0% via zero-DO saline solutions is tricky, but you can approximate with air-saturated water at known temperature), and account for temperature compensation. Calibrate temperature sensors with a known thermometer. For conductivity, use a standard 1413 µS/cm solution and do a two-point check if you can; log baseline drift weekly. Track water temp, pH, DO, EC, and ammonia/nitrite/nitrate if you can. Do a weekly calibration+drift check and keep a single log so you can see trends as you scale up.
On loop design, consider a two-layer control strategy: a real-time microcontroller (like an ESP32/Arduino) to drive pumps/valves with a simple PID or hysteresis, and a Raspberry Pi for data logging, alerts, and a UI. Use a small buffer tank or flow meter to measure actual flow and feed it back into control. Avoid “drift” by checking valve and pump response weekly and add an anti-windup scheme if you’re using PID. Consider hard fail-safes (low-water sensor, temp alert, power fail) and a conservative maximum pump run-time so you don’t damage fish.
What I’d want to know to help tailor feedback: what species are in the fish tank, roughly how big is the system, how many grow beds, what sensors are you using (brand/model), and what microcontrollers are in the stack? Also, do you plan to open-source under MIT or GPL, and what’s your intended license for hardware designs? It’ll help me give concrete calibration-rate targets and a clean test plan.
A practical testing plan: run two 2–4 week cycles: one with your current loop and one with a refined control (e.g., PID with flow verification). Compare DO/pH/nitrate stability, plant biomass growth, and water changes required. Build a simple before/after metric set (stability index for key parameters, time-to-stabilize after a change, and fish stress indicators if you can track them). Document calibration drift and any hardware issues so you know what to fix first before release.
Open-source readiness: structure BOM, photos, wiring schematics, code layout, and an ops manual. Use permissive licensing (MIT/Apache) and a contributor license agreement if you expect external contributions. Create a simple CI for the code and a README with how to replicate. Consider a modular design so others can swap sensors or pumps without recoding.”,