How to use 3C · short answers
Build what → plug in what → say what → it moves. Each answer below is what the page itself tells you at that moment.
Why does nothing move when I press Run?
Almost always: there is no motor yet, or the motor has no program. Nothing to run yet: this model has no motor — drag a Motor cube from the cube shelf onto an axle, then Run. A motor with no program has a command of 0, so it won't move in simulation — write it a program. If there is no motor at all, nothing will move; only the program's outputs change. The Next-step card at the bottom of the chat always says which of these is missing.
How do I change to a different model (mechanism)?
Press Change model in the top bar and pick one from the mechanism library (search by name; each shows its English name with the original name in small type). Or use Pick model next to the chat box: with the box empty it opens the library, with text it picks a mechanism that matches your description. Each browser keeps its own project for each model, so switching back returns you to your own work.
How do I put a cube on the model?
Drag a cube from the cube shelf (the icon strip at the left of the Cube / Code panel) onto the 3D view and drop it on a mount point. Or say it in the chat, for example “put a motor on the rear-left wheel” or “put a distance sensor on the front”. Motors go on axles (they drive a transmission chain); sensors and outputs go on surfaces. Two cubes may share one mount point — on real hardware they need separate fixing.
How do I take a cube off, or move it?
To take a cube off, press the ✕ Remove button on its row in the cube shelf's placed list, or say “remove motor_1”. To move it, pick another mount point in the same row, or drag the cube in the 3D view. Its program stays in the project.
What do “needs a bracket” and the other fit notes mean?
When you drop a cube, each mount point gets a fit note: fits directly; needs a bracket (the cube can't sit right on the part, a small bracket of one or more segments would hold it); nothing to anchor to at the root (no cube size fixes this); no bracket can be built; or no free space. In simulation every cube is placed alongside and works anyway — the fit note is for when the machine is actually built. Say “details” to see the note for every mount point.
How do I write a program for a cube?
Every cube has its own program. Click the cube (in the 3D view or in the placed list) and the Code panel on the right switches to it; the block toolbox only shows blocks that cube can use (blue reads, red writes). Or say what it should do, for example “write obstacle avoidance”, or press Write a program on the Next-step card. Blocks written while no cube is selected aren't saved anywhere — drag a cube onto the model first.
Why does the chat give me buttons instead of changing things?
The chat follows this project. Ask or tell it in English or Chinese; replies are in English. A question only gets an answer — if a change would help, it appears as a suggested step with an Apply button under the answer, and nothing happens until you press it (press to apply, once). A request (“put…”, “write…”, “run”) is carried out, and every action must pass the platform's check first. When the platform had to correct or complete what the model proposed, the reply starts with “Checked against what you asked”.
What is the Next-step card?
The last card in the chat always shows one next step for this project: drag a motor onto an axle → write a program → ▶ Run → export board code → register a board. It never places anything for you — choosing where a cube goes is up to you.
What is in the Lab menu?
⚗ Lab under the 3D view holds low-frequency but important tools: Single step; Environment (wall width / distance / height — same car, same program, different scene, different outcome); Parameter sweep (one parameter across its range — a single run gives one point, and a single measurement can lie); Trial compare (a fixed-length run side-by-side with the last one); A/B compare (change one thing, run both several times); and Export firmware code.
How do I add a wall or obstacle?
Open ⚗ Lab → Environment, or say “put a wall about 60 cm in front of the car”. The platform sizes the wall to this machine, stands it on the ground, and tells you whether the distance sensor's ray will actually reach it.
Why does it say “can't steer”?
Turning by speed difference needs an independently driven wheel group on each side. “can't steer” (on the readout over the 3D view, next to distance travelled) means the driven wheels are linked (both sides turn together) or there is only one drive chain, so it can only go straight — or back up when something is close. Hover that readout to see the exact reason for this machine; the model card also has a Steering line judged from the real geometry.
How does my model move — spin, swing, slide, lift or walk?
After you pick a model, its card says how it moves, main motion first: ⟳ spin, ↔ swing, ⇄ slide, ⇧ lift, 🚶 walk. The simulation here only turns and swings axles — a model that walks as a real build does not walk in this simulation yet, and the card says so.
How do I see which structures my model has (Brick ⟷ Pro)?
The model card lists the structures in this model (belt, worm drive, linkage…); click one to open the Brick ⟷ Pro panel at that structure. The panel (top-right of the 3D view) shows how the structure moves, what it feels like by hand, the rule you can count, and the same part in real machines. Browse the Pro shelf for the whole list. If no structure was recognised, the card shows the candidates it could be.
How do I get the board code (Export firmware code)?
⚗ Lab → Export firmware code generates one ESP32 MicroPython main.py for this project with its warnings. It needs at least one placed cube with a program. Nothing is flashed — copy it onto the board yourself. A project with both motors and sensors needs two boards (a motor board and a sensor board); per-board export isn't built yet.
How do I register a board and put the code on it?
Docs → Register a board: eight steps, the board is identified by its MAC address, then Verify over WiFi checks three layers — the connection opens, the password prompt answers, and the board really computes 6×7=42. After that, copy main.py onto the board. One-click WiFi upload isn't wired yet.
How close is the simulation to the real thing?
The browser runs a kinematic animation: axles turn and swing, wheels drive; it is not full physics. A second engine (MuJoCo) is used as a second ruler — on the same car it let it travel only about half as far, so the simulation alone isn't the final word. The simulated motor is faster than the real motor at the same speed setting (about 2.4× with no load), and the real one is slower still under load.
Which short chat commands are there?
A short word opens a tool directly: help run reset step env (wall) sweep trial ab code (firmware) pick (change model) details (notes and fit for every mount point). Anything longer goes to the assistant.
More: full flow, one diagram · 12 cube use cases · register a board