🌎 Bringing water to remote communities through open technology.
AquaLink is an open-source project for remote automation and monitoring of artesian wells, designed to deliver efficiency, reliability, and connectivity.
The system provides secure control, IoT communication, and autonomous operation for artesian well installations located in remote areas.
It combines:
- Industrial PLC for automation and well protection
- IoT Gateway for data collection and transmission
- Satellite Internet (Viasat or Starlink) for real-time monitoring in remote locations
- Real-time monitoring of water level, pressure, and flow
- Automatic pump
- Fault and low-water alerts
- Data logging via MQTT
- Modular, expandable architecture
AquaLink implements industrial-grade end-to-end security, ensuring message integrity and authenticated control:
- 🔒 Mutual SSL/TLS encryption: both client and broker are signed and validated with SSL certificates.
- 🧾 HMAC-SHA256/512 digital signatures: each message is signed and verified with a secure shared key.
- 🔑 Two-Factor Authentication (2FA): required for all PLC control commands.
- 🛰 Secure MQTT communication:
These layers ensure reliable and tamper-proof operation even over unstable satellite links.
- Hardware: PLC + level, pressure sensors
- IoT Gateway: Modbus, MQTT communication
- Cloud: dashboards and alerts
- Connectivity: satellite (Starlink/Viasat)
┌────────────────────┐
│ Level, Pressure │
│ and Flow Sensors│
└──────────┬─────────┘
│
▼
┌────────────────┐
│ PLC │
│ (Local Control │
│ and Safety) │
└───────┬────────┘
│ Modbus TCP
▼
┌─────────────────────┐
│ IoT Gateway │
│ (MQTT + SSL) │
└───────┬─────────────┘
│
▼
🌐 Satellite Link (Viasat / Starlink)
│
▼
┌─────────────────────────────┐
│ Cloud Server │
│ Dashboards • API • Storage │
└─────────────────────────────┘
- PLC programmed in Ladder
- C, Python 3 and Java for driver and security implementation
- Linux-based gateway (Yocto/Debian)
- mbedTLS
- MQTT broker
- Database and web dashboard (Grafana, Node-RED, or custom)
- SSL certificates and HMAC-based authentication
Contributions are welcome!
Open an issue or submit a pull request with improvements, documentation, or new modules.
This project is licensed under the MIT License.