Icon for Eclipse Ditto

Eclipse Ditto

Eclipse Ditto is an open-source framework that implements the digital twin pattern for IoT. It provides a virtual, cloud-based representation of physical devices (sensors, machines, vehicles, charging stations) with state management, access control, and multiple protocol bindings.

Screenshot of Eclipse Ditto website

Eclipse Ditto is a technology in the IoT implementing a software pattern called "digital twins." It provides a virtual, cloud-based representation of real-world "Things" — devices like sensors, smart heating systems, connected cars, smart grids, and EV charging stations.

Unlike full IoT platforms, Ditto focuses specifically on the digital twin abstraction layer. It does not provide software running on IoT gateways, nor does it define device communication protocols. Instead, it complements existing connectivity solutions like Eclipse Hono and Eclipse Kura by providing the backend digital twin infrastructure.

Key capabilities

  • Device as a Service: Abstract physical devices into digital twins with synchronous and asynchronous APIs
  • State Management: Handle reported state (what the device reports), desired state (what should change), and current state with automatic synchronization
  • Access Control: Fine-grained, resource-based authorization through the Policies service
  • Multi-Protocol Support: Connect via AMQP 0.9.1/1.0, MQTT 3.1.1/5, HTTP 1.1, and Apache Kafka 2.x
  • Payload Mapping: Custom mapping logic to adapt almost any message format and encoding
  • Web of Things: W3C WoT standard integration for describing device capabilities

Architecture

Ditto follows a microservices architecture with these core services:

  • Policies: Handles authorization and access control
  • Things: Manages digital twin entities and their state
  • Things-Search: Provides search and query capabilities across twins
  • Connectivity: Manages protocol connections to external systems
  • Gateway: Exposes APIs (HTTP, WebSocket) to clients

Deployment options

MethodBest For
Docker ComposeDevelopment, small deployments
Kubernetes (Helm)Production, scalable deployments
OpenShiftEnterprise container platforms

System Requirements:

  • Minimum 2 CPU cores
  • Minimum 4 GB RAM
  • MongoDB 4.2+ (backing datastore)

Integration patterns

Ditto excels at scenarios requiring:

  • API abstraction from hardware specifics
  • Request routing between devices and applications
  • Authorized access control with fine-grained permissions
  • Last-reported state persistence and caching
  • Change notifications for backend services
  • Signal enrichment and history streaming

Use cases

  • Industrial IoT: Digital twins of manufacturing equipment, predictive maintenance data aggregation
  • Smart Grid: Virtual representations of power infrastructure, grid monitoring
  • Connected Vehicles: Fleet management, vehicle state tracking
  • Smart Buildings: HVAC systems, energy management, facility monitoring
  • Agriculture: Environmental sensors, irrigation systems

Relationship to Eclipse ecosystem

Ditto is designed to work alongside:

  • Eclipse Hono: Device connectivity and protocol abstraction
  • Eclipse Kura: IoT gateway software
  • Eclipse BaSyx: Asset Administration Shell for Industry 4.0

Limitations

  • Requires MongoDB as the only supported backing datastore — no alternative database options
  • Minimum 2 CPU cores and 4 GB RAM makes it unsuitable for edge or resource-constrained deployments
  • No built-in device connectivity — requires Eclipse Hono or a custom MQTT/AMQP adapter for device communication
  • Microservices architecture (5 separate services) adds operational complexity compared to monolithic platforms
  • Smaller community (~860 GitHub stars) compared to commercial digital twin platforms

Licensing

Eclipse Public License 2.0 (EPL-2.0) — permissive open source license suitable for commercial use.

Categories:

Share:

Kind
Software
Vendor
Eclipse Foundation
License
Open Source
Website
eclipse.dev
Deployment TypeLanguageLicenseProtocolStandard
Show all
Ad
Icon

 

  
 

More from Eclipse Foundation

Icon

 

  
  
Icon

 

  
  
Icon

 

  
  

Similar to Eclipse Ditto

Icon

 

  
  
Icon

 

  
  
Icon