pump-001/temp 87.3 °C
comp-002/pressure 4.21 bar
motor-003/vibration 2.14 mm/s
gen-007/power 1247 kW
hx-004/outlet 62.8 °C
turbine/rpm 3420 rpm
Open Source

Build realistic
industrial environments
in software.

One canonical model drives physics-based simulation across MQTT, OPC UA, and more industrial protocols. No hardware required.

MQTT OPC UA Modbus TCP Sparkplug B BACnet EtherNet/IP HTTP / REST
MQTT pump-001/temperature 87.3 °C · OPC UA compressor-002/discharge_pressure 4.21 bar · MQTT motor-003/vibration_x 2.14 mm/s · Modbus hx-004/outlet_temp 62.8 °C · OPC UA tank-005/level 73.2 % · MQTT valve-006/position 85.0 % · Modbus generator-007/active_power 1247 kW · MQTT turbine-008/rpm 3420 rpm · OPC UA boiler-009/steam_pressure 12.4 MPa · Modbus bearing-010/outer_race_temp 54.1 °C · MQTT pump-001/temperature 87.3 °C · OPC UA compressor-002/discharge_pressure 4.21 bar · MQTT motor-003/vibration_x 2.14 mm/s · Modbus hx-004/outlet_temp 62.8 °C · OPC UA tank-005/level 73.2 % · MQTT valve-006/position 85.0 % · Modbus generator-007/active_power 1247 kW · MQTT turbine-008/rpm 3420 rpm · OPC UA boiler-009/steam_pressure 12.4 MPa · Modbus bearing-010/outer_race_temp 54.1 °C ·

From YAML to live industrial data

Three steps. One canonical model drives everything.

01

Define

Ask any AI to generate a canonical model, or write one by hand. Typed members, engineering units, lifecycle behaviors, all in one schema.

model: centrifugal-pump
members:
  - name: temperature
    unit: °C
    generator:
      type: thermal-lag
02

Simulate

Physics-based generators run your model. Thermal lag, transport delay, mean-reverting noise. Same seed, same output, every time.

03

Connect

Every protocol publishes from the same tick. Structured topics, typed values, engineering metadata.

MQTT miravo/plant/pump-001/temperature
OPC UA Objects.Plant.Pump001.Temperature
Modbus Register 40001 → 87.3

Why Miravo

Industrial software needs better environments, not more random data.

One model. Every protocol.

Canonical Modeling

Define assets with typed members, data types, access semantics, engineering units, and lifecycle behaviors in a canonical schema. Every protocol adapter reads from the same asset graph. No translation layers. No drift between what MQTT publishes and what OPC UA exposes.

Industrial physics, not random numbers.

Realistic Simulation

Generator types model thermal lag, transport delay, and mean-reverting noise. Assets degrade through lifecycle stages. Faults trigger from real conditions and cascade.

MQTT and OPC UA from the same tick.

Multi-Protocol Output

MQTT publishes UNS-structured topics. OPC UA exposes typed ObjectTypes with EURange and AccessLevel. One simulation tick drives all protocols simultaneously.

Start in seconds.

Built-in Content

Asset models and scenario templates included out of the box. Run a realistic water treatment plant or smart factory in one command.

No license. No vendor. No lock-in.

Developer-First

Open source. Docker, standalone binary, or bunx. CLI-first with JSON output for CI/CD. Seeded RNG for reproducible runs.

Describe a plant. Any AI builds it.

AI-Assisted Authoring

Miravo ships with authoring skills that work with any AI: Claude Code, Codex, Gemini, ChatGPT, OpenCode, and more. Describe what you need in plain language and get realistic models with accurate physics, lifecycle degradation, and fault modes. Review the output, tweak what you need, and run. The fastest path from idea to running environment.

> Generate a water treatment plant with 4 pumps and fault injection

Generated water-treatment.miravo.yaml
4 pump instances, 23 members each
Cavitation + bearing fault modes
Validated against canonical schema

Running in seconds

One command. Real industrial data flowing.

terminal

Built for industrial software teams

01
01

Application Development

Develop against environments with production topology, protocol structure, and behavioral patterns. Faults and edge cases are part of the model, not afterthought test scripts.

02
02

Integration Testing

Deterministic, reproducible runs across protocols from the same simulation tick. Inject faults on demand. Run headless in CI with zero config.

03
03

Product Demos

Run a smart factory or water treatment plant in one command. Inject faults live. Operationally realistic data from real equipment models, not random generators.

04
04

AI & Analytics

Datasets with known fault signatures, degradation curves, and labeled lifecycle transitions. Deterministic seeded output. Scales to 100K+ data points per second.

Ready to build your first environment?

One command to install. One command to run. Live industrial data in seconds.

Quick Start Guide