The Reef Tank banner

1 - 1 of 1 Posts

56 Posts
Discussion Starter #1
Many of you are probably frustrated that your 700$ apex controller does not have the ability to monitor the rate of change of your sensors. Or maybe you never thought about it but it sounds cool now. I decided to develop a system to monitor the rate of change of pH and turn off my dosing pump if it changes more than .15 dKH per minute. This allows me to run a dosing pump without the fear of the dreaded KH overdose killing my reef.
How did I do it you may ask? Ill explain. I will be using pH for this example, but it could be done with any analog input to the apex.

In order to monitor the rate of change of pH you need to first create what I call pH zones. I have zones to cover the range from 7.8 to 8.55, but this may be a little excessive. This “zone” is just a virtual outlet that is on if the pH is in a certain range. I have included an example of my code bellow. As long as the pH is between 8.10 and 8.15 this outlet in the example is on. The min time statement makes sure this outlet stays on for one minute after the pH leaves the range ( drops below 8.10 or above 8.15).

Outlet: Ph_8.10-8.15

Fallback OFF
If pH > 8.09 Then ON
If pH > 8.15 Then OFF
Min Time 001:00 Then ON

So as my pH changes, there is always one virtual outlet pH zone on, sometimes 2 for a minute when it goes from one to the next. This is normal operation, but if I have a rapid pH change, more than .15 in less than a minute, then there will be 3 or more pH zones in the on state. This is where the next set of outlets comes in.

Outlet: pH_Up_8.15

Fallback OFF
Set ON
If Outlet Ph_8.05-8.10 = OFF Then OFF
If Outlet Ph_8.15-8.20 = OFF Then OFF
Min Time 002:00 Then ON

This virtual outlet monitors if there are two pH zones active that are not directly next to each other. This outlet, pH_Up_8.15 will be set if the pH goes from let’s say 8.08 to 8.18 or 8.05 to 8.20 in less than one minute.
The final outlet monitors all the pH_Up outlets and if one of them is on, it set a pH_Spike outlet on. This outlet can then be monitored in the dosing pump outlet, as well as the alarm outlets so if a pH spike occurs, it will shut down the pump and send me an email.

Outlet: pH_Spike

Fallback OFF
If Outlet pH_Up_7.90 = ON Then ON
If Outlet pH_Up_7.95 = ON Then ON
If Outlet pH_Up_8.05 = ON Then ON
If Outlet pH_Up_8.10 = ON Then ON
If Outlet pH_Up_8.15 = ON Then ON
If Outlet pH_Up_8.20 = ON Then ON
If Outlet pH_Up_8.25 = ON Then ON
If Outlet pH_Up_8.30 = ON Then ON
If Outlet Ph_Up_8.35 = ON Then ON
If Outlet pH_Up_8.40 = ON Then ON
If Outlet pH_Up_8.45 = ON Then ON
If Outlet pH_Up_8.50 = ON Then ON
If Outlet Ph_High = ON Then ON
Min Time 999:00 Then ON

I first tested this system for a week of hand dosing before installing my dosing pump. I found that if I dosed anything more than 20 ml (90 gallon total system volume) of ESV bionic Carbonate in the sump chamber downstream of the pH probe, (dose has to travel through the return, then the display to get to back to the sump and the pH probe in the previous chamber) then it sets of the pH_Spike outlet. Every now and then if I need to make a KH adjustment ill test the system by dosing 25 ml to the sump return chamber and the system sets an alarm within 20 seconds.

This method can be used for more than just pH but that’s all I care to use it for right now. I don’t have ORP or Salinity monitor and there’s no reason I can see to do it for the temperature.
In all this system monitors from 7.80 to 8.55 and uses 30 virtual outlets. I think that the range is a little excessive as my tank usually is in the range of 7.85 to 8.2 depending on the number of people staying in the rental bellow me. (10 CO2 machines downstairs really effects my pH when I must have the windows closed and the AC on to keep the tank cool!)

Let me know what you think and if you have any recommendations for improvement.

Check out my thread on why I am confident with my Jabeo dosing pump using this system here: (
1 - 1 of 1 Posts