Inhaltsverzeichnis
Short description

Everyone who owns a SodaStream has probably asked themselves how full my CO2 cylinder is. In most cases the cylinder is empty once you have been shopping. Most SodaStream users have a second cylinder, but it still sparked my creativity to come up with a simple solution.
The small software program is currently used to determine the number of impacts pressed and shown on the display (line 2). In line 3 is the added time of the duration / length of the pushed pushes. These values can be used to roughly estimate how much Co2 is still in the cylinder. What is shown graphically in line 4 by means of a progress indicator.
Hardware required
- Wemos D1 mini (ESP8266)
- Limit switch Ender 3 Pro
- OLED Display I2C 0,96 Zoll
- Cable / single wires
- 3D Printer + Filament
- Soldering iron with equipment
Software required
- Arduino IDE
- Tinkercad
- Ultimaker Cura / Prusa Slicer
3D Printer settings

Print Settings
- Printer brand: Creality
- Printer: Ender 3 Pro
- Infill: 20%
- Filament brand: Amazon Basics 3D-Drucker-Filament
- Filament color: black
- Filament material: PLA
3D Printer Tinkercad STL File

Arduino IDE Software Code
I have to adapt to publish (currently code excerpt).
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <ESP8266WiFi.h>
#define SCREEN_WIDTH 128 // display width, (pixels)
#define SCREEN_HEIGHT 64 // display height, (pixels)
// I2C connected display SSD1306
#define OLED_RESET 0 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define NUMFLAKES 10 // Number of snowflakes in the animation example
#define LOGO_HEIGHT 16
#define LOGO_WIDTH 16
static const unsigned char PROGMEM logo_bmp[] =
{ B00000000, B11000000,
B00000001, B11000000,
B00000001, B11000000,
B00000011, B11100000,
B11110011, B11100000,
B11111110, B11111000,
B01111110, B11111111,
B00110011, B10011111,
B00011111, B11111100,
B00001101, B01110000,
B00011011, B10100000,
B00111111, B11100000,
B00111111, B11110000,
B01111100, B11110000,
B01110000, B01110000,
B00000000, B00110000 };
Result Pictures
ToDo
- Wemos D1 Mini ESP.deepSleep
- One Case for alle the stuff
- Smaler Display Case
- Battery shield + display battery status
- Change Wemos D1 Mini to ESP8266 BLE + IOS App