SodaStream CO2 Tank Scale IOT

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

Da Data

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