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.

What Miravo Does
Section titled “What Miravo Does”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.yamldefines an asset type with typed members, parameters, generators, methods, lifecycle stages, and fault modes. - Structured plant topology —
.miravo.yamltemplates 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.
Who Is It For
Section titled “Who Is It For”| Audience | How Miravo helps |
|---|---|
| Industrial software developers | Develop against realistic environments with production topology and real protocols. |
| IIoT platform teams | Repeatable integration testing before deployment. One environment drives multiple industrial protocols. |
| Solutions and demo engineers | Believable demos without physical equipment. Built-in templates run in seconds. |
| AI and analytics teams | Structured data with known fault signatures, degradation curves, and labeled transitions. |
| Protocol and interoperability teams | Standard-compliant OPC UA with typed ObjectTypes. MQTT with configurable UNS topics. |
Key Capabilities
Section titled “Key Capabilities”- 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
Quick Example
Section titled “Quick Example”Run a simulation with Docker — zero config, MQTT data in seconds:
docker run --rm -p 1883:1883 amineamaach/miravo:latestSubscribe to the data stream:
mosquitto_sub -h 127.0.0.1 -t '#' -vOpen Source
Section titled “Open Source”Miravo is open source under the Apache 2.0 license. View on GitHub.