Open Source Digital Twin Platform

Digital Twin & IoT Hub for
Water Treatment Plants

Scalable multi-site architecture for water treatment plant simulation and edge gateway functionality. Perfect for both development simulation and production data collection from real PLCs.

58+
Module Types
49+
Parameter Types
>100
Simulated signals
Multi-Site
Architecture
Hydros Dashboard

Powerful Features for Industrial IoT

Everything you need to simulate, monitor, and manage water treatment plants at scale

Multi-Site Architecture

Individual site configurations with centralized templates. Scale to unlimited sites without code changes.

  • Dynamic site selection
  • Centralized templates (58+ module types)
  • Site-specific protocol configurations

Digital Twin Core

Real-time digital representation of physical plant components with comprehensive state management.

  • Physics-based simulation
  • Real-time parameter synchronization
  • Component lifecycle management

Unified Protocol Support

Seamless integration with industrial protocols for maximum compatibility.

  • Modbus TCP (async client/server)
  • MQTT (centralized handler)
  • OPC UA & Siemens S7 ready

Edge Gateway

Production-ready gateway for collecting data from real PLCs and industrial equipment.

  • Async PLC communication
  • Data transformation utilities
  • Industrial network optimized

Real-time Analytics

Monitor plant performance with comprehensive dashboards and time-series data.

  • InfluxDB integration
  • React-based dashboard
  • Custom visualization widgets

Enterprise Ready

Built for production with validation, logging, and comprehensive error handling.

  • JSON schema validation
  • Docker deployment ready
  • Comprehensive logging

Modern Architecture

Built with best practices for scalability and maintainability

flowchart TB
    subgraph External["External Systems"]
        PLC["PLC / Controllers"]
        SCADA["SCADA Systems"]
    end

    subgraph Gateway["Edge Gateway"]
        MB["Modbus Client"]
        OPCUA["OPC UA Client"]
        S7["S7 Client"]
    end

    subgraph Core["Digital Twin Core"]
        DT["Twin Engine"]
        PR["Protocol Registry"]
        SM["State Manager"]
    end

    subgraph Data["Data Layer"]
        MQTT["MQTT Broker"]
        INFLUX["InfluxDB"]
    end

    subgraph UI["Frontend"]
        DASH["React Dashboard"]
    end

    PLC --> MB
    SCADA --> OPCUA
    PLC --> S7

    MB --> PR
    OPCUA --> PR
    S7 --> PR

    PR --> DT
    DT <--> SM
    DT --> MQTT
    MQTT --> INFLUX
    MQTT --> DASH
    SM --> DASH
                    
precision_manufacturing

Digital Twin Core

Central orchestrator managing all plant components and real-time data with comprehensive state management

settings

Protocol Registry

Pluggable protocol system with shared connection management and automatic address allocation

analytics

Time-Series Data

InfluxDB integration for efficient storage and retrieval of sensor observations and analytics

See Hydros in Action

Real-time monitoring and control of water treatment plants

Technology Stack

Python 3.13+
React 18
Docker
MQTT
InfluxDB
Modbus TCP

Ready to Get Started?

Deploy Hydros in minutes with Docker Compose and start monitoring your water treatment plants

# Clone the repository
git clone https://github.com/vitorbabo/hydros.git
cd hydros

# Docker compose (Recommended)
docker compose up -d --build