Complete installation, rail mounting, Wi-Fi pairing, floor calibration, and smart home setup guide for water softener brine tanks.
BrinePulse fits all standard round and rectangular brine tanks up to 18" (460 mm) span. If your brine tank is wider or oversized, simply email us at brinepulse.support@gmail.com and we will express-ship a custom extension adapter free of charge!
BrinePulse installs in under 30 seconds with zero tools, drilling, or screws. The cantilever rail simply rests across your existing brine tank rims.
Position the center sensor at least 2 inches away from the cylindrical brine well tube. This ensures the laser measures true salt depth rather than the plastic float pipe.
BrinePulse features pure Wi-Fi SoftAP onboarding — no finicky Bluetooth pairing required. It connects directly to your home 2.4 GHz network.
BrinePulse-Setup (or BrinePulse-XXXXXX).BrinePulse-Setup. When prompted for password, enter:
http://192.168.4.1).If Android displays a prompt saying "This Wi-Fi network has no internet access", tap "Stay Connected" so your phone doesn't disconnect before entering your Wi-Fi password.
Once on your Wi-Fi, BrinePulse provides real-time salt telemetry via the unified BrineLink mobile app and a built-in local web dashboard.
You can also access the monitor directly from any web browser on your home network by visiting:
BrinePulse comes pre-configured with standard factory dimensions (50 mm full to 800 mm empty floor), which works out of the box for most standard water softeners. For pinpoint accuracy tailored to your specific tank height, calibrate the floor baseline when your salt level is low.
Perform empty calibration when the salt level drops near the bottom grid/plate of your brine tank, before refilling with fresh salt bags.
The integrated diffused Blue status LED and tactile action button provide immediate diagnostic feedback directly at your softener tank without needing a phone or computer.
| Action | Duration | Function | LED Response |
|---|---|---|---|
| Quick Tap | < 5 seconds | Force Immediate Sensor Reading / Refresh | Single Blue Flash |
| Hold 5–9 Seconds | 5 to 9 seconds | Calibrate Empty Tank Floor (0%) | Double Blue Flash (flashes twice at 5s) |
| Hold 10–14 Seconds | 10 to 14 seconds | Reset Calibration to Factory Defaults (50mm / 800mm) | Triple Blue Flash (flashes 3× at 10s) |
| Hold 15+ Seconds | > 15 seconds | Reset Wi-Fi Network Credentials (re-enter AP setup mode) | Rapid 5× Blue Flash → Slow Pulse |
Note: BrinePulse features a single high-visibility Blue LED. Operational states and hold confirmations are indicated by blink cadence and pulse counts (salt level is monitored via the mobile app or Home Assistant):
| LED Pattern | System / Connection Status | Meaning & Recommended Action |
|---|---|---|
| Solid Blue (Steady On) | Normal Monitoring & Online | Connected to Wi-Fi network and actively monitoring salt depth. System healthy. (Can be toggled off via app or Home Assistant). |
| Slow Continuous Pulse | Wi-Fi Setup / Connecting (1 Hz) | Broadcasting BrinePulse-Setup hotspot or associating with your home router. Connect phone to setup hotspot if configuring. |
| Double Blue Flash | Empty Floor Baseline Confirmed (0%) | Triggered at 5s button hold. Current floor distance successfully saved to onboard flash storage as 0% empty baseline. |
| Triple Blue Flash | Factory Calibration Reset Confirmed | Triggered at 10s button hold. Sensor calibration reset to defaults (Full: 50mm, Empty: 800mm). Wi-Fi and Cloud ID preserved. |
| Rapid 5× Blue Flash | Wi-Fi Credentials Erased | Triggered at 15s button hold. Wi-Fi credentials wiped from NVS; device reboots into BrinePulse-Setup setup mode. Device Cloud ID is preserved. |
| Off | No Power or LED Toggled Off | Check 5V USB-C power connection, or toggle LED switch back on in the mobile app or Home Assistant. |
BrinePulse natively integrates with Home Assistant via the official ESPHome integration — delivering 100% local, lightning-fast, encrypted updates with zero cloud dependencies.
Once BrinePulse joins your Wi-Fi, Home Assistant automatically discovers it under Settings → Devices & Services.
The shared API encryption key can be retrieved from two places:
http://brinepulse-XXXXXX.local (or the device IP from your router/app) and copy the key from the HA Encryption Key entity row.⚠️ The encryption key is not printed on the physical device or packaging.
brinepulse-XXXXXX.local (replace XXXXXX with your device's 6-character MAC suffix, or enter the local IP address). Port: 6053.| Type | Entities & Description |
|---|---|
| Sensors |
sensor.salt_level_percent (0%–100% salt level percentage)sensor.raw_distance (current distance to salt surface in mm)sensor.salt_volume (calculated salt mass / volume)sensor.empty_baseline_distance (calibrated floor distance, e.g. 800 mm)sensor.full_threshold_distance (full tank distance, e.g. 50 mm)sensor.wifi_signal_strength (Wi-Fi RSSI in dBm)
|
| Text Sensors |
text_sensor.device_cloud_id (Unique device UUID)text_sensor.ha_encryption_key (API encryption key)text_sensor.wifi_ip_address, text_sensor.wifi_ssid
|
| Switches |
switch.led_control (Enable or disable status LED indicator)
|
| Buttons |
button.calibrate_empty_tank (Trigger empty tank calibration remotely)button.restart_device (Reboot ESP32 controller)
|
Add this automation in Home Assistant to receive a notification on your phone when salt drops below 20%:
alias: "Notify When Water Softener Salt Is Low"
trigger:
- platform: numeric_state
entity_id: sensor.salt_level_percent
below: 20
action:
- service: notify.notify
data:
title: "Water Softener Alert"
message: "BrinePulse reports your salt level is down to {{ states('sensor.salt_level_percent') }}%. Please add 2 bags of salt."
mode: single
BrinePulse runs native open ESPHome firmware with full Over-The-Air (OTA) wireless update capabilities. You can update wirelessly via Home Assistant, through the device web interface, or download the compiled binary directly:
Our direct engineering team is ready to help with mounting, calibration, or network connectivity. If your brine tank is wider than our standard 18" rail, let us know and we'll send a free extension adapter!