Skip to content

Introduction

Build realistic industrial environments in software.

Miravo is an industrial environment platform for building realistic software-defined plants. Describe assets in YAML. Miravo simulates them with realistic physics and publishes over industrial protocols including MQTT and OPC UA — from a single canonical model.

Miravo Console — live process variables, trend charts, fault injection, and asset control

Industrial software teams need realistic operational environments to build against. Physical plants are expensive, access-restricted, or unavailable. Teams improvise with hard-coded test values, one-off MQTT scripts, and fragile mocks.

Miravo replaces that. You define assets with typed members, engineering units, lifecycle behaviors, and fault modes. Miravo simulates them with 18 generator types and projects the results over real industrial protocols.

  • Canonical asset models — One .twin.yaml defines an asset type with typed members, parameters, generators, methods, lifecycle stages, and fault modes.
  • Structured plant topology.miravo.yaml templates compose models into ISA-95-style hierarchies with enterprise, site, area, and line levels.
  • Multi-protocol output — The same tick drives MQTT (UNS-structured topics) and OPC UA (typed ObjectTypes with EUInformation) simultaneously, with Modbus TCP, Sparkplug B, and more coming soon.
  • Deterministic simulation — Seeded RNG produces bit-identical output. Same seed + same config = same results.
  • Built-in content — 8 asset models and 4 scenario templates. Run a realistic simulation with zero configuration.
AudienceHow Miravo helps
Industrial software developersDevelop against realistic environments with production topology and real protocols.
IIoT platform teamsRepeatable integration testing before deployment. One environment drives multiple industrial protocols.
Solutions and demo engineersBelievable demos without physical equipment. Built-in templates run in seconds.
AI and analytics teamsStructured data with known fault signatures, degradation curves, and labeled transitions.
Protocol and interoperability teamsStandard-compliant OPC UA with typed ObjectTypes. MQTT with configurable UNS topics.
  • 18 generator types model industrial physics: sine, noise, random walk, first-order lag, transport delay, hysteresis-relay, weighted sum, and more
  • Lifecycle degradation with configurable stage durations and effects
  • Condition-based fault triggers with spike, multiplier, and offset effects
  • Executable methods (Start, Stop, SetSpeed, ResetFault) invokable over MQTT, OPC UA, and upcoming protocols
  • Embedded MQTT broker or external broker connection
  • OPC UA server with typed ObjectTypes, engineering units, and access levels
  • Extensible protocol adapter interface — Modbus TCP, Sparkplug B, and more on the roadmap
  • Admin HTTP API and WebSocket for monitoring and control
  • Web console for real-time dashboard
  • State persistence across restarts
  • Scales to 100,000+ data points per second

Run a simulation with Docker — zero config, MQTT data in seconds:

Terminal window
docker run --rm -p 1883:1883 amineamaach/miravo:latest

Subscribe to the data stream:

Terminal window
mosquitto_sub -h 127.0.0.1 -t '#' -v

Miravo is open source under the Apache 2.0 license. View on GitHub.