Gas pressure gauge (e.g. for CO2 bottles) - Good recommendations?

I’m looking for a way to bring the gas pressure of a CO2 bottle into openHAB. Does anyone have any good recommendation for that use case? I did a search online, but couldn’t find anything. Tinkering would not be a deal breaker (though I’m hesitant to go down the “video-OCR-gauge-path”, which would always be the fallback).

I use this for water pressure


What’s your setup for extracting and processing the signals?

ESP32 using ESPHome.

Do you know of any documentation online of the wiring and signal interpretation?

This is one example, even with basic soldering skills pretty easy to make. You can use an ESP32 or ESP2866. If you google you will find many examples. You could also use a raspberry pi to do this.

If you decide to go with a ESP32 use this binding ESPHome binding for the Native API - #104 by Ergoliner and ESPHome.

For what it’s worth, a CO2 pressure guage can’t tell you how much gas remains in the tank.
It can only tell you:

  1. That the tank is completely empty (99.99%).
  2. The temperature of the room (indirectly).
    Because co2 condenses into liquid in a pressure vessel, it will always read the same pressure until all of the liquid is gone. Yes, the pressure will start to drop when liquid gone, but functionally it’s already empty. The tank pressure changes correlated to the temperature of the room. Only a scale can tell you how much gas remains (in case that’s what you’re going for).
1 Like

Good point, thanks.

In case you have experience with pressurized CO2 bottles: Assuming I need a certain pressure (e.g. 4 bar for my drinking water), and the bottle is nominally at 50 bar, will it go down to zero the moment it’s empty? Or will I have some pre-time upfront?

What I have in mind: Get a notification when the bottle starts to get empty. A notification that the bottle is empty defies a bit the purpose. :wink:

Yes, a lot. I’ve had a sodastream-on-steroids setup for years, i.e 20# CO2 tank with a Pressure Reducing valve (to ~90 PSI working pressure).

I think you want to know how much time you have from the tank pressure change (notification) until you can’t carbonate your beverages anymore. In my case, a 20# tank last about a year using the setup daily. I get 1 ‘day’ of use from the time the pressure starts to drop before it’s no longer up to the task. That is, the tank could be as much as 99.8% empty when you get your warning. A spring and a mechanical switch could be used to trigger the warning you want. Propane tanks have the same issue, so some gas grills are configured to ‘hang’ the propane tank from a spring-loaded indicator. The tank moves up as the weight decreases. As it moves, the indicator changes.

My solution is to just keep two tanks. That way, I have plenty of time to go to get a refill, and/or have my tank re-certified (DOT recertification required every 5 yrs in the US). A warning doesn’t do you that much good anyway, since you want to use it all of the CO2. It will run out when it runs out, and you’ll be inconvenienced when it does, whether or not you had warning.

Thanks. Good point. Saves me lots of hassle!

Alternative thought: Just put the entire bottle on a scale and measure the weight via an ESP. Not super precise, but should do the job with a linear weight degradation until 0 kg CO2?

Please share what you come up with. I’ve had several applications like this where I’ve wanted to programmatically weight things and integrate the data, but I never was able to prioritize it.

e…g. Instead built a particulate counter integration in my workshop. I pull the data into OH via RS232, and programmatically trigger an air filter to come on via a z-wave Fibaro smart implant Runs until the air is at safe levels and turns off.

I’m curious, do you have a particular scale in mind that is friendly to this kind of hack? What output would you hook to know the current weight?

I’ll have to finalize my carbonizer first, but I’m looking towards a route similar to this approach: HX711 basierte Waage • Wolles Elektronikkiste (

That looks like a nice option for a scale.
Let me know what you come up with for you carbonator/carbonizer as well.

In case it helps you: My Co2 setup is quite simple, but effective (unchanged for more than 10 years). I fill a few 1L plastic (PET) soda bottles with about 25% with water and freeze them on the side to maximize the surface area of the ice. I take a bottle from the freezer, and fill it to about 80% with with filtered water, leaving about 20% headroom. Using a special cap, I connect to the bottle to my CO2 tank (with the PRV set to about 70 PSIG, a bit lower/safer than the industry standard 90psi), I open the valve and shake the bottle vigorously until it reaches equilibrium, about 20-40 sec. The water becomes INSANELY carbonated. Friends call it “exp1$10n water”. I transfer the water to glass bottles made by VOSS. The Voss water is obscenely expensive but the bottles it comes in is absolutely fantastic and ‘included for free’ :-). I repeat the process until the ice in the 1L bottle is melted, and my assortment of glass bottles are full.

For strong carbonation, the top 3 factors for success are:
1: Water must be at 0C, 2. Water must be at 0C, and 3. Water must be at 0C. Not “Cold”. 0C.

Please assume that everything I’ve described is extremely unsafe, should only be conducted in a controlled environment with safety experts standing by, and should NOT be copied or repeated by anyone for any reason without professional consultation in matters of safety and health!

Wow. Sounds wild!