I wanted to better estimate when the CO2 tank was running out, so I designed a simple IOT device. It utilizes an EPP32, load cell and the ESPHome firmware. Home Assistant integration couldn’t have been any easier.
3D Model: https://makerworld.com/en/models/1125732



ESPHome Config:
substitutions:
name: esphome-web-94876a
friendly_name: SodaStream CO2 Level
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
project:
name: esphome.web
version: '1.0'
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
platform: esphome
# Allow provisioning Wi-Fi via serial
improv_serial:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
captive_portal:
dashboard_import:
package_import_url: github://esphome/example-configs/esphome-web/esp8266.yaml@main
import_full_config: true
# To have a "next url" for improv serial
web_server:
sensor:
- platform: hx711
name: "CO2 Level"
dout_pin: GPIO4
clk_pin: GPIO5
gain: 128
update_interval: 120s
filters:
- calibrate_linear:
- -1006128 -> 100
- -400000 -> 0