How to use the pH Monitor
Log your pH from CO₂-on to lights-on and watch your dissolved CO₂ build in real time. This guide walks through setup, what each column means, how to read the status badges, and what to expect from a typical session.
Planted aquariums need dissolved CO₂ to drive plant growth, but the margin between effective and dangerous is narrow. Too little and plants stagnate; too much and fish show stress, gulp at the surface, or worse. The problem is that you cannot measure dissolved CO₂ directly with a consumer test kit. What you can measure is pH — and pH tracks CO₂ closely enough that logging it at regular intervals gives you a reliable picture of what's happening in the water column.
The AquaCalc pH Monitor turns that log into a live dashboard. Every reading you enter triggers a CO₂ estimate, a progress bar, and a colour-coded status badge. By the time your lights come on you have a complete record of the session — one you can share, review, and compare to future sessions to dial in your needle valve.
Step 1 — Set up your tank profile
Before you log a single reading, fill in the Tank inputs panel on the right side of the dashboard. These values are saved to your profile automatically and carried into every calculation:
- KH (dKH) — your carbonate hardness. The KH/pH formula uses this to convert pH into a dissolved CO₂ figure. If you use aquasoil and don't know your KH reliably, use pH drop mode instead (see below).
- Tank volume — used by the dosing and water change calculators; not directly needed for CO₂ logging but worth filling in now.
- Target CO₂ (ppm) — typically 20–30 ppm for a planted tank. This is what the progress bar and status badges count toward.
- Danger limit (ppm) — the CO₂ level at which the tool fires a red DANGER alert. 40 ppm is the commonly cited threshold for fish stress; lower it if your stock is sensitive.
- Temperature — affects CO₂ solubility. The KH/pH formula is temperature-sensitive; a reading at 24°C and the same reading at 28°C represent different actual CO₂ levels.
Step 2 — Log your overnight pH first
The single most important reading of any session is the one you take before CO₂ turns on — ideally first thing in the morning before lights come on, after the CO₂ has been off all night. This is your baseline. The tool labels the first row CO₂ on and uses that pH as the reference point for everything that follows.
"Your overnight pH is the anchor for the whole session. A stable overnight pH — the same reading morning after morning — is a sign that your tank's buffering capacity is well understood."
If you use the pH drop method (for aquasoil tanks where KH is unreliable), this overnight reading is even more critical: the entire CO₂ estimate is derived from how far pH has dropped from that baseline.
Step 3 — Generate the log table
At the top of the pH reading log, set three things:
- CO₂ on at — the time you switch your CO₂ on (or your solenoid opens). The table generates time slots from this point forward.
- Interval — 15, 30, or 60 minutes between readings. 30 minutes is the most common choice; it gives you enough resolution to see the curve without requiring you to be at the tank constantly.
- Slots — how many rows to generate. 8 slots at 30-minute intervals covers 4 hours, which is enough for a CO₂-on-to-lights-on window in most setups.
Hit Generate. The table fills with empty rows, each labelled with a time. The first row defaults to CO₂ on; you can change any row's event type using the dropdown.
What to enter and when
At each interval, check your pH meter and type the reading into the row for that time. Press Tab to move to the next row — the cursor jumps automatically. The row calculates immediately: you'll see the estimated CO₂, the pH drop from baseline, the progress bar, and the status badge update as you type.
You don't need to enter every row. If you miss a slot, leave it blank — the tool skips blank rows in calculations and the next reading you enter picks up from where the last one left off.
Marking events
Use the Event dropdown on any row to mark what happened at that point in the session. Options:
- CO₂ on — the first row; CO₂ entering the water.
- pH reading — a standard interval reading with nothing notable happening.
- Lights on — mark the row where your lights come on. Plants begin consuming CO₂ immediately; you'll often see the pH drop slow or reverse from this point.
- CO₂ off — mark when your solenoid closes. Useful if your CO₂ turns off before lights-out and you want to track the recovery curve.
- Lights off — end of the photoperiod.
The CO₂ curve — what to expect
A typical planted tank CO₂ session follows a predictable curve, and understanding its shape helps you interpret the readings rather than just recording numbers.
When CO₂ first turns on, dissolved levels in the water are near zero — all the CO₂ from the previous day has offgassed overnight. The gas dissolves quickly into the water column and pH drops at its fastest rate in the first 30–60 minutes. This is the Building phase.
As dissolved CO₂ climbs, the rate of dissolution slows. The water becomes increasingly saturated and the equilibrium between CO₂ entering via the diffuser and CO₂ escaping at the surface begins to balance out. The pH drop that looked dramatic in the first hour flattens to a gentle slope. This is the Approaching phase — the curve is still heading in the right direction, just more slowly.
"CO₂ does not build linearly. The first hour looks dramatic; the second hour looks flat. If you only see fast drops you're still in early build-up. If the drops have slowed to a crawl, you're close to your equilibrium point."
Once you hit target, CO₂ levels stabilise. The needle valve is holding a steady flow and the water is at saturation for that flow rate. This is At target — the badge turns green and holds there as long as your CO₂ supply and agitation are consistent.
When lights come on, plants begin photosynthesising and consuming CO₂ directly. You'll typically see pH stop falling or even tick up slightly in the first few readings after lights-on. This is normal — the plants are helping maintain CO₂ levels by using what's dissolved. In a heavily planted tank with strong light, the consumption can be significant enough to require a higher CO₂ flow rate to maintain target levels through the photoperiod.
Reading the status badges
Every row shows a status badge that tells you where you are relative to your target. For the KH formula mode:
- Building — CO₂ is rising but still well below target. Normal for the first 30–60 minutes.
- Approaching — past 70% of target. Getting close; start watching more carefully.
- ✓ At target — within 5% of your target CO₂. This is where you want to be through the photoperiod.
- Over target — CO₂ has exceeded your target ppm. Consider easing the needle valve slightly.
- DANGER >40ppm — CO₂ has exceeded the danger threshold. Fish may be stressed. Turn down CO₂ and increase surface agitation immediately.
In pH drop mode, the same progression applies but based on percentage of your target pH drop rather than absolute CO₂ ppm. The badges run: Starting → Building → Approaching → Nearly there → ✓ At target.
KH formula vs pH drop — which to use
The tool offers two calculation modes, selectable in the Tank inputs panel:
KH / pH formula
Uses the standard carbonate chemistry equation to convert your KH and measured pH into a dissolved CO₂ figure in ppm. This is the most accurate method when your KH is stable and reliably measured. It works well with hard tap water and gives you an absolute CO₂ reading at every time slot.
The main limitation: aquasoil and other CEC substrates actively absorb and release ions, making KH readings unstable and unreliable. If your KH changes week to week despite no water changes, the formula will give misleading results.
pH drop method
Ignores KH entirely and measures CO₂ build-up as a function of how far pH has dropped from your overnight baseline. You set a target pH drop (e.g. 1.0 unit) that corresponds to your target CO₂ level, and the tool tracks progress toward that drop. This method is standard practice for aquasoil tanks where KH cannot be trusted.
Your readings save automatically
Every pH value you type is saved to your browser profile as you go. If you accidentally close the tab, reload the page, or switch to your phone, your readings are still there. Nothing is lost between sessions as long as you're on the same browser and device.
Profiles are identified by an anonymous ID stored in your browser — there's no account to create, no email address required, and no data collected that identifies you.
Sharing your session
Once you have readings logged, the ↗ Share session button appears in the log controls. Click it and AquaCalc generates a unique link to a branded page showing your full session: pH and CO₂ charts, a colour-coded readings table with all your event markers, and your tank parameters. The link is valid for 90 days.
Paste it into a forum thread to get feedback on your CO₂ curve, share it with a friend who's setting up their first pressurised system, or just keep it as a record of a dialled-in session.