Control console
CO2 dosing calculator
151 litres of water volume
4.00 °KH = 71 ppm CaCO₃
Aim for pH 6.60 at this KH
That pH/KH combination gives a number far outside what any real tank holds — double-check your pH reading before trusting it.
Suggested starting bubble rate
5.0 bubbles / second
A starting point only — roughly one bubble per second per 30 L. Diffuser efficiency, flow, surface agitation and stocking all shift the real number. Raise by 0.5 bps every 24 hours, and always watch your fish before your drop checker.
Estimated from the pH/KH equilibrium: CO2 ppm = 3 × °KH × 10(7 − pH). Accurate only when carbonate hardness is the sole buffer in the water.
The deep dive
Reading the pH / KH / CO2 equilibrium
The curve itself
Carbon dioxide dissolves into water and forms carbonic acid, which drops pH. Your carbonate hardness resists that drop. Because the two forces balance each other, measuring both tells you how much gas is in solution without ever measuring gas: CO2 ppm = 3 × °KH × 10(7 − pH).
The exponent is what makes this feel unforgiving. Every full point of pH is a tenfold change in dissolved CO2, so a tenth of a point is roughly a 26% swing. At 4 °KH, pH 7.0 puts you at 12 ppm; pH 6.8 puts you at 19 ppm; pH 6.6 at 30 ppm. That is why hobbyists who inject aggressively can move from planted to gasping in the space of one afternoon.
Higher KH means every step of pH costs more gas — a 12 °KH tank needs three times the injection of a 4 °KH tank to sit at the same ppm. Soft, low-KH water reaches 30 ppm easily but swings violently, so keep KH between 3 and 6 °KH if you want a curve you can steer.
Tuning the bubble count
Start at roughly one bubble per second for every 30 litres and let the system run for a full day before judging anything. Solenoid on two hours before lights, off an hour before lights out — you want the tank already saturated when photosynthesis begins, not climbing toward it.
Then move in single increments. Add 0.5 bubbles per second, wait 24 hours, take pH at the same point in the photoperiod, and recalculate. Repeat until you land in range. If fish hang at the surface or breathe hard, cut the rate immediately and increase surface agitation — a plant deficiency is recoverable, a suffocated fish is not.
Distribution beats volume. A tank with a good circular flow pattern hits 30 ppm on far fewer bubbles than a tank with dead corners, so fix flow and diffuser depth before turning the needle valve up again.
Three measurement traps
Phosphate-buffered test kits
Most low-range pH kits and calibration fluids are phosphate buffered. Any non-carbonate buffer — phosphate, humic acid from leaves and wood, commercial pH-down — breaks the pH/KH relationship and the table reads far higher than the water really holds. Test KH with a titration kit and treat the number as an estimate, not a measurement.
Reading pH straight from the tap
Fresh tap water is loaded with dissolved gas and reads artificially low. Take a sample, stir or aerate it for 24 hours until it degasses, and use that value as your zero-CO2 baseline. Comparing degassed pH to running pH is a far more honest gauge than an absolute ppm figure.
Trusting a drop checker in real time
A drop checker holds 4 °dKH reference fluid and lags the tank by two to four hours. Green at 8 pm means the tank was correct at lunchtime. Judge the colour at the same hour each day, and never chase the colour minute to minute during the photoperiod.