Dosing Strategy
The project's documented approach is deliberately simple: a tuned lookup table rather than a generic black-box formula.
Why a lookup table?
The project documentation describes experiments with manufacturer-style formulas and concludes that a pool-specific table can work better because acid demand depends on the actual water chemistry, including alkalinity. AquaChemD does not currently deploy the formula-based strategy described in the project notes.
Example table
| pH reading | Seconds to dose |
|---|---|
| 8.2 | 120 |
| 8.1 | 80 |
| 8.0 | 50 |
| 7.8 | 30 |
| 7.75 | 20 |
| 7.7 | 10 |
| 7.65 | 5 |
| 7.6 | 2 |
| 7.5 | 0 |
Example setup documented by the project
- Target pH: 7.7
- Pool size: 30,000 gallons
- Plaster, salt-water pool
- Dosing every 30 minutes between 6am and 11pm
The documented tuning process started from weekly chemical consumption and pump flow rate, then adjusted the table by observing pH and actual dose volume over several days.
Safety and statistics
Dosing is still constrained by interlocks, per-channel maximum dose time and configurable total-volume limits. The daemon records dose statistics, including cases where a dose was prevented by an interlock.