Softener Level Indicator

by loolyk in Circuits > Electronics

265 Views, 0 Favorites, 0 Comments

Softener Level Indicator

g20230921_140831.jpg
2023-09-21_11h53_02.png
t20230921_140946.jpg

I have designed a device that allows me to measure the water softener's fill level. The device's casing is 3D-printed, and at its core, it houses a NodeMCU ESP32 module running open-source firmware that I've programmed with my measurement logic.

Supplies

  • Screen I2C Display 128 x 64 Pixel : SSD1306
  • Time to fly sensor : VL53L0X ( I preferred using a Time-of-Flight (ToF) sensor rather than ultrasound for its versatile use and measurement accuracy )
  • NodeMCU Module : ESP32 vroom

...Welding equipment and various tools

3D Printing

2023-09-21_11h53_02.png

Download and print the STL file with your favorite 3D Printer.

I left the settings of my Cura slicer at default, using standard PLA (transparent) for normal printing.


Electronic Assembly

2023-09-21_15h06_07.png

Use the diagram to guide you in carrying out the electronic assembly.

Firmware ESP

2023-09-21_15h11_35.png

I flashed the NodeMCU with the ESPEasy firmware by following the instructions on the Let's Control It website: https://www.letscontrolit.com/wiki/index.php/ESPEasy

After configuring the module on my Wi-Fi network, I created custom rules that you can find on my GitHub: https://github.com/loolyk/SoftenerLevelSensor/blob/main/ESP_Rules

And After ?

I'm using the MQTT protocol to establish a connection with my home automation system, which enables me to monitor the consumption, in my case, it's salt level. I also receive notifications when the level drops below a certain threshold. Of course, you can adapt this setup to your specific needs. However, I recommend delegating this kind of logic to your home automation system since the capabilities of rules are quite limited in terms of complexity.


List of supported protocol :

1.1 Domoticz HTTP

1.2 Domoticz MQTT

1.3 OpenHAB MQTT

1.4 PiDome MQTT

1.5 Nodo Telnet

1.6 ThingSpeak

1.7 EmonCMS

1.8 Generic HTTP

1.9 Generic HTTP Advanced

1.10 InfluxDB HTTP Api (via Generic HTTP Advanced)

1.11 Nettemp HTTP Api (via Generic HTTP Advanced)

1.12 FHEM HTTP

1.13 Generic UDP