Open source DIY robot for water analysis and supplementation - anyone interested?

benoit

New Member
View Badges
Joined
May 8, 2023
Messages
13
Reaction score
25
Location
Chemillé, France
Rating - 0%
0   0   0
Hello,

I created a DIY robot to perform water analysis and to automate the balling supplementation. I would like to know from you if some people are interested to reproduce it. If so, I will create a true documentation, assembly instruction, some tutorials (peristaltic pump calibration, how to calibrate for new tests, etc.).

Let's start with a video showing the robot in action.




It is running on my tank with great accuracy since few weeks but it is still a work in progress.

Why a DIY solution?

- Because I am more confident using something that I have a perfect mastery of and that I can easily repair in case of issues.
- Because I would like to implement some feature that do not existin the commercial products in the future,
- Because I always need projects to keep myself occupied.
- Because the commercial products are too expensive for me.

Outlines

- My project runs on a Raspberry Pi and is able to perform liquid reagent based colorimetric tests.
- I have imposed on myself the constraint of using only reliable, accessible, and widely available components in the market for a total <500$ (excluding 3d printer).
- Most of the parts are 3d printed (including the peristaltic pumps).

Since deployed, 147 tests (KH and Ca) has been performed with success. Manual tests are still performed on a regular basis to confirm that the robot measurement are accurate (Fortunately, it is).

What remains to be done

- Design of a PCB. I iterated a lot on the electronic part. That is why, so far, all the components are on breadboards, with a tangled mess of wires.
- Front end: I will develop a web frontend (Web application using Bootstrap, VueJs, etc.). Currently, I am accessing it through some Jupyter notebooks.
- Fixing some 3d models (for example, some missing screw holes added by hand)

What could be the next iteration

- Having a double measurement of KH for safety. In addition to the colorimetric measurement, a ph probe based KH sensing (with acid injection) is added. With dual KH measurement, I would be confident enough to let fully the robot logic to drive the KH supplementation.
- Implementation of a salinity meter using some linear CMOS,
- handling powder based colorimetric tests with a DIY robotic arm (seems not easy to design...).


PS: My native language is not English, so please excuse me for any potential errors.
 
Last edited by a moderator:

SimonMo

Community Member
View Badges
Joined
Apr 13, 2023
Messages
58
Reaction score
27
Location
Poland
Rating - 0%
0   0   0
Great idea! I am intrested. I think my diy skills aren't enough good yet for this project and my budget won't handle it but i'm getting into some diy projects. I would be thankful if you create this documentation:beaming-face-with-smiling-eyes:. Maybe I will do something like that i the future.. It will at least inspire someone to make their own project:).
 

taricha

5000 Club Member
View Badges
Joined
May 22, 2016
Messages
6,970
Reaction score
10,747
Rating - 0%
0   0   0
whooo!
that is awesome. Could you talk about automating the colorimeter/reactor chamber? Looks like you are using a single "white" light instead of a set of color LEDs. So your sensor is a color sensor quantifying the color of the solution?
 

Tavero

Well-Known Member
View Badges
Joined
Aug 5, 2022
Messages
711
Reaction score
685
Location
Somewhere
Rating - 0%
0   0   0
What analytical methods are you using? For KH i guess a HCl titration with endpoint of PH 4.2 with a probe or indicator?
Are you using a EDTA Titration for Calcium?
 
OP
OP
B

benoit

New Member
View Badges
Joined
May 8, 2023
Messages
13
Reaction score
25
Location
Chemillé, France
Rating - 0%
0   0   0
Thanks a lot

For the color measurement, I started with the cheapest RGB sensor available: the TCS34725 (~3$). I thought I would have to move to something more costly but in fact, definitely not! It measures the RGB channels with enough accuracy.

During a test, a LED illuminates the vial from the opposite side of the sensor. The sensor is tuned for a 200 ms integration time and called continuously. When X consecutive measurement reached the target color, then the test ends. I tested various conditions to stop the test but of the most simple (X lasts meeting the stop condition) works fine all the time. I don't find a significant impact of the magnetic stirrer moving which is something I feared at first.

For a given test, I define for each channel the threshold on each channel and the direction. For instance, for my Salifert KH test, my .json5 configuration contains:

"end_color": [
[
0.9,
'above'
],
[
0.8,
'below'
],
[
0.77,
'above'
]
],

which tells the programme to stop when X consecutive measurements are such that :
  • the red channel component is above 0.9,
  • the green channel is below 0.8,
  • the blue channel is above 0.77

This corresponds to a lavander color from the sensor perspective (with some normalization) which is the true target color of the salifert KH test (the clear pink color indicated by the manufacturer is wrong).
 
OP
OP
B

benoit

New Member
View Badges
Joined
May 8, 2023
Messages
13
Reaction score
25
Location
Chemillé, France
Rating - 0%
0   0   0
What analytical methods are you using? For KH i guess a HCl titration with endpoint of PH 4.2 with a probe or indicator?
Are you using a EDTA Titration for Calcium?
Currently, as illustrated in the video, the robot is only able to perform liquid based colorimetric tests. I am using the salifert one so that the measurement is color based.

But in the next iteration, I will add an HCl titration method using a pH probe. With two independent automated measurements of the KH, I will be very confident on the measure so that I could let the robot fully automating my balling supplementation.
 
OP
OP
B

benoit

New Member
View Badges
Joined
May 8, 2023
Messages
13
Reaction score
25
Location
Chemillé, France
Rating - 0%
0   0   0
For the calcium test, I am using the API one which is the only one that is based on liquid only so far that I know. Chemistry is not my favorite field! I am not sure what's inside.

To address the "liquid based only" test constraint, I plan to implement a robotic arm in a future iteration to handle tests involving powders. This clearly opens the door to many other interesting tests
 
OP
OP
B

benoit

New Member
View Badges
Joined
May 8, 2023
Messages
13
Reaction score
25
Location
Chemillé, France
Rating - 0%
0   0   0
Find below some details about the part on which I have iterated the most.

These are my peristaltic pumps. I eventually arrived at a design with 4 axes with ball bearings and several potential axis positions for multiple hose diameters. I am using Nema 17 stepper motors.

pumps detail.jpg

I printed 8 pumps and ended up with a nice stability on the flow (0.302 ml / rotation +/- 0.05 ml depending on the pump). The design seems robust over time because after few weeks of usage, I asked a pump to provide 500ml and got 501 ml.
 

twelvefive

Well-Known Member
View Badges
Joined
Jul 2, 2013
Messages
576
Reaction score
314
Location
Alabama
Rating - 0%
0   0   0
This is awesome. I wish I had room to play with stuff like this under my tank.
 

taricha

5000 Club Member
View Badges
Joined
May 22, 2016
Messages
6,970
Reaction score
10,747
Rating - 0%
0   0   0
For the color measurement, I started with the cheapest RGB sensor available: the TCS34725 (~3$). I thought I would have to move to something more costly but in fact, definitely not! It measures the RGB channels with enough accuracy.
oh, that's good.
Screen Shot 2023-05-09 at 5.02.44 PM.png


You should be able to quantify any color condition that your eyeballs can distinguish.

Currently, as illustrated in the video, the robot is only able to perform liquid based colorimetric tests.
This isn't really much of a limitation. You can find liquid colorimetric versions of most anything you'd want to automate.
 

Tavero

Well-Known Member
View Badges
Joined
Aug 5, 2022
Messages
711
Reaction score
685
Location
Somewhere
Rating - 0%
0   0   0
For the calcium test, I am using the API one which is the only one that is based on liquid only so far that I know. Chemistry is not my favorite field! I am not sure what's inside.

To address the "liquid based only" test constraint, I plan to implement a robotic arm in a future iteration to handle tests involving powders. This clearly opens the door to many other interesting tests
Even though it may not be your favorite field i suggest that you learn about the analytical methods before continuing with your project. As impressive as it would be for your robot to handle solids, it isn't necessary. There is no reason to use powders.
Ati and salifert are using the same method.
Sample set to ph 12 with NaOH
Add indicator
Titration with EDTA until blue.
Only difference with ati is that the indicator is dissolved already and salifert uses a mix of EDTA and NaOH.
There shouldnt be an issue with dissolving the indicator in RO water, and i think it should store long enough in a sealed tube. Maybe @Randy Holmes-Farley knows about the stability.
 

Tavero

Well-Known Member
View Badges
Joined
Aug 5, 2022
Messages
711
Reaction score
685
Location
Somewhere
Rating - 0%
0   0   0
Even though it may not be your favorite field i suggest that you learn about the analytical methods before continuing with your project. As impressive as it would be for your robot to handle solids, it isn't necessary. There is no reason to use powders.
Ati and salifert are using the same method.
Sample set to ph 12 with NaOH
Add indicator
Titration with EDTA until blue.
Only difference with ati is that the indicator is dissolved already and salifert uses a mix of EDTA and NaOH.
There shouldnt be an issue with dissolving the indicator in RO water, and i think it should store long enough in a sealed tube. Maybe @Randy Holmes-Farley knows about the stability.
Indicator is called eriochrome black T.
 

Stevemillercali

New Member
View Badges
Joined
Aug 23, 2020
Messages
17
Reaction score
18
Location
92692
Rating - 0%
0   0   0
Hello,

I created a DIY robot to perform water analysis and to automate the balling supplementation. I would like to know from you if some people are interested to reproduce it. If so, I will create a true documentation, assembly instruction, some tutorials (peristaltic pump calibration, how to calibrate for new tests, etc.).

Let's start with a video showing the robot in action.




It is running on my tank with great accuracy since few weeks but it is still a work in progress.

Why a DIY solution?

- Because I am more confident using something that I have a perfect mastery of and that I can easily repair in case of issues.
- Because I would like to implement some feature that do not existin the commercial products in the future,
- Because I always need projects to keep myself occupied.
- Because the commercial products are too expensive for me.

Outlines

- My project runs on a Raspberry Pi and is able to perform liquid reagent based colorimetric tests.
- I have imposed on myself the constraint of using only reliable, accessible, and widely available components in the market for a total <500$ (excluding 3d printer).
- Most of the parts are 3d printed (including the peristaltic pumps).

Since deployed, 147 tests (KH and Ca) has been performed with success. Manual tests are still performed on a regular basis to confirm that the robot measurement are accurate (Fortunately, it is).

What remains to be done

- Design of a PCB. I iterated a lot on the electronic part. That is why, so far, all the components are on breadboards, with a tangled mess of wires.
- Front end: I will develop a web frontend (Web application using Bootstrap, VueJs, etc.). Currently, I am accessing it through some Jupyter notebooks.
- Fixing some 3d models (for example, some missing screw holes added by hand)

What could be the next iteration

- Having a double measurement of KH for safety. In addition to the colorimetric measurement, a ph probe based KH sensing (with acid injection) is added. With dual KH measurement, I would be confident enough to let fully the robot logic to drive the KH supplementation.
- Implementation of a salinity meter using some linear CMOS,
- handling powder based colorimetric tests with a DIY robotic arm (seems not easy to design...).


PS: My native language is not English, so please excuse me for any potential errors.

This just came out to the public, it’s called Kai. I’m definitely interested in something they would dose for me.
 

fr3n0z

Well-Known Member
View Badges
Joined
Sep 5, 2022
Messages
540
Reaction score
250
Location
France
Rating - 0%
0   0   0
Hi Benoit, would be nice of you could fork this project or I would if I could get the grasp. My idea is a colorimetric test reader "chamber" for who (like me) is color blind and can't really use colorimetric test without the help of someone. I will keep following your project hoping to extrapolate something for me. Your project is surely much cooler but out of my budget :D
 
Back
Top