Support Forum

Share your projects and post your questions

Register   or   Sign In
The Forum

selecting Water Pressure Sensor

6688 Views - Created 26/07/2020


Posted by:
harvey mushman

harvey mushman Avatar

I'm new to RPi and 1 wire development. Uses RPi4 and Python for project to control hydronic heating system that includes six motors which turn on/off seperate water flow circuits. In this application I plan to monitor pressure, flow and temperature. The goal is to watch when water passing through solar collector (heat generator) gets hot enough to transfer into circuit that consumes heat, such as swimming pool heat exchanger (pool water is seperate from closed main loop of hydronic water), the water pump will run as long as the heat exists.

First question, selecting a pressure sensor, which is required to ensure ample water is always in the system? There are a lot of options available but knowing which ones will interface to the 1 Wire bus has me searching for examples without finding anything for the RPi application.

I'm using the AB Electronics 1WirePiPlus interface PCB. My working pressure range is from 0-100psi.

Any sample Python code and recomendation for sensor would be greatly appreicated.



Posted by:

andrew Avatar

United Kingdom

andrew Twitter  andrew Website  

Hello Harvey

I don't know of any 1-wire devices that will measure pressure directly. Maxim used to make a DS2450 1-wire 4-channel ADC which could be used to measure the voltage from any pressure sensor that gives an analogue voltage but it looks like the chip has been discontinued so you would have to find someone with old stock.

If you only need to know when the pressure drops below a safe level you could use a pressure switch connected to a DS2413 dual-channel programmable I/O 1-wire chip. Select a pressure switch that switches at your minimum safe pressure and connect the output to one of the inputs on the DS2413. When the pressure drops below the limit the value on the DS2413 would change from 1 to 0.

With OWFS installed the DS2413 would appear as a directory beginning with 3A in /mnt/1wire. Each input is called sensed.A and sensed.B so to read an input you would open file /mnt/1wire/3A.9D3F57000000/sensed.A and read a value of 0 or 1. You can do this in python using the open function.

The DS2413 will not tell you what the pressure is exactly but it will allow you to check if the pressure drops too low. I use one of the DS2413 chips on my solar heating system to tell me if the pump is running.


Posted by:
harvey mushman

harvey mushman Avatar

Thank you for your reply.

Maxim has always created interesting chips, I remember using some of their DTMF chips to create telephone projects back in my history... For this project they will be over kill.

I found a Pressure Transducer at Amazon that is priced ok and fits the pressure range I'm looking for but is not a 1 Wire device. I've already ordered the ADC PCB from the store on this site so I guess I can experiment with it. My concern with doing this is the accuracy after I calibrate the output readings with a handheld guage. Over time if there is any voltage or temperature drift... well I don't want to overpressurize the main hydronic loop but rather kee it between 25-40 PSI.

My Python app will monitor the pressure and if it drops below 25 PSI then will signal a solenoid valve to open until the pressure reaches 40 PSI. Although the main loop does not lose much water, over the past several years it has sprong a leak and that caused my solar array of 8 x 32 evacuated solar tubes to reach an over heating state... they were creating steam and the noise of the copper flexing was the only alert I had. So while I'm upgrading the entire control system to a RPi from an off-the-shelf monitoring system, this is one of the readings I want to start collecting.

Again thanks for the suggestions.



Sign in to post your reply

Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view.
Download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.