The bed grid and zero¶
terraPens shipped from autumn 2026 have a grid printed on the bed. The machine is set up so that the grid's origin is the machine's own zero: home it, and the pen moves to the grid's origin, ready to plot. terraForge uses the same origin, so a drawing placed on terraForge's bed lands in the same place on the printed grid.
Shipped before autumn 2026?
Earlier machines have no grid on the bed. Homing still sets the machine zero, and two kinds of zero applies to every terraPen — only the checks against the grid apply to machines with a printed grid.
This page explains how that works, how to check it, and what to do when the pen no longer lines up with the grid.
Two kinds of zero¶
The terraPen keeps track of two positions at once:
| What it is | Where it is | |
|---|---|---|
| Machine zero (MPos) | The machine's own origin, set by homing | The grid's origin. It does not move unless the configuration changes. |
| Work zero (WPos) | The origin your plot starts from | The grid's origin too — until you set your own |
Pressing Set Zero in terraForge, or the zero buttons in the web UI, moves the work zero to wherever the pen is. That is useful when a job needs to start somewhere particular, but it has a side effect worth knowing:
Your own zero stays set, even after homing
Homing resets the machine zero, not the work zero. Once you have set your own, plots start from it until you clear it — and so the pen no longer lines up with the grid, even straight after homing.
To put the work zero back on the grid, home the machine, then send this in the terminal:
G10 L2 P1 X0 Y0
That clears your own zero, so work zero and machine zero are the same point again: the grid's origin.
Checking the pen lines up with the grid¶
- Home the machine. The pen moves to the grid's origin.
- Lower the pen until the nib nearly touches the bed, and look at where it is against the grid.
- Compare the two positions in the web UI — switch between WPos and MPos (called local and world position in older versions of the web UI). On the grid's origin, both should read
0.000for X and Y.
| What you see | What it means |
|---|---|
| Pen on the grid's origin, both positions 0 | All is well |
| WPos and MPos read differently | Your own work zero is set. Clear it with G10 L2 P1 X0 Y0, as above. |
| Pen off the grid, but MPos reads 0 | The machine zero itself is off the grid. See below. |
When the machine zero is off the grid¶
First find out whether the error is the same every time:
- Home the machine and note where the pen lands against the grid.
- Home it again, and again — three to five times in all.
It lands in a different place each time¶
Something mechanical is slipping. Check, in this order:
- Belt tension. A slack belt jumps teeth. See Maintenance.
- Pulleys. The grub screws holding the pulleys on the motor shafts can work loose, letting a pulley turn on its shaft.
- Limit switches. A loose switch, or a loose bracket, triggers in a slightly different place each time.
If none of those is the cause, ask on Discord.
It lands in the same wrong place every time¶
The machine is consistent, but something has shifted once — the machine was knocked in transport, a belt was re-tensioned, a limit switch was moved, or the configuration changed. The machine zero needs moving back onto the grid.
This means editing the configuration
The grid offset lives in the machine's configuration file. If you are not comfortable editing it, ask on Discord instead.
- Home the machine.
- Jog the pen exactly onto the grid's origin, finishing with 0.1 mm steps. Lower the pen close to the bed so you can see it clearly.
- Read the machine position — MPos in the web UI. Note the X and Y values.
- In the configuration file, find
mpos_mmunderhoming:for the x axis and the y axis. For each, subtract the reading you noted from the value already there. - Upload the changed file, restart the controller, and home again. The pen should now land on the grid's origin.
Working it out
The configuration has mpos_mm: -4 for X. After homing, you jog onto the grid and MPos reads X -0.6. The new value is −4 − (−0.6) = −3.4.
Subtracting the reading works whichever direction the error is in, so you do not need to work out which way to move it.
Drifting during a plot¶
If the plot starts on the grid but the drawing creeps away from where it should be as the plot goes on, the zero is fine — the machine is losing steps part way through. The usual causes are the same as above: a slack belt or a slipping pulley.