Physics-informed digital twins for real assets — the equations first, a bounded ML residual second. Streamed over MQTT, served as an API — and rendered at 1:1 scale in VR & AR. δίδυμος — the twin.
A 3D model with no physics can't predict. A pure-ML model can't extrapolate and can't explain itself. didymOS runs the asset's real equations and lets a strictly bounded ML residual absorb what the physics misses — so every prediction is explainable, and every divergence is evidence.
Pluggable per asset class — IEC 60076-7 thermal model for transformers, pump & motor models next. Difference equations, unit-tested.
A small learner corrects the physics from live data — clamped to a hard envelope. When it saturates, that's not noise. That's a fault signature.
dimorph agentThe edge agent ingests telemetry over MQTT and republishes twin state — from a €35 Raspberry Pi to industrial gateways. No cloud dependency, ever.
GET /twin/{id}/whatif?load=130 — raise the load 30% and didymOS answers with the hot-spot trajectory before you touch the real asset.
The twin isn't trapped in a dashboard: walk around it on Meta Quest, or pin it onto the real machine through your phone's camera. Step inside ↓
Every prediction and recommendation hash-chained to an append-only log — an AI-Act-shaped audit trail, out of the box.
didymOS earned its scars in the field before it had a landing page — the physics-plus-residual recipe, the MQTT edge agents and the failure-prediction line were all run against real machines first, then productised.
Oil-immersed transformers mirrored by dimorph edge agents on Raspberry Pi.
IEC 60076-7 kernel, live hot-spot tracking, 8-hour forecasts on the operator's morning screen.
Cycle-time physics with an ML residual absorbing drift — wear, operator variance, seasonal air pressure. The what-if API answers takt-time questions before anyone touches the real line.
Fault anticipation for equipment you can only reach by boat: didymOS's identification layer was proven on offshore-substation telemetry first, where a missed warning costs a vessel charter.
This is not an animation. The panel below integrates the IEC 60076-7 thermal difference equations (top-oil and hot-spot dynamics) at ~16 simulated minutes per second, with a bounded ML residual learning the plant/model mismatch live. Inject a cooling fault and watch the residual saturate — divergence is detection.
Dashboards flatten machines into charts. didymOS renders the same live twin state at 1:1 scale — in your room through a VR headset, or pinned onto the physical machine through a phone camera. Same API, three realities.
The full asset at 1:1 scale in your room. Grab the load slider with your bare hands, push it to 130%, and watch tomorrow's hot-spot bloom across the windings — before it ever happens on the real machine. What-if analysis stops being a query and becomes a place you visit.
Through binocular AR glasses — or any ARCore phone — live gauges, the 8-hour forecast ribbon and divergence alerts anchor onto the physical asset itself. The technician sees the machine's future standing right in front of it, hands free — no control room, no laptop.
Python ≥3.10. One package, no cloud account, no license key.
$ pip install didymos
Pick an asset class, point at your MQTT broker — the dimorph agent starts mirroring immediately.
$ didymos init --asset transformer --broker mqtt://192.168.1.40 # or: --replay data.csv
Live state, 8-hour forecast and the what-if API at :8642/twin/TX1.
$ didymos view # → http://localhost:8642
Every other twin hides its model error.
didymOS bounds it, publishes it, and turns it into the alarm.
That's not a feature of the product — it is the product.