View Categories

AquaVigil Smart Water Tank Meter User Manual

9 min read


Table of Contents #

  1. Introduction
  2. Getting Started
  3. E-Ink Display
  4. Button Controls
  5. Web Interface
  6. Configuration
  7. Sensor Setup
  8. Alarms & Notifications
  9. Firmware Updates
  10. MQTT Integration
  11. Troubleshooting
  12. Technical Specifications

1. Introduction #

The AquaVigil Tank Monitor is a base station receiver that monitors water tank levels from remote battery-powered sensors. It receives data via long-range LoRa radio and provides monitoring through:

  • E-Ink Display – Always-on, low-power display showing tank status
  • Web Interface – Full-featured dashboard accessible from any browser
  • MQTT – Integration with home automation systems
  • Email Alerts – Notifications for low water, low battery, and other alarms

What’s in the Box #

  • AquaVigil Base Station
  • AquaVigil Smart Tank Sensor (If included)
  • USB-C power cable
  • Quick start guide

Requirements #

  • WiFi network (2.4GHz)
  • USB power supply (5V, 1A minimum)
  • Compatible AquaVigil tank sensor(s)

2. Getting Started #

Step 1: Power On #

  1. Connect the USB-C cable to the device
  2. Connect to a USB power supply
  3. The e-ink display will show “AquaVigil Tank Monitor” with “Booting…..”

Step 2: Connect to WiFi #

On first boot (or after a WiFi reset), the device enters Setup Mode:

  1. On your phone or computer, look for a WiFi network named AquaVigil-XXXX (where XXXX is unique to your device)
  2. Connect to this network – no password required
  3. A setup page should open automatically
    • On iPhone/Android: Opens automatically
    • On Windows: Click the “Sign in” notification, or open a browser to 10.0.0.1
    • On Mac: Opens automatically
  4. Select your home WiFi network from the list (or type it manually)
  5. Enter your WiFi password and tap “Connect”
  6. The device will restart and connect to your home WiFi
  7. The e-ink display will show the devices IP address once connected

Step 3: Access the Web Interface #

  1. Note the IP address shown on the e-ink display (e.g., 192.168.1.100)
  2. Open a web browser and go to http://192.168.1.100
  3. You’ll see the AquaVigil dashboard

If WiFi Setup Fails #

If a incorrect password is entered:

  • The display will show “WiFi Failed” and “Check password”
  • After 10 seconds, it will return to Setup Mode
  • Try again with the correct password

3. E-Ink Display #

The e-ink display provides at-a-glance tank monitoring without needing to check your phone.

Main Screen (Tanks) #

Shows all configured tanks with:

  • Tank name
  • Fill percentage (large text)
  • Volume in liters
  • Water level visualization
  • Signal strength bars
  • Battery indicator
  • Alarm icons (when active)

The layout adapts based on the number of sensors:

  • 1 tank: Full-screen layout
  • 2 tanks: Side-by-side
  • 3-4 tanks: Grid layout

Stats Screen #

Press the button to see detailed information:

  • Battery voltage and percentage
  • CPU temperature
  • Signal strength (RSSI)
  • Last update time
  • Consumption rate
  • Device IP address

Alarm Icons #

When an alarm is active, icons appear on the display:

  • Water drop with warning – Low water level
  • Battery outline – Low battery
  • Upward arrow – High water consumption

4. Button Controls #

The device has a single button for control:

ActionDurationFunction
Short pressLess than 5 secondsToggle between Tanks and Stats screens
Long press5+ secondsReset WiFi credentials and restart in Setup Mode

Resetting WiFi #

If you need to connect to a different WiFi network:

  1. Press and hold the button for 5 seconds
  2. The device will restart
  3. Connect to the AquaVigil-XXXX network
  4. Configure the new WiFi settings

5. Web Interface #

Access the web interface by entering the device’s IP address in any web browser.

Dashboard (Home) #

The main page shows:

  • Device status – Uptime, WiFi signal, memory usage
  • Sensor cards – One card per configured tank showing:
    • Tank name and fill percentage
    • Animated water level visualization
    • Signal strength and battery status
    • Last update time
    • Active alarms

The dashboard auto-refreshes every 30 seconds.

Graphs #

View historical data with interactive charts:

  • Time range: 1 hour, 6 hours, 12 hours, or 24 hours
  • Chart types: Line, Area, or Bar
  • Available charts:
    • Tank Level
    • Fill Percentage
    • Battery Voltage
    • CPU Temperature
    • Signal Strength

Click “Refresh” to update data. Stats show min/max/average for the selected period.

Logging #

Real-time system logs for troubleshooting:

  • Filter by category (WiFi, LoRa, Sensor, Alarm, etc.)
  • Logs stream live via WebSocket
  • Download logs with “Save Logs” button
  • Clear screen with “Clear Screen” button

Configuration #

See Section 6: Configuration for details.

Update #

Manage firmware updates:

  • View current version and update status
  • Enable/disable automatic updates
  • Manually upload firmware files

See Section 9: Firmware Updates for details.

6. Configuration #

Access configuration via the Configuration tab in the web interface.

LoRa Settings #

Important: All sensors must use identical LoRa settings.

SettingDefaultDescription
Frequency915.0 MHzMust match your region (AU915 for Australia / New Zealand)
Bandwidth125 kHzRadio bandwidth
Spreading Factor7Range vs speed (higher = longer range, slower)
Transmit Power14 dBmRadio power level

Time Settings #

SettingDescription
NTP ServerTime server (default: pool.ntp.org)
TimezoneYour timezone with DST support

Email Settings #

Configure email notifications for alarms:

SettingDescription
Recipient EmailWhere to send notifications
Sender Email“From” address for emails
SMTP ServerYour email provider’s server (e.g., smtp.gmail.com)
SMTP PortUsually 587 (TLS) or 465 (SSL)
SMTP PasswordEmail password or app-specific password

Gmail Users: You must use an App Password, not your regular password.

MQTT Settings #

SettingDescription
Enable MQTTTurn MQTT publishing on/off
Broker AddressIP address of your MQTT broker
Broker PortUsually 1883 or 8883 (SSL)
UsernameMQTT username
PasswordMQTT password

Notification Settings #

SettingDescription
MQTT AlarmsPublish alarms to MQTT
Email AlarmsSend email notifications
CooldownMinutes between repeat notifications (5-120)

Debug Settings #

SettingDescription
Serial DebugOutput logs to USB serial port
Web DebugShow logs in web interface

7. Sensor Setup #

The receiver supports up to 4 sensors. Each sensor has its own configuration tab.

Sensor Types #

Tank Top Sensor (Ultrasonic) #

  • Mounted at the top of the tank
  • Measures distance to water surface
  • Additional settings: Blind Zone, Offset

In-Tank Sensor (Pressure) #

  • Submerged in the water
  • Measures water pressure/depth
  • No blind zone or offset needed

Sensor Configuration #

SettingDescription
Node IDUnique 12-character sensor identifier
NameHuman-readable name (e.g., “Main Tank”)
TypeTank Top Sensor or In-Tank Sensor
HeightTank height in millimeters
DiameterTank diameter in millimeters
Parallel TanksNumber of identical tanks (for volume calculation)

Alarm Settings (per sensor) #

SettingDescription
Alarm LevelLow water warning threshold (0-100%)
Alarm RateHigh consumption warning (liters/minute)
Battery WarningLow battery threshold (millivolts)
Battery TypeLiPo (3.3-4.2V) or LiFePO4 (2.8-3.4V)

Trust & Timeout Settings #

SettingDescription
Trust TimeWarmup period before alarms trigger (1-30 minutes)
Fail TimeTime without data before “offline” alarm (5-120 minutes)

The Trust Time prevents false alarms when a sensor first powers on or reconnects.


8. Alarms & Notifications #

Alarm Types #

Low Level Alarm #

  • Triggers when: Tank fill percentage drops below the configured threshold
  • Example: Tank at 15% with alarm set to 20%

Low Battery Alarm #

  • Triggers when: Sensor battery voltage drops below threshold
  • Default thresholds:
    • LiPo batteries: 3300 mV
    • LiFePO4 batteries: 2800 mV

High Consumption Alarm #

  • Triggers when: Water usage rate exceeds configured L/min
  • Use case: Detecting leaks or unusual water usage

Sensor Offline Alarm #

  • Triggers when: No data received for longer than Fail Time
  • Causes: Dead battery, sensor powered off, out of range

Notification Methods #

E-Ink Display #

  • Alarm icons appear next to affected tanks
  • Visible at a glance without checking your phone

Web Interface #

  • Real-time alarm indicators on dashboard
  • Color changes and warning icons

Email Notifications #

Requires email configuration (see Section 6). Emails include:

  • Tank name
  • Alarm type
  • Current value and threshold
  • Timestamp

MQTT Notifications #

Publishes to: <deviceID>/alarms/<sensorID>

  • Integrates with Home Assistant, Node-RED, etc.
  • Enables custom automations

Notification Cooldown #

To prevent notification spam during sustained alarms, a cooldown period applies:

  • Default: 15 minutes
  • Configurable: 5-120 minutes
  • After one notification, the next is delayed by the cooldown period

9. Firmware Updates #

Automatic Updates #

The device can automatically check for and install updates:

  1. Go to Update page
  2. Enable Automatic Updates
  3. Set check interval (12h, 24h, 48h, or weekly)

When an update is available:

  • Device downloads automatically
  • Verifies the file integrity
  • Installs and reboots
  • No user intervention required

Manual Updates #

To manually update firmware:

  1. Go to Update page
  2. In “Firmware Upload” section, click Choose File
  3. Select the firmware .bin file
  4. Click Upload Firmware
  5. Wait for the progress bar to complete
  6. Device will restart automatically

Important:

  • Do not power off during update
  • Ensure stable power supply
  • Update takes 2-5 minutes
  • Browser connection may drop during reboot

Filesystem Updates #

To update the web interface files:

  1. Go to Update page
  2. In “Filesystem Upload” section, click Choose File
  3. Select the filesystem .bin file
  4. Click Upload

10. MQTT Integration #

Enabling MQTT #

  1. Go to Configuration > MQTT Settings
  2. Enter your broker address and credentials
  3. Enable MQTT
  4. Click Save

Published Topics #

The device publishes to these MQTT topics:

Sensor Data #

<deviceID>/sensors/<sensorID>/tank_level_mm
<deviceID>/sensors/<sensorID>/fill_percent
<deviceID>/sensors/<sensorID>/battery_mv
<deviceID>/sensors/<sensorID>/cpu_temperature
<deviceID>/sensors/<sensorID>/rssi

Alarms #

<deviceID>/alarms/<sensorID>

Device Status #

<deviceID>/status

Home Assistant Integration #

Example configuration for Home Assistant:

sensor:
  - platform: mqtt
    name: "Main Tank Level"
    state_topic: "AABBCCDDEEFF/sensors/281C67FA12F4/fill_percent"
    unit_of_measurement: "%"

  - platform: mqtt
    name: "Main Tank Battery"
    state_topic: "AABBCCDDEEFF/sensors/281C67FA12F4/battery_mv"
    unit_of_measurement: "mV"

11. Troubleshooting #

Device won’t connect to WiFi #

  1. Check password – Passwords are case-sensitive
  2. Check WiFi band – Device only supports 2.4GHz, not 5GHz
  3. Check signal – Move device closer to router
  4. Reset WiFi – Hold button for 5 seconds to restart setup

No data from sensors #

  1. Check LoRa settings – Must match between receiver and sensors
  2. Check distance – Sensors may be out of range
  3. Check sensor battery – Replace if low
  4. Check signal strength – View RSSI on Stats screen or web interface

Web interface won’t load #

  1. Check IP address – Verify on e-ink display
  2. Check WiFi connection – Ensure you’re on the same network
  3. Try refreshing – First load may take a moment
  4. Try different browser – Clear cache if needed

Alarms not triggering #

  1. Check Trust Time – Alarms don’t trigger during warmup period
  2. Check thresholds – Verify alarm levels in configuration
  3. Check notifications – Ensure email/MQTT is configured and enabled

Email notifications not working #

  1. Check SMTP settings – Server, port, username, password
  2. Gmail users – Must use App Password, not regular password
  3. Check spam folder – Emails may be filtered
  4. Check cooldown – Notifications are rate-limited

Display not updating #

  1. Check WiFi – Display won’t update without connection
  2. Check sensor data – Verify sensors are transmitting
  3. Wait for refresh – E-ink updates are throttled to extend lifespan

12. Technical Specifications #

Hardware #

ComponentSpecification
ProcessorESP32-S3 dual-core @ 240MHz
Memory8MB PSRAM, 320KB RAM
Storage16MB Flash (FFat filesystem)
Display2.9″ e-ink, 296×128 pixels
RadioSX1262 LoRa transceiver
ConnectivityWiFi 2.4GHz, Bluetooth LE
PowerUSB-C, 5V

LoRa Radio #

ParameterValue
Frequency915 MHz (AU915)
Bandwidth125 kHz (default)
Spreading FactorSF7 (default)
Max Range2+ km (line of sight)
Max Packet Size64 bytes

Software #

FeatureSpecification
FrameworkESP-IDF 5.5.0
Max Sensors4
Data History24 hours (1440 points/sensor)
Update MethodOTA (Over-The-Air)

Network #

ProtocolPort
HTTP80
WebSocket80 (/ws)
MQTT1883 or 8883 (configurable)

Support #


Document Version: 1.0
Last Updated: January 2026

Go to Top