- Joined
- Sep 13, 2018
- Messages
- 360
- Reaction score
- 333
Jail breaking the alkatronic for apex controlled dosing- chasing stable alkalinity AND pH.
I love my apex gear but couldn’t ever sell myself on the trident. Reagent cost is the biggest factor followed by availability, limited value in Ca/Mg testing, colorimeter etc. I’ve had my Alkatronic since may and LOVE it. The dosetronic is a clear easy choice to handle dosing but I didn’t like the 24 daily dose maximum, set doser speed/direction, and lack of specific control. Above all, I feel having all your control in one system is bad form. I started down the path of integrating the systems. My first method used dosing profiles and 4 tiered throttle virtual outputs. It worked well for a month but quickly became a hassle to adjust profiles as demand grew. I wanted something more adaptable and easy to adjust. I wanted to be able to set a volume in the dosing wizard to spread dosing out over the entire day. I didn’t want multiple steps and tiered intervals that each needed adjusting as my reef grew. I’ve been using my current system for a few weeks and feel it’s near perfect. Normal demand is 360-400ml a day. I set the dosing wizard for 500ml to give some room for growth and peak demand. My goal is to maintain a steady 9.7-9.8dkh.
The first hurdle was interpreting the signal. The alkatronic rounds it’s test value +/- 0.05 dkh to the closest .1 value. For instance, a 9.67 test rounds up to a 9.70 value to be sent through the BCN connection. The signal varies a bit in the apex graph and will read 9.69-9.72dkh. I set up 4 Virtual outputs- Brake_tap, Brake_Hard, Brake_slam and Dosing off. The dosing wizard isn’t entirely predictable on how it splits up dosing but it tends to be once every 15 minutes. These brakes don’t always line up perfectly but the difference ends up being a wash by the end of the day. Brake tap omits the first 15 minutes of dosing every hour for a test signal of 9.8 and above. Brake hard omits dosing between XX:30-XX:45 for a test signal of 9.9 or higher. Brake slam omits dosing from XX:45-XX:00 for a test signal of 10.0 or higher. Dosing off cuts out all dosing for a signal of 10.1 or higher.
The alkatronic is set to test every 3 hours with a forced test in an hour for values outside my 9.6-9.9 range. My programming is geared to run a high level of dosing with brakes to throttle it down. Ideally, I’ll never break the lower range. Dipping below should indicate I need to up my dose in the wizard. Brake tap can omit 1/4 of the dose for three hours until the next test. Brake hard will omit 1/2 the dose for 3 hours IF the alkatronic tests between 9.85-9.89. A 9.90+ test will force a retest in 1 hour. This gray area around a 9.9 signal to the apex causes some complications. A 9.87 test just before peak lighting could omit too much of the dose. I needed a simple way to prevent this situation. I made another virtual output Peak_Demand to turn on with my lighting and stay on until they start ramping down. When it’s ON, the brake_tap throttle is disabled
If the Alkatronic loses power or restarts for any reason it sends a default value of 7.00 until the next scheduled test. This could cause the programming to give the reef a full bore dose for up to three hours. Ideally it’d immediately test but Focustronic doesn’t see the value in that feature. I wanted to default to 1/2 dosing and send me an alert to open the app and run a manual test. The Alk_Error VO is simple OSC code that turns on/off every 30 minutes for an unexpected value.
I’m working with additives that could easily nuke my reef if the DOS went haywire or something were to inadvertently hit the prime button. It’s a great pump but also capable of dosing 1 gallon an hour. I’ve seen units where tapping the side triggers the prime buttons to dose 25ml/min. All the code in the world won’t stop a freak accident when plugged into a “Normal” household outlet. I created a VO named pH_disaster to turn on when pH is ~.07 above my normal high for 3+ minutes. It sends me an alert and cuts off the apex outlet powering my dos.
I also wanted to be alerted if my higher level brakes were enabled for more than one testing cycle. Something is seriously wrong if Brake_slam or Dosing_off is enabled for more than three hours. Brake_Stuck handles this situation
I’m two months into experimenting with lye and three weeks into my experiment of switching between additives with the aim of maintaining stable alkalinity AND pH. I struggled with low pH for years. Before all this, l averaged 7.9-8 pH with daily swings of .45. I made a pH_High and pH_Low VO to toggle between lye and soda ash based on tank pH. I managed to average 8.28 with a maximum .20 daily swing. This is about as good as anyone could expect.
Now that I’m able to get “normal” pH readings I started thinking. Low pH is almost always from CO2. The household CO2 isn’t really something I can reliably control. I’ve drawn outside air with my skimmer for years. It helped but only raised pH .1-.15 when low. I got to thinking- it’s a very efficient gas exchanger drawing a constant 400ppm CO2. I finally felt like I could shut it down and remove it from my system. I turned it off midnight Dec 10th. Within 36 hours I saw a very promising trend toward nearly perfect flatline pH. The last few days have sloppy data due to a manual bicarbonate dose I made without thinking everything through. I wanted to correct the dip from peak demand. I was considering letting the alkatronic itself handle a manual bicarbonate adjustment when low. Long story short, I intentionally dosed too much. Once the lights turned off pH tanked due to the fact my brakes cut out ~60% of the lye dose. It was interesting to see just how the system reacted and how dependent it is on the lye dosing. My programming handled it well and that promising stable pH trend seems to be resuming. Only time will tell so I’ll keep my mitts off it for a couple weeks and update here.
I love my apex gear but couldn’t ever sell myself on the trident. Reagent cost is the biggest factor followed by availability, limited value in Ca/Mg testing, colorimeter etc. I’ve had my Alkatronic since may and LOVE it. The dosetronic is a clear easy choice to handle dosing but I didn’t like the 24 daily dose maximum, set doser speed/direction, and lack of specific control. Above all, I feel having all your control in one system is bad form. I started down the path of integrating the systems. My first method used dosing profiles and 4 tiered throttle virtual outputs. It worked well for a month but quickly became a hassle to adjust profiles as demand grew. I wanted something more adaptable and easy to adjust. I wanted to be able to set a volume in the dosing wizard to spread dosing out over the entire day. I didn’t want multiple steps and tiered intervals that each needed adjusting as my reef grew. I’ve been using my current system for a few weeks and feel it’s near perfect. Normal demand is 360-400ml a day. I set the dosing wizard for 500ml to give some room for growth and peak demand. My goal is to maintain a steady 9.7-9.8dkh.
The first hurdle was interpreting the signal. The alkatronic rounds it’s test value +/- 0.05 dkh to the closest .1 value. For instance, a 9.67 test rounds up to a 9.70 value to be sent through the BCN connection. The signal varies a bit in the apex graph and will read 9.69-9.72dkh. I set up 4 Virtual outputs- Brake_tap, Brake_Hard, Brake_slam and Dosing off. The dosing wizard isn’t entirely predictable on how it splits up dosing but it tends to be once every 15 minutes. These brakes don’t always line up perfectly but the difference ends up being a wash by the end of the day. Brake tap omits the first 15 minutes of dosing every hour for a test signal of 9.8 and above. Brake hard omits dosing between XX:30-XX:45 for a test signal of 9.9 or higher. Brake slam omits dosing from XX:45-XX:00 for a test signal of 10.0 or higher. Dosing off cuts out all dosing for a signal of 10.1 or higher.
The alkatronic is set to test every 3 hours with a forced test in an hour for values outside my 9.6-9.9 range. My programming is geared to run a high level of dosing with brakes to throttle it down. Ideally, I’ll never break the lower range. Dipping below should indicate I need to up my dose in the wizard. Brake tap can omit 1/4 of the dose for three hours until the next test. Brake hard will omit 1/2 the dose for 3 hours IF the alkatronic tests between 9.85-9.89. A 9.90+ test will force a retest in 1 hour. This gray area around a 9.9 signal to the apex causes some complications. A 9.87 test just before peak lighting could omit too much of the dose. I needed a simple way to prevent this situation. I made another virtual output Peak_Demand to turn on with my lighting and stay on until they start ramping down. When it’s ON, the brake_tap throttle is disabled
If the Alkatronic loses power or restarts for any reason it sends a default value of 7.00 until the next scheduled test. This could cause the programming to give the reef a full bore dose for up to three hours. Ideally it’d immediately test but Focustronic doesn’t see the value in that feature. I wanted to default to 1/2 dosing and send me an alert to open the app and run a manual test. The Alk_Error VO is simple OSC code that turns on/off every 30 minutes for an unexpected value.
I’m working with additives that could easily nuke my reef if the DOS went haywire or something were to inadvertently hit the prime button. It’s a great pump but also capable of dosing 1 gallon an hour. I’ve seen units where tapping the side triggers the prime buttons to dose 25ml/min. All the code in the world won’t stop a freak accident when plugged into a “Normal” household outlet. I created a VO named pH_disaster to turn on when pH is ~.07 above my normal high for 3+ minutes. It sends me an alert and cuts off the apex outlet powering my dos.
I also wanted to be alerted if my higher level brakes were enabled for more than one testing cycle. Something is seriously wrong if Brake_slam or Dosing_off is enabled for more than three hours. Brake_Stuck handles this situation
I’m two months into experimenting with lye and three weeks into my experiment of switching between additives with the aim of maintaining stable alkalinity AND pH. I struggled with low pH for years. Before all this, l averaged 7.9-8 pH with daily swings of .45. I made a pH_High and pH_Low VO to toggle between lye and soda ash based on tank pH. I managed to average 8.28 with a maximum .20 daily swing. This is about as good as anyone could expect.
Now that I’m able to get “normal” pH readings I started thinking. Low pH is almost always from CO2. The household CO2 isn’t really something I can reliably control. I’ve drawn outside air with my skimmer for years. It helped but only raised pH .1-.15 when low. I got to thinking- it’s a very efficient gas exchanger drawing a constant 400ppm CO2. I finally felt like I could shut it down and remove it from my system. I turned it off midnight Dec 10th. Within 36 hours I saw a very promising trend toward nearly perfect flatline pH. The last few days have sloppy data due to a manual bicarbonate dose I made without thinking everything through. I wanted to correct the dip from peak demand. I was considering letting the alkatronic itself handle a manual bicarbonate adjustment when low. Long story short, I intentionally dosed too much. Once the lights turned off pH tanked due to the fact my brakes cut out ~60% of the lye dose. It was interesting to see just how the system reacted and how dependent it is on the lye dosing. My programming handled it well and that promising stable pH trend seems to be resuming. Only time will tell so I’ll keep my mitts off it for a couple weeks and update here.
Last edited by a moderator: