• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

Pressuremon, DIY pressure monitor for kegs

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

mper

Supporting Member
HBT Supporter
Joined
May 24, 2020
Messages
418
Reaction score
133
I'm finally launching my latest project, Pressuremon which is a DIY digital pressure monitor for your kegs or fermentation vessel. Released as open source as usual.

You can read more about the project here on my blog

Its basically a battery operated esp32 device that measure pressure / temperature and can forward that to any remote service. It's based on my Gravitymon software and have the same look and feel.

Feedback is appreciated as always.
 
i cant read a spunding valve remotely and i want to see the pressure in my kegs that i have in storage or in my keezer from my dashboard
 
Last edited:
why do you need to see the pressure in the kegs. if the seals are good then theres pressure there. i never montior my kegs carb level by there pressure. i set it and forget it. pretty much. if the pressure is low the tap will pour a little slower than ususal. if high it will be a lot of foam.
 
@mper
Great, I've been using gravitymon for a while as an early adapter.
You kindly made tempmon which I use in my keg fridges.
I've built the brewpiless with a pressure sensor and valves for autospunding, this uses the ADC built into the ESP32.
Like the idea of being able to remotely monitor the pressure in my keg fridge.
Would love to be able to have a small screen to display temp and pressure.

I will have to look at the parts I've got lying around.
 
@mper
Great, I've been using gravitymon for a while as an early adapter.
You kindly made tempmon which I use in my keg fridges.
I've built the brewpiless with a pressure sensor and valves for autospunding, this uses the ADC built into the ESP32.
Like the idea of being able to remotely monitor the pressure in my keg fridge.
Would love to be able to have a small screen to display temp and pressure.

I will have to look at the parts I've got lying around.
well, it would be possible to add a small OLED like the 0.96" i2c displays, i have several lying around. You would need to have it always on in that case. I plan to integrate this with Kegmon so you can get the pressure on those screens as an option. I will use bluetooth for that option.
 
great
i will definitely have a look at this, have been using pressure monitoring on an esp8266 for a long time now to keep an eye on my pressure ferment but it's quite a simple setup compared to yours
 
have you considered the xgzp6847 pressure sensor? cheap small and can be contained on the PCB in the project box with just a 3mm pipe to connect to the fermenter/keg, uses the analog input to the ESP32 and runs from 0.5V to 4.5V on a 5V supply but can run on 3.3v. it's the device i am using at the moment. Will your project accept analog inputs?
 
have you considered the xgzp6847 pressure sensor? cheap small and can be contained on the PCB in the project box with just a 3mm pipe to connect to the fermenter/keg, uses the analog input to the ESP32 and runs from 0.5V to 4.5V on a 5V supply but can run on 3.3v. it's the device i am using at the moment. Will your project accept analog inputs?
I have tried a few pcb mounted pressure sensors, the problem is the connection to the keg, so I prefer to use sensors that are complete and ready for use.
 
have you considered the xgzp6847 pressure sensor? cheap small and can be contained on the PCB in the project box with just a 3mm pipe to connect to the fermenter/keg, uses the analog input to the ESP32 and runs from 0.5V to 4.5V on a 5V supply but can run on 3.3v. it's the device i am using at the moment. Will your project accept analog inputs?
I have tested using analog inputs but that is not yet enabled. I think the ADC in the esp32 is to weak so I would opt for an external ADC with better resolution in that case. But I have not verified the accuarcy of any analog sensors yet
 
When I had my brewpiless made with an Esp8266 I used the separate ADC.
Changing to ESP32 the sensor worked fine without the ADC.
 
When I had my brewpiless made with an Esp8266 I used the separate ADC.
Changing to ESP32 the sensor worked fine without the ADC.
My software supports the ADS1115 as an external ADC. I haven't enabled that feature yet since I want to do some more testing.
 
I have tried a few pcb mounted pressure sensors, the problem is the connection to the keg, so I prefer to use sensors that are complete and ready for use.
i used copper pipe to adapt from 3mm to 8mm (both sizes are used in refrigeration) to connect into the spunding valve pressure guage point soldering the two pipes sizes together, the ads1115 facility will be helpful to get this project working for me as i have plenty of them
 
i used copper pipe to adapt from 3mm to 8mm (both sizes are used in refrigeration) to connect into the spunding valve pressure guage point soldering the two pipes sizes together, the ads1115 facility will be helpful to get this project working for me as i have plenty of them
I have the code ready for that setup, the challenge is how to configure the sensors in the User Interface. But I can make it an easy setup since I would need the following values for the sensor; min Voltage, max Voltage, minPressure, maxPressure
 
have you considered the xgzp6847 pressure sensor? cheap small and can be contained on the PCB in the project box with just a 3mm pipe to connect to the fermenter/keg, uses the analog input to the ESP32 and runs from 0.5V to 4.5V on a 5V supply but can run on 3.3v. it's the device i am using at the moment. Will your project accept analog inputs?
I think i tried those sensors a while back, probably have a few lying around. I dropped them when i found the XIDIBEI sensors which is a little more expensive but food safe.
 
I have the code ready for that setup, the challenge is how to configure the sensors in the User Interface. But I can make it an easy setup since I would need the following values for the sensor; min Voltage, max Voltage, minPressure, maxPressure
i think that would work perfectly as the devices are internally calibrate with a dedicated chip and work between 0.5V and 4.5V with a linear profile, mine are 0 to 200kpa.
 
I've ordered the pico and the switches..
Circuit board is an insane 4.5 x the cost of the 5 boards to post to New Zealand.

So I think I'll be doing a little wiring down here!

Will try it out with the ADC as I have 2 on the shelf and the sensor that works with it.
 
I've ordered the pico and the switches..
Circuit board is an insane 4.5 x the cost of the 5 boards to post to New Zealand.

So I think I'll be doing a little wiring down here!

Will try it out with the ADC as I have 2 on the shelf and the sensor that works with it.
Yes, the postage is really expensive. The schematic is quite simple and really easy to create the wiring on a experimental board. I will update the docs with the ADS1115 option as well, it should be powered from the same pin as used for power to the digital sensors and connected to I2C bus #1.

I have enabled the analog sensor feature in the v0.6 version (which is in the dev branch) but I still have some testing to do.
 
Yes, the postage is really expensive. The schematic is quite simple and really easy to create the wiring on a experimental board. I will update the docs with the ADS1115 option as well, it should be powered from the same pin as used for power to the digital sensors and connected to I2C bus #1.

I have enabled the analog sensor feature in the v0.6 version (which is in the dev branch) but I still have some testing to do.
Thanks I noticed the 0.6 was there and the addition of the ADC, hence my purchase of the Pico.
It's a lot easier to project board the pressuremon than the brewpiless with two different voltage supplies, the temp sensors, temp controllers and the valve to go from open ferment and then autospunding.
It's an embarrassing birds nest.
 
Would it be possible to get the pressure information relayed onto Raspberry pints?

Second question is can I leave the temp sensors off the pressure mon as my Pints setup has two temp sensors already.
 
Thanks I noticed the 0.6 was there and the addition of the ADC, hence my purchase of the Pico.
It's a lot easier to project board the pressuremon than the brewpiless with two different voltage supplies, the temp sensors, temp controllers and the valve to go from open ferment and then autospunding.
It's an embarrassing birds nest.

Would it be possible to get the pressure information relayed onto Raspberry pints?

Second question is can I leave the temp sensors off the pressure mon as my Pints setup has two temp sensors already.
Probably, if there is a mqtt or http api then you can send data to it. I have not tested that though. If you figure it out then let me know and i can add it to the documentation

All sensors are optional so you dont need any temp sensor.

Adc is enabled but i have some more tests to do to make sure it works fully
 
just realised that you can put ispindel data into rpints already so once I've made the sensor I'll link it up and see what happens.
 
Circuit board is an insane 4.5 x the cost of the 5 boards to post to New Zealand.
I found the same issue so didn't place the order in the end. Instead I ended up using those small 170 point (35mm x 47 mm) breadboards which leaves one row either side of the pico for connecting dupont connectors.

The Xidibei sensors have internal pull up resisters and we also didn't need the temp sensor so only the reset and force configuration connections were needed. These are wired to small push button switches mounted on the lid of a 3D printed case. The sensor is wired to a 4 pin mini-DIN so it can be easily disconnected from the case. The DIN socket is connected directly to the I2C socket on the Pico and we decided to switch the positive lead of the battery rather than grounding the EN pin to turn the unit on and off. Therefore, only 4 dupont pins were required. The disadvantage of this is the unit has to be turned on to charge the battery (not really an issue). The USB C connection is available through an oval hole in the case so the case will only need to be opened for repairs. All pretty easy to do except for crimping the 2.0 JST connectors for the battery connection (had to buy a new crimper). For the I2C plug, we bought some prewired connectors twice the length we needed and cut them in half.

The Xidibei sensors are available with various analogue outputs as well as the I2C interface initially used by mper and different connections including BSPP, BSPT and NPT. We went with I2C and BSPP which are mounted on 1.5" tri-clamp fittings. These are mounted alongside the analogue gauges on unitanks which gives us remote readout and data logging and graphing.

One thing I noticed when testing the accuracy of the sensors is the analogue gauges shipped with the fermenters read up to ±1 psi from the precision digital gauge used to check the accuracy of the sensors. The accuracy of the analogue gauges also varies depending on whether the pressure is increasing or decreasing. This is something we suspected all along so not surprising but they are still installed to provide a local readout at the fermenter.

To answer fluketamer, this technology is very handy to determine when fermentation is complete and for conditioning beer in a unitank - primarily to access remotely but also to overcome the shortcomings of analogue gauges. Our spunding valve is good for the first item but isolated during conditioning and a webcam is required for remote monitoring. Yes this is for a (very small) commercial brewery but my 45L home brewery is using the same system and control software. And, this was quite cheap to build with a little bit of (arguably) fidly soldering with some small wires.

I should say however this was only possible because mper was keen to take the project on, is such a good programmer and was able to integrate it with his other projects which are worth checking out. His iSpindle replacement software GravityMon for one is excellent.
 
Interesting this just arrived, I was checking the sensors I have on the shelf and they are these.

https://www.aliexpress.com/item/100...order_list.order_list_main.606.55461802Qd2LCn
That sensor should work fine once mper has the analogue part of the code fully implemented and tested, I think he is close. Nice that it has a quick disconnect integrated into the housing. I did see those when looking for a sensor but specifically wanted the I2C interface and the Xidibei sensor was about the same price and a bit more configurable. Xidibei also stated they had open source drivers but, as mper found out, the documentation wasn't consistent or very good. He managed to sort it out however and they have been working great.

Regarding the ESP32 board, I used a couple of different ones for testing while mper was developing the code and I was waiting for the C3 Picos to arrive. They worked fine once the target was set up correctly in platformio.ini and the appropriate arduino.h file was pointed to. At least one of the boards was based on the Espressif WROOM assembly (I gave the other one to a grandson for a school project because it had an integrated display and don't remember). The advantage of the Lolin C3 pico mper found is the integrated battery charger (which my wroom based board also has) and of course its size.
 
Any esp32 based board should work with the the software, currently the ESP32s2 mini, s3 min, c3 mini and c3 pico will work. Adding support for other boards is easy, its just the pins that needs to be defined.

I have integrated the code for the ADS1115 in the dev branch and I'm currently trying to get the second i2c sensor to work on the c3 which has been a challenge since that board only have one i2c hardware controller.... Once this is tested I will make a new release, I just need to do some tests to see that I get a valid response from the analog sensor that looks correct.
 
i have been testing this out on an esp32 C3 super mini board with the ADS1115 and a xgzp6847, i have it working but have a snag, it went to sleep and refuses to wake up, is there any way to disable the sleep function as i won't be needing it, i want the device to be always on.
also the display does not show the temperature only the pressure (uncalibrated at present).
 
I have the solution for the sleep issue I have just set the voltage above the config setting (just as with the gravitymon project).
I have an issue with the pressure blanking out with a small positive value, does this need to be calibrated with full pressure before it will work? I can read small negative values ok.
 
i have been testing this out on an esp32 C3 super mini board with the ADS1115 and a xgzp6847, i have it working but have a snag, it went to sleep and refuses to wake up, is there any way to disable the sleep function as i won't be needing it, i want the device to be always on.
also the display does not show the temperature only the pressure (uncalibrated at present).
There are two ways to disable the sleep mode using hardware wiring, either connect the voltage pin to ground or connect the TX/RX pins. Both those should force the device to be always on.

If you dont get a valid temperature reading then nothing will be shown, Check the web UI or the hardware scanner to see that the temp sensor is detected correctly.
 
There are two ways to disable the sleep mode using hardware wiring, either connect the voltage pin to ground or connect the TX/RX pins. Both those should force the device to be always on.

If you dont get a valid temperature reading then nothing will be shown, Check the web UI or the hardware scanner to see that the temp sensor is detected correctly.
I found an issue with the printout of the temperature so it will be fixed today
 
uploaded the new build everything working nicely on my esp32 C3 super mini board just need to check my pressure calibration with the ADS1115 and XGZP6847A looks to be working.
excellent work thanks
 
Just wondering the picture on your blog of the PCB layout now looks as if it has been updated with two switches?
Yes, the picture on the Pressuremon Launch page looks like the latest version 1.3 of the board. Not sure if it was different when the announcement was posted. You can find the latest pcb layout here if you have KiCad:

https://github.com/mp-se/pcb-designs/

You can use a pushbutton switch to initiate the Force Config mode as it only needs to be engaged for a couple of seconds when the unit is turned on.

How is your build going?
 
Struggling to get a really nice solder of the pins onto the board, seems to be balling up on the top of the pins.
I didn't have any trouble but I do have a fairly fine point soldering iron which makes it easier to heat both the hole trace and pin. Having said that, the Pico is a small board and the holes are very close together making it a challenge regardless.
 
It's strange that haven't had problems making multiple brewpiless or ispindels.
I've pressed on and fixed the ADC and the sensor is wired in so tonight I'll upload the firmware and see if it works.
 

Latest posts

Back
Top