Advertisement

Planted tank gas control

Dial-In CO2

Turn a pH reading and a KH test into an honest CO2 number, a starting bubble rate, and a drop checker you can finally trust.

Open the calculator
Advertisement

Control console

CO2 dosing calculator

Tank size

151 litres of water volume

pH
Carbonate KH

4.00 °KH = 71 ppm CaCO₃

Target CO2 (ppm)

Aim for pH 6.60 at this KH

Dissolved CO2 In range
19.0ppm
015 low35 high60
Blue under ~15 ppm
Green 15 – 35 ppm
Yellow over 35 ppm

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.

Advertisement

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.

Advertisement

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.

Advertisement

Three measurement traps

1

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.

2

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.

3

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.

Advertisement

Quick reference

4 °KH · pH 6.630 ppm
4 °KH · pH 6.915 ppm
6 °KH · pH 6.828 ppm
8 °KH · pH 6.930 ppm
12 °KH · pH 7.128 ppm
Advertisement