Twinwright Studio

A CNC simulator that runs the controller’s own firmware.

Every alarm, every error code, every millisecond of a feed hold behaves the way it will on the MC-1, because it is the same code. Around it, Studio simulates the machine: motors, spindle, cutting, switches and wiring.

Windows 10/11 (x64) · installer for your user account, no administrator rights · version 0.2.0 preview

Studio at the Engineer level during a job: spindle, load and feed gauges, cutting figures, curves and the controller console.
Studio at the Engineer level during a job: spindle, load and feed gauges, cutting figures, curves and the controller console.
Firmware in the loop

Real firmware, not an imitation

Studio compiles the grblHAL core unmodified and runs it on a deterministic virtual clock. The planner, the step generator, homing, probing and every error path are the firmware’s own. A run replays bit for bit, on Windows or Linux.

  • Cross-checked against the upstream grblHAL Simulator: identical positions and answers
  • Motion alone runs 300–400× faster than real time; with material removal usually several times faster
  • The same settings file configures the twin and the MC-1
Check mode: grblHAL parses the program without moving and reports every refused line.
Check mode: grblHAL parses the program without moving and reports every refused line.
See the cut

See the cut, not just the path

The workpiece is a height map with a top and a bottom for every cell, so slots, pockets and undercuts come out as they would. Colour it by deviation from your CAD, by feed, force, chip thickness or chatter margin — click any spot to jump to the line that cut it.

  • Resolution down to 0.01 mm
  • Export the machined part as STL or a height-map PNG
  • Compare with a design part at your tolerance
The machined workpiece after an example program.
The machined workpiece after an example program.
Machine panel

Real panel, real habits

Cycle start, feed hold, overrides and a handwheel, a tool-setter macro that measures tool length, edge-finder probing and single-block stepping. The interface grows with you: five levels from Demo to Researcher show only what that level needs.

  • Operator: panel, overrides, MPG, program page
  • Technician: workholding, tool setting, diagnostics, fault injection
  • Engineer and Researcher: model parameters, curves, data export, branching
Operator level with the machine control panel.
Operator level with the machine control panel.
Failure training

Practise the bad day

Break a limit-switch wire, make a sensor glitch, trip a drive alarm, press E-stop mid-cut or pull the mains plug. Studio reproduces how grblHAL and the electrics of the MC-1 react, including the ones that are silent and dangerous — and shows the recovery.

  • Wire faults: open, short, intermittent, glitch
  • Drive alarms, VFD communication loss, power loss and cold start
  • Every consequence is from the firmware, not a script
E-stop during a job: KM1 drops, the drives lose power, the controller reports why.
E-stop during a job: KM1 drops, the drives lose power, the controller reports why.
Verification

Find the problem before the machine does.

A Studio run is an audit of your program on this machine.

Syntax and static rules

grblHAL check mode, line by line, plus twelve rules for what it accepts but should not

Rapids into material

G0 moves that would cut, found by look-ahead

Spindle not running

cutting with the spindle stopped or still ramping up

Collisions and near misses

tool, shank and holder against vise, clamps, table and tool setter

Soft limits

moves outside the travel, before they raise an alarm

Chatter

stability margin for every cut, with a better spindle speed

Overload

spindle load, VFD current and drive torque against their limits

Part deviation

the finished workpiece against your STL, cell by cell

Five levels

The interface grows with you.

DemoLoad an example, press cycle start, watch. Gauges and coordinates only.
OperatorThe machine panel: overrides, handwheel, jogging, the program page.
TechnicianWorkholding, tool setting, probing, diagnostics and fault injection.
EngineerCurves, cut analysis, chatter margin, drive and spindle detail.
ResearcherModel parameters and their sources, data export, recordings and branching.
Automation

Script it, record it, branch it.

A lockstep API gives programs full control of virtual time; a standard-library Python package wraps it. Record any session and play it back on a timeline, open it in Foxglove or PlotJuggler (MCAP) or GTKWave (step pulses as VCD), or branch a new run from any moment of an old one.

Python · lockstep session
from mc1twin import Twin

with Twin(drive="L1") as t:                # the MC-1 with closed-loop drives
    t.home()
    t.setup(shape="block", size=[60, 40, 10], material="6061-T6",
            fixture="vise", at=[100, 75])
    t.tool("flat 6 n3 L20")
    t.job(open("bracket.nc").read(), start=True)
    t.until("job", timeout=900)             # virtual seconds, runs far faster
    print(t.compare(0.02))                 # deviation from the design part
    print(t.summary()["hash"]["all"])       # identical on every machine

System requirements

Operating system
Windows 10 or 11, 64-bit
Graphics
Direct3D 11 GPU; software rendering (WARP) as a fallback
Processor and memory
Any x64 CPU from the last ten years; 4 GB RAM
Disk
About 100 MB with recordings
macOS and Linux
Not yet: Studio is a Windows program
Interface languages
English and Simplified Chinese built in, switched while running; more languages as language packs, with their units and currency

What Studio does not do (yet)

  • It simulates the MC-1. Twins of other grblHAL machines are on the roadmap.
  • Three axes. A fourth axis will follow the hardware.
  • It is not CAM: the generator covers simple features (faces, pockets, slots, contours, holes, text). Bring complex parts from Fusion, FreeCAD, Carbide Create or any grbl post-processor.
  • Model values are design and literature values until the first machines are measured; the Researcher level shows each one's source.

FAQ

Is Studio free?

The preview is free, with every feature. We earn our living from the MC-1, accessories, training and support; the terms of Studio 1.0 will be published before it is released.

Do I need the MC-1 to use Studio?

No. Studio is a complete simulator on its own. Most people will only ever use the twin.

How close is the twin to the real machine?

The firmware is identical by construction. The mechanics, spindle and cutting models use design data and published values today; each will be calibrated against measurements on the prototype machines, and every production MC-1 ships with its own measured twin profile.

Can I use my own CAM?

Yes. Use a post-processor for grbl or grblHAL; Studio reads plain G-code files. Its check names every line this controller would refuse, for example cutter compensation (G41/G42), subprograms or expressions.

Can an AI assistant use Studio?

Yes. Studio has an MCP server built in: switch AI on and connect Claude, ChatGPT, Cursor, VS Code or a local model with one click — see AI & MCP. The AI works on twins, never on a real machine.

Can Studio simulate my Shapeoko, 3018 or other machine?

Not yet. Twins of other grblHAL machines are on the roadmap; tell us which machine you have.

Get Studio early

Studio 0.2.0 is a working preview in English and Chinese; Studio 1.0 with a signed installer is in preparation. Leave your e-mail and we will write to you when Studio is available.