LOADING THE PHYSICS ENGINE000%

Describe a robot.Watch itmove

Type it, say it or film it. Meta's Muse models design the machine from real, buyable parts, physics puts it through the job, and you leave with the parts list, the wiring and the firmware.All before you buy a single motor.

Built with

  • Meta Muse Spark
  • Muse Wonder
  • SAM 3.1
  • Muse Image
  • C++ → WebAssembly
  • Rapier physics
Live now: rover speed loop on the TS engine

Overshoot

7.1%

Settling time

0.393 s

Phase margin

71.1°

INTRODUCING HARDWARE STUDIO

The next step
happens on your desk.

Take an idea all the way to an Arduino Uno. Edit with Muse Spark or Wonder, build the firmware, and upload straight from your browser.

No Arduino IDE for visitors

Guided kit recipes and pin-by-pin wiring

USB upload with flash readback verification

Open Hardware Studio

Uno R3 · desktop Chrome / Edge · USB permission required.
Custom builds require the hosted compiler. Heartbeat demo is bundled.

A physical Uno R3 connected to the developer's laptop by USB
Our Uno, on the bench.
Reference hardware photo · upload verification happens in the studio

·· The stack

Meta's models, wired into one closed loop.

A controller is a loop: sense, think, check, act, repeat. RoboCraft gives each step to the model that does it best, and nothing the AI says reaches your robot until the physics engine has checked it.

sense Live

SAM 3.1

Meta · sam-3.1

Tracks your real robot frame by frame in a video and lays its path over the simulation, so you see where the two disagree.

sense Live

Muse Spark · vision

Meta · muse-spark-1.3

Reads a video of a real robot or its workspace: the robot, its moving parts, every object and its size. Then builds it in 3D.

think Live

Muse Spark 1.3

Meta · muse-spark-1.3

Designs the whole robot, its room and its task from a sentence, revises it on request, and explains every simulation. The default.

think Live

Muse Wonder

Meta · muse-wonder-1.0

Deeper reasoning when you choose it, and the engineering agent: it simulates, diagnoses and revises until the physics passes.

check Live

PlantSim engine

RoboCraft · C++17 → WebAssembly

Our physics engine. Every AI suggestion is simulated and must pass the specs before you ever see it.

act Live

Firmware generator

RoboCraft · Arduino · ESP32

Writes the controller with the verified gains, ready to flash onto your robot.

·· The loop

From a sentence to a validated controller.

01 · Type it, say it, or upload data

01 · Describe
Listeningstep_test.csv · 301 rows

·· Systems

Start from a machine

▸ SYS 010% OS · untuned

Rover drive

3D Differential-drive rover · N20 motors · speed loop · ramp

  • ▸ Both wheels get the same voltage (driving straight).
  • ▸ Wheels roll without slipping.
Open in lab
▸ SYS 0231% OS · untuned

Robot arm joint

3D Robot arm joint · Pick & place · PD · payload

  • ▸ Gravity is cancelled by feed-forward; the loop sees payload changes.
  • ▸ Elbow and base servos follow the shoulder's normalised profile.
Open in lab
▸ SYS 031% OS · untuned

Self-balancing robot

3D Self-balancing robot · Unstable · 4 states · LQR

  • ▸ Small tilt angles (linearised about upright).
  • ▸ Both wheels move together (no turning).
Open in lab
▸ SYS 042% OS · untuned

Drone altitude hold

3D Quadcopter · 10" quad · PID · down-gust

  • ▸ Hover thrust cancels gravity.
  • ▸ Attitude held level by the inner loop.
Open in lab

·· Verifiable agent

The AI proposes. Physics decides.

This is a real run, not a mock-up. The model on the right is exactly what Muse Spark returned on a live call. The checks and the fix are being computed right now, in your browser, by the same C++/WebAssembly engine the lab uses.

Muse Spark's first try pass

Accepted as-is pass

agent trace · rover speed loop ts engine

·· The engine

Real physics,
compiled to WASM.

PlantSim is a dependency-free C++17 engine. The same source compiles natively for the test suite and to WebAssembly for the browser, so what you tune is what was tested.

TS fallbackbenchmarking…
Integrator

4th-order Runge-Kutta

Fixed step, zero-order hold

Plants

Transfer function → state space

Up to 8 states, dead time

Controllers

PID · filtered D · anti-windup

LQR state feedback

Analysis

Closed-loop poles (Aberth)

Bode, gain & phase margins

Identification

FOPDT / second-order fit

Nelder-Mead on step data

Realism

Actuator saturation

Sensor noise · load steps

·· Validation

Checked against
the textbook. Live.

These tests run right now, in your browser, on the engine you'll use. The same checks run natively against the C++ build, and a golden-data test proves the browser and native engines agree to 1e-9.

0/8 passed
Testms
  • First-order lag
  • Second-order overshoot
  • Closed-loop poles
  • Phase margin
  • PI removes offset
  • LQR double integrator
  • Pendulum balance
  • System identification

·· Pricing

Free to learn. Pay when it's real.

The free lab is funded by sponsored parts: suppliers can place a part in a generated parts list, always labelled “Sponsored”, and only if it fits your robot's physics.

Free

$0forever

Everything you need to build and simulate your first robot.

  • 4 robot rigs with real-part physics
  • C++ → WebAssembly simulator
  • Offline modeler and advisor
  • Firmware export
Start building

Maker

Meta-powered

$9per month

Meta Muse models for any machine you can describe or film.

  • Muse Spark modeling for any system
  • Video → model with SAM 3.1
  • Voice input
  • Unlimited saved projects
Coming soon

Classroom

$49per month · 30 seats

Robotics and control lessons where every answer is checked by physics.

  • Everything in Maker
  • Teacher dashboard
  • Shared kits and parts lists
  • Priority support
Coming soon

·· Build log

Built in nine days, from an empty repo.

Everything on this page was built for the Meta Global AI Developer Hackathon, October 27 to November 4, 2026. Nothing predates it, and every step is a public commit.

Read the commit history ↗
  1. Oct 27

    The Control Lab and its engine

    A C++17 physics and control engine compiled to WebAssembly, robots built from real parts, and firmware generated for the board.

  2. Oct 28

    Muse Spark goes live

    The lab's AI moves to Meta Muse Spark, behind a credit-safe client: response cache, cost log, daily cap. Onboarding and Simple mode for beginners.

  3. Oct 28

    Video to model

    SAM 3.1 tracks a real robot frame by frame in a video, and the engine fits its physics from the motion.

  4. Oct 29

    Only real, buyable parts

    Every machine is built from datasheet-rated parts, every actuator simulated and wired, with hardware fit checks. In English, 日本語 and 中文.

  5. Oct 29

    Create: a robot from a sentence

    Muse Spark designs the body, joints, room and task; Rapier physics and cloth run it; one click opens it in the Control Lab with real hardware inside.

  6. Oct 30

    A welcome for newcomers

    Robo's welcome, four ready-made robots that open instantly, and a guided studio tour.

  7. Oct 31

    The engineering agent

    Muse Wonder (or Spark) runs a closed loop of tool calls: simulate, diagnose, revise, until the physics passes. Users choose Spark or Wonder for every design.

  8. Nov 1

    Physics you can trust

    Hands hold only what they touch, arms keep out of the body and the furniture, every step is judged by its real outcome, and a video of a real robot becomes a 3D design.

Prefer a head start?

Start from a working machine

Open a ready-built arm or rover in the Control Lab. Swap any part and watch the motors, the circuit and the firmware follow.

3-axis arm

Inverse kinematics, torque sizing, servo rail

Rover

Drive-force budget, H-bridge matching, runtime