Every version of this question assumes bubbles per second is a dose. It is not. It is a description of gas leaving a regulator, and what reaches the water depends on a chain of things a bubble counter cannot see.
What a bubble count leaves out
- Bubble size. Counters differ, needle valves differ, and the liquid inside the counter changes the bubble volume. Two counters at three per second can pass noticeably different amounts of gas.
- Dissolution efficiency. An inline atomiser, a ceramic diffuser and a length of tubing put wildly different fractions of that gas into solution. Bubbles that reach the surface intact delivered nothing.
- Water volume, and the real one. Glass thickness, fill height and substrate displacement typically take 12 to 20 percent off the nominal figure on the box.
- Surface agitation and outgassing. A tank losing gas fast at the surface needs a higher rate for the same concentration, and that is often the right trade because it also brings oxygen in.
- Circulation. Gas that never reaches the far corner is not in that corner, whatever the counter says.
This is why a rate copied from a forum post is close to meaningless. It was measured on someone else's counter, through someone else's diffuser, in someone else's tank.
What a bubble count is genuinely good for
It is an excellent reference point for one tank over time. Once your own tank sits where you want it, the rate that got it there is worth writing down, because it makes the next change repeatable and reversible. Used that way it is a setting you can return to, not a measurement you can compare.
Change the rate once, then wait. A drop checker needs one to two hours to respond and four to five to settle, so judge the effect after at least three hours, and preferably on the next day at the same point in the photoperiod. Two adjustments in one day is the pattern that costs people fish.
Why this app will not give you a number
It would be easy to print one. The reason it does not is that published rules of thumb for bubble rate disagree with each other by around a factor of five, and the failure mode is not a slightly underfed plant, it is dead livestock. A confident bubble rate is a claim the underlying data does not support.
What the app does instead is measure the result. Set the rate wherever you like, then read the concentration by whichever of the three methods suits your tank, and adjust from what you actually observe.
- The three measurement routes, and which fits your tank
- A drop checker gives you a physical reading with no arithmetic at all
- Where the risk threshold sits, and what moves it
If you want the count to be accurate anyway
Count over ten seconds and divide by ten rather than counting for one second. The longer the count, the smaller the timing error. Beyond roughly 100 litres, bubble counters become awkward regardless, and gas flow is better judged from the result in the water than from the count.
Measure the water, not the regulator
The app computes the concentration from what you measure, with the error band your test kit implies, and stops when your tank breaks the method rather than handing you a confident number.