DIY Kalk stirrer with Wi-Fi

OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
This is awesome! Will you be sharing your Files? Also what PH probe is that? I've had a card time finding one to tie into HA that isn't expensive
Yes, but before I'll share, I need to fix some issues in 3D models that I found out after assembly.
When the ESP32 firmware is ready, it will all be in the GitHub repository.

About the PH probe: I'm currently using these Aliexpress "Rechargeable" PH probes.
Its refilling with KCl, so has zero harm for corals, and its and so far values have been very stable for 1+ years.

Only one thing should be considered: it should be placed somewhere where the water level is not rising.
Because the refilling hole should be opened for operation. I'm using a check valve for my return pump, and it's not an issue in my tank.
Screenshot 2024-04-30 122718.png
 
Last edited:

officialreefbros

Well-Known Member
View Badges
Joined
Apr 15, 2021
Messages
736
Reaction score
2,061
Location
New Jersey
Rating - 0%
0   0   0
Yes, but before I'll share, I need to fix some issues in 3D models that I found out after assembly.
When the ESP32 firmware is ready, it will all be in the GitHub repository.

About the PH probe: I'm currently using these Aliexpress "Rechargeable" PH probes.
Its refilling with KCl, so has zero harm for corals, and its and so far values have been very stable for 1+ years.

Only one thing should be considered: it should be placed somewhere where the water level is not rising.
Because the refilling hole should be opened for operation. I'm using a check valve for my return pump, and it's not an issue in my tank.
Screenshot 2024-04-30 122718.png
Awesome! Thanks!
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
Behold! Lime-a-thron was born!

Screenshot 2024-05-02 210807.png


I am going to finish firmware this weekend.

Then I'm going to develop a custom PCB for this project; it's really easier to order a PCB for a few dollars and solder a few wires to explain how to replicate a PCB circuit.

And my setup is kind of messy (no judgment, its esthetic of development!). It will be nice to replace it with a shiny PCB with a solder mask.:)
IMG20240502211448.jpg
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
With the ease of pcb making software coupled with the cost to have them made, it's a no brainer to reduce that spaghetti of wires.

Are you using pH to monitor inside the reactor or inside the tank?
Ph monitor for tank. Its for controlling limewater dosing. Saturation of limewater are controlled by TDS sensor, mostly it's just to know when its time to wash the strirer and fill with fresh kalk.
About pcb- I'm just living in country where its not common to do DIY, very poor local services, but recently found out the place where I can order it. And i'm familiar with pcb production, it's even faster than soldering all this spaghetti
 
Last edited:

Sisterlimonpot

Effortless Perfection
View Badges
Joined
Jul 15, 2009
Messages
4,260
Reaction score
8,615
Location
Litchfield Park
Rating - 0%
0   0   0
Ph monitor for tank. Its for controlling limewater dosing. Saturation of limewater are controlled by TDS sensor, mostly it's just to know when its time to wash the strirer and fill with fresh kalk.
About pcb- I'm just living in country where its not common to do DIY, very poor local services, but recently found out the place where I can order it. And i'm familiar with pcb production, it's even faster than soldering all this spaghetti
What country are you in.

I use JLCPCB, but their are lots to choose from.

What I did wasn't anything fancy since I still used modular components for like stepper drivers, buck boosters, rtc time circuits etc. My chief goal was the same as yours. I wanted to eliminate the spaghetti.

This wad an early version of my kalk controller.

To go from this:

Screenshot_20240502_110101_OneDrive.jpg


To this:

Screenshot_20240502_110504_Chrome.jpg
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
What country are you in.

I use JLCPCB, but their are lots to choose from.
I'm from small island in Maritime Southeast Asia:)

I'm also want to use modular components to keep soldering simple, but i'm going to make circuit as small as possible because same boad will be used for next small project of standalone PH controller.
 

steamboat

New Member
View Badges
Joined
May 24, 2010
Messages
17
Reaction score
1
Location
albuquerque
Rating - 0%
0   0   0
You have a cool kalk stirrer project for sure. Think there is a market for a small WiFi board that logs PH.
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
This weekend I finished with UI for PH calibration
Last thing that I need to finish - scheduler for Auto Top Off

To simplify experience with PH I made a reagent base for buffer solutions.
PH Buffer base can be extended if needed.

Screenshot 2024-05-07 135216.png Screenshot 2024-05-07 135338.png



So calibration is going very simple: just choose the reagent from the list, put the electrode in buffer, and after "Volt" will be stable, push "Add calibration point.".

After adding more than 2 points (controller support for unlimited calibration points, custom buffers, etc.), PH sampling will start:

Screenshot 2024-05-07 134259.png Screenshot 2024-05-07 135051.png
 

Paulo Hanashiro

Community Member
View Badges
Joined
Jun 4, 2013
Messages
56
Reaction score
29
Location
Sydney/Australia
Rating - 0%
0   0   0
@yury88, can we have a more "open" approach for the firmware in the Kalk doser?

My use-case as an example.

Today I have an IV dripper like this one below, with a really weak kalk solution that I replace every day (I work from home and my tank and work-desk are side-by-side)

1715145452004.png


My perfect use case would be:
  1. Dose [x] ml/minute from 9AM to 9PM
  2. Dose [x * 3 ] ml/minute from 9PM to 9AM. (account for lower pH at night)
  3. Only dose if pH within a range ( from 7 to 7.5 for example), Stop dosing if pH > 7.5, Resume dosing if pH < 7.

I don't have a need for a stirrer, as I'm attending the tank every morning to at least feed the fish and monitor the heath of all animals anyway, so I'd rather mix my kalkwasser solution daily.

I'm planning to use one of the smart-dosers to tackle items 1 and 2 above. And was planning to have a pH monitor connected to Home Assistant with an alert in case pH is out of range, so I could fix the issue ASAP. But if we could have a FW where I can hook the pH ADC into the ESP, and have the ESP to:
  1. Report pH values back to HA as MQTT (so I can compare the pH reading with my other pH probe, or just use this single pH probe to monitor the tank)
  2. Have the doser use the measured pH as a safety for Kalk dosing, so I don't overdose.
This would open the solution for more use-cases.

In summary, what I'm asking is for a FW release on the Kalk doser to have:
  • Provision so the doser could work just with the pH HW (ADC+pH board), but without the stirrer/TDS meter
  • Have the pH safety to work in 2 ways:
    • Stop dosing if pH > Max - I believe this is what you're implementing - Am I right?
    • Also work with a pH range [dosing stops if ph > max, and is resumed only when pH < min]

Keep the good work. I really appreciate the work you're doing and how responsive you are with everything!!!

I just printed a custom case for the smart-doser as I don't want to use a heat sink, and will start my use-case test soon.

regards.
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
My perfect use case would be:
  1. Dose [x] ml/minute from 9AM to 9PM
  2. Dose [x * 3 ] ml/minute from 9PM to 9AM. (account for lower pH at night)
  3. Only dose if pH within a range ( from 7 to 7.5 for example), Stop dosing if pH > 7.5, Resume dosing if pH < 7.

Actually I think this stirrer can even keep different PH day/night without Home Assistant.
This programming logic is working in "Limits" feature of doser
Because its possible to add complex rule like:
(0:00 < time < 10:00 and 7.5 <PH < 8.3) or (10:00 < time < 23:59 and 7.5 <PH < 8.5)
But I need to add this "time" function to it:)

I don't have a need for a stirrer, as I'm attending the tank every morning to at least feed the fish and monitor the heath of all animals anyway, so I'd rather mix my kalkwasser solution daily.
Then if you have Home Assistant with PH sensor connected you can just directly control everything via MQTT commands, pump will just follow the commands.

Home Assistant is extremely powerful and flexible solution, you can program any logic.

You don't need stirrer in your case, just pump +PH sensor for HA
 

Paulo Hanashiro

Community Member
View Badges
Joined
Jun 4, 2013
Messages
56
Reaction score
29
Location
Sydney/Australia
Rating - 0%
0   0   0
Actually I think this stirrer can even keep different PH day/night without Home Assistant.
This programming logic is working in "Limits" feature of doser
Because its possible to add complex rule like:
(0:00 < time < 10:00 and 7.5 <PH < 8.3) or (10:00 < time < 23:59 and 7.5 <PH < 8.5)
But I need to add this "time" function to it:)


Then if you have Home Assistant with PH sensor connected you can just directly control everything via MQTT commands, pump will just follow the commands.

Home Assistant is extremely powerful and flexible solution, you can program any logic.

You don't need stirrer in your case, just pump +PH sensor for HA
Always fast to reply. I guess it also helps that we both are in similar time zones :p.

On having HA to control, although it is feasible for sure, and I'm planning to use.

As a long timer reefer, I'd rather have a dedicated device to control any given function in my tank, and have a few extra layers of control/warning just to ensure my animals would have the best chance to survive when something fails (It is not a question IF a device will fail but when it will happen:( ).

Again using my system as an example:
For temperature control, I have the heater connected to an Inkbird ITC-306A, and the Inkbird is flashed with ESPHome that sends near real-time temp readings to HA.

Just for temperature control I have 4 layers of security:
  1. The heater itself that will effectively do the work (keep temperature withing it's internal configuration)
  2. 2x independent temp probes in the ITC (+ ITC is set to alert if probe reading drifts from each other)
  3. ITC is also set to only turn the heater if temp below 26, so if heater is stuck with power on, it will not over-heat the tank, and will also sound an alarm if temp is above 30.
  4. And lastly, If everything else fails, the HA will send an alert to my mobile phone if temp above 30.

If I could have the doser itself to monitor and react to the pH reading, I can then set a 2nd security layer using the independent pH monitor to shut-down the doser and alert of the issue. Again, just to cover for unforeseen issues, like a pH probe not reading correctly, or some any other issue.

Cheers.
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
I
Always fast to reply. I guess it also helps that we both are in similar time zones :p.

On having HA to control, although it is feasible for sure, and I'm planning to use.

As a long timer reefer, I'd rather have a dedicated device to control any given function in my tank, and have a few extra layers of control/warning just to ensure my animals would have the best chance to survive when something fails (It is not a question IF a device will fail but when it will happen:( ).

Again using my system as an example:
For temperature control, I have the heater connected to an Inkbird ITC-306A, and the Inkbird is flashed with ESPHome that sends near real-time temp readings to HA.

Just for temperature control I have 4 layers of security:
  1. The heater itself that will effectively do the work (keep temperature withing it's internal configuration)
  2. 2x independent temp probes in the ITC (+ ITC is set to alert if probe reading drifts from each other)
  3. ITC is also set to only turn the heater if temp below 26, so if heater is stuck with power on, it will not over-heat the tank, and will also sound an alarm if temp is above 30.
  4. And lastly, If everything else fails, the HA will send an alert to my mobile phone if temp above 30.

If I could have the doser itself to monitor and react to the pH reading, I can then set a 2nd security layer using the independent pH monitor to shut-down the doser and alert of the issue. Again, just to cover for unforeseen issues, like a pH probe not reading correctly, or some any other issue.

Cheers.
I think it's a good pattern to have some extra layer of protection in case sensors fail, etc.
So if you want to have extra protections, Doser can provide not even one way to control them.
Doser itself can monitor and react on sensors values.
This functionality is build-in by default.

And no problem to use custom pcb from this project without stirrer.
You even can skip some not used components like tds module, project will still works
I prefer to develop things customizable
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
A few updates for this project:

1) I decide to return to the 2-peristaltic pump design. The reason for that is because I want to solve one long-term issue with limewater dosing: hose clogging.
So far, it's not a huge issue because as long as you dosing limewater continuously, it's ok. Even for hoses with a 1mm internal diameter.
But still, I think sometimes it should be maintained.

So the second peristaltic pump will be for vinegar, which will use the same line as limewater.
So while the stirrer is refilling and mixing the next bunch of saturated limewater, the second pump will dose the vinegar and clean the line.

And I was planning to do carbon dosing in any way to support bacteria in the system. So it will be a win-win.

2) The Smart PH module will be separated. Now it has built-in Stirrer firmware, but some folks have asked me to make it independent.

And it's reasonable because it's easier to deal with wiring and re-calibration with a tiny box.

And it's a it's a good thing that I'm going to utilize the ESP-NOW protocol. So PH sensor values will be directly shared with the stirrer, and it will work even without a WiFi connection.

1715322785074.png
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
I already ordered a custom PCB for my stirrer.
So PH controller will be separated. Stirrer will have ATO, conductivity(TDS module with mod) + float liquid level sensors on board + clock module DS3231(optional, for offline work)
Screenshot 2024-05-12 114237.png Screenshot 2024-05-12 114243.png
And PCB for PH controller.
Screenshot 2024-05-12 114301.png Screenshot 2024-05-12 114337.png
 
OP
OP
yury88

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
160
Location
indo-pacific
Rating - 0%
0   0   0
I'm uploaded to github repository:
1)STL files for 3D printing case, Fusion 360 project
2)Gerber files for custom pcb and part list(very short, keeping things simple)

Also published project on Thingiverse:

Soon I will get my PCB and will upgrade my stirrer to 2-pumps version


Screenshot 2024-05-12 221039.png


ReefRhythm Lime-a-thon fullsize.png ReefRhythm Lime-a-thon front.png
 
Back
Top