osmoBuddy: RO/DI monitor and controller

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
Just sharing this quick side project: my osmoBuddy RO/DI monitor and controller.

IMG_6801.jpeg


It's built around an ESP32 and ESPHome, and feeds into Home Assistant. It monitors:

- Flow rate
- Up to three pressures from 0-5V sensors (currently using the post-filter and tank pressure)
- Up to three switches (floats, etc, currently unused)
- Up to four 24V valves or relays.
- One on-board dry-contact relay (for signaling other switches, like an APEX for AWC or other pumps).

It doesn't do TDS measurements yet, but that's coming up in a future spin.

The "controller" part of the equation are the valves, which right now are set to be the inlet valve and a flush valve. Both are direct acting non-diaphragm solenoid valves. The water inlet valve controls the water feed to the whole unit (and was purchased from McMaster, $$$, but it needs to be reliable). The flush valve is bridged across the flow restrictor which allows it to be turned on to flush the membrane (purchased from Aliexpress). The pressure sensors are the 1/8" NPT "100PSI" stainless sensors from Amazon - they're reasonable if not DOA, and monitor line pressure to know when to turn on and off the main inlet valve, and to monitor the post-carbon-sediment stage to check membrane inlet pressures (and know when things clog up).

When tank pressures drop below a threshold, the inlet and flush valve open up, doing a pre-flush at start. After about 30s the flush valve closes and the membrane starts producing. When the tank pressure hits the threshold, the flush valve opens again to flush the membrane, and after about 30s we shut off the water flow. The flush valve stays open for a few seconds to bleed off the pressure from the unit.

There is a flow sensor which is a little spinny impeller. I have it on the post-filter side currently, but it can be moved elsewhere. I haven't calibrated pulse rate to volume yet.

Case is still in progress. Will post some GitHub info as well.

IMG_6792.jpeg
IMG_6793.jpeg


IMG_6782.jpeg
Screenshot 2024-10-17 at 8.25.48 PM.png
 
Last edited:

Gizmoreef

Community Member
View Badges
Joined
Oct 2, 2024
Messages
58
Reaction score
45
Location
Belgium
Rating - 0%
0   0   0
That is a really cool project! I have tried to figure out how to build a fully automated rodi system and the only thing I'm stuck with right now is doing an automatic preflush before redirecting it into my rodi container.

I can create it using an apex and solenoids but I figured there must be a better way. Where did you find this pcb? Seems like they only have DCbuddy. Is it EOL?
 
OP
OP
theatrus

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
That is a really cool project! I have tried to figure out how to build a fully automated rodi system and the only thing I'm stuck with right now is doing an automatic preflush before redirecting it into my rodi container.

I can create it using an apex and solenoids but I figured there must be a better way. Where did you find this pcb? Seems like they only have DCbuddy. Is it EOL?

I'm running out of solenoid positions for this one if I wanted to guarantee moving 100% of my RO startup water to the drain line (need two more solenoid valves), and also run a boost bump and a salt water refill solenoid, well, I can't :). The upside is water quality here is really good so the TDS creep isn't a big problem, especially with flushing at startup.

It's not EOL since .. it exists as 5 copies sitting in a bin over here and that's it :). I made it derived from the layout of the DCBuddy but didn't get around to "productizing" it (I still have a backlog of DCBuddy projects to get to first, like the HD and Battery). I'll put the design files up on Github, and if you want a basic board I'm happy to send a handful out.

The actual basics of switching ports is super simple and could be done as a protobuild easily. Same with the analog sensors.
 

Gizmoreef

Community Member
View Badges
Joined
Oct 2, 2024
Messages
58
Reaction score
45
Location
Belgium
Rating - 0%
0   0   0
auto rodi.png


Basically using a simple T-junction and 2 solenoids I could achieve this fairly easy.

I need a sensor in the rodi container to trigger the solenoids, which can be done using HA but I'm not sure what the best way is to make that sensor ''accessible'' without buying an Apex or such atm.
Solenoid B opens, after 10 minutes, A opens, B closes, keeping the rodi unit going untill container is full and gets shut off by another sensor that detects full container. In a perfect scenario I have an inline TDS meter that I can readout in HA to switch as soon as TDS hits 0.

I really like what you are doing. Would love to build a similar setup.
 
OP
OP
theatrus

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
auto rodi.png


Basically using a simple T-junction and 2 solenoids I could achieve this fairly easy.

I need a sensor in the rodi container to trigger the solenoids, which can be done using HA but I'm not sure what the best way is to make that sensor ''accessible'' without buying an Apex or such atm.
Solenoid B opens, after 10 minutes, A opens, B closes, keeping the rodi unit going untill container is full and gets shut off by another sensor that detects full container. In a perfect scenario I have an inline TDS meter that I can readout in HA to switch as soon as TDS hits 0.

I really like what you are doing. Would love to build a similar setup.

That’s the setup I was thinking of.

My main RO tank has a float valve. I’m planning on adding a solenoid valve and attach the float switches in my salt water auto water change tank to the osmobuddy so I can auto-refill the tank when it runs out. That’s why I added the dry contact relay: it can signal the apex which currently runs the pumps to not run via a switch input until I’ve confirmed I added salt to the refilled tank. ;)
 

Gizmoreef

Community Member
View Badges
Joined
Oct 2, 2024
Messages
58
Reaction score
45
Location
Belgium
Rating - 0%
0   0   0
Really clever! I really love projects like this and don't understand why people spend thousands on gear and not try to fully automate their rodi and mixing station. The technical aspect I find very very interesting.

If you ever have these boards available commercially, I would love to give it a go and see what I can come up with!

I want to extend my mixing station: I need a rodi container, salt container and freshwater container.
I was playing with the idea to dose highly concentrated salt fluid with a peristaltic pump to minimize time mixing salt manually and to do it less often but not sure how achievable this is.

I also have a Kamoer X2SR and would like to completely automate my waterchanges with tubing through the basement for all my big tanks.
 
OP
OP
theatrus

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
Added the last pressure sensor: inlet pressure (before the sediment/carbon blocks). The display shows the pressure drop over the filter blocks before the membrane now.

Also a new front case and wall mount. :)

IMG_6801.jpeg
 
OP
OP
theatrus

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
Curse you for giving me more ideas!! I'm procrastinating enough in the ones I already have!

Awesome work, I'll be referencing this in the future for sure!

This project literally started with the premise "I should flush my membranes more than once in a few months or years". And then got done quickly because I realized my unit had plugged sediment/carbon blocks and a failed mechanical shutoff valve (it had literally been installed in the unit since 2009?). Just need to add TDS monitoring to HomeAssistant :)
 
OP
OP
theatrus

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0
if you find a decent compatible tds module with HA support, let me know!

If you're willing to just use some analog inputs, there are numerous TDS-to-voltage boards, super cheap with the sensor. https://www.dfrobot.com/product-1662.html Note however they don't have any temperature compensation. Kinda interesting cute design though. Add to an ESP32 with an ADC and you'll get at least some trending.

I was going to adapt this design (with some simplifications - you can just use two ADC channels for bipolar reading and drive the AC current through the MCU): https://github.com/cumhuronat/tds as an addon or standalone. I have a handful of TDS probes with thermistors here to test with, but haven't gotten to this design yet.
 

BeanAnimal

5000 Club Member
View Badges
Joined
Jul 16, 2009
Messages
5,071
Reaction score
8,108
Rating - 0%
0   0   0
I built a similar system a few years back in pursuit of 1:1 or less waste. Auto flush, tds, auto bypass, pressure monitoring for pre filter health, etc. graphic LCD…. It sits on the shelf, just never go around to actually integrating it after testing. Sad but true.
 

Gizmoreef

Community Member
View Badges
Joined
Oct 2, 2024
Messages
58
Reaction score
45
Location
Belgium
Rating - 0%
0   0   0
I built a similar system a few years back in pursuit of 1:1 or less waste. Auto flush, tds, auto bypass, pressure monitoring for pre filter health, etc. graphic LCD…. It sits on the shelf, just never go around to actually integrating it after testing. Sad but true.
I’ll send you my address
 

BeanAnimal

5000 Club Member
View Badges
Joined
Jul 16, 2009
Messages
5,071
Reaction score
8,108
Rating - 0%
0   0   0
If you're willing to just use some analog inputs, there are numerous TDS-to-voltage boards, super cheap with the sensor. https://www.dfrobot.com/product-1662.html Note however they don't have any temperature compensation. Kinda interesting cute design though. Add to an ESP32 with an ADC and you'll get at least some trending.

I was going to adapt this design (with some simplifications - you can just use two ADC channels for bipolar reading and drive the AC current through the MCU): https://github.com/cumhuronat/tds as an addon or standalone. I have a handful of TDS probes with thermistors here to test with, but haven't gotten to this design yet.
HM digital probes have thermistors built in. They provide an unamplified mV signal. They are not helpful with integration guidance. I simply used trial and error to get output to match an HM meter.
 

StickyThwomp

Community Member
View Badges
Joined
Oct 23, 2022
Messages
36
Reaction score
25
Location
Wisconsin
Rating - 0%
0   0   0
HM digital probes have thermistors built in. They provide an unamplified mV signal. They are not helpful with integration guidance. I simply used trial and error to get output to match an HM meter.
Sounds like you've got yours operational, but for others, This GitHub might be a good resource. I haven't used it, nor vetted it in great detail, but at a glance it appears to be a functioning example of how to read these probes and has a link to a research paper that goes a bit more in depth.
 
OP
OP
theatrus

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,223
Reaction score
3,632
Location
Sacramento, CA area
Rating - 0%
0   0   0

HAVE YOU EVER KEPT A RARE/UNCOMMON FISH, CORAL, OR INVERT? SHOW IT OFF IN THE THREAD!

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top