Lockstep API
One JSON request per line; virtual time moves only when you say so. A standard-library Python package wraps it, with batch runs and parameter sweeps over processes.
Studio is deterministic to the bit and documented down to the sources of its model parameters. Use it for control, machining, metrology or AI research and reproduce every result — and, with the MC-1, make microfluidic chips, optical mounts and fixtures in your own lab the same day.
One JSON request per line; virtual time moves only when you say so. A standard-library Python package wraps it, with batch runs and parameter sweeps over processes.
Variables, get/set and doStep with FMPy’s names, to couple the twin with models in Modelica, Simulink or Python.
An SHDR adapter with 35 data items and a device file, for dashboards and data pipelines.
From the command line: MCAP for the official mcap tools, VCD with every step pulse for sigrok and logic-analyser comparisons, CSV curves.
Mechanistic force model with kc(h, vc), time-domain regenerative chatter and a semi-discretization check, static deflection from the frame FEA.
Geometric error model (lead, periodic, straightness, angular, squareness, backlash, thermal) with ISO 230-2 and 230-4 test scripts.
Forty-seven tools, deterministic replay hashes and an audit log of every call make experiments with language models reproducible and checkable.
Time per program line that sums exactly to the run, and the reason each feed was not reached, from the controller's own planner arithmetic.
Toolpaths with cutting data estimated from the twin's physics, and an optimizer with explicit acceptance rules, verified on fresh twins.
What the twin does not do well yet. We publish these so that results are read with them in mind.
@software{twinwright_studio_2026,
title = {Twinwright Studio: a deterministic digital twin of the MC-1 desktop CNC mill},
author = {{Twinwright}},
year = {2026},
url = {https://twinwright.com/research/}
}