Chris Collins

Tools · fabrication

X-Carve setup and GRBL settings

Every GRBL $-setting for an X-Carve (500/750/1000 mm, X-Carve Pro), a Shapeoko or a generic GRBL router, computed and explained, compared with your controller's $$ and written back one at a time — plus calibration: steps/mm, squaring, tram, switches, touch plate, spoilboard surfacing and bit feeds.

Added

Works with

How to use it

An X-Carve is a GRBL machine, and almost everything about how it moves lives in about thirty $ settings: how many steps make a millimetre, how fast and how hard each axis may move, which way it homes, how far it can travel. Easel writes them when you set a machine up, but after an upgrade (NEMA 23 motors, a new Z axis, homing switches, a bigger frame) or a controller swap you are on your own. This tool works out every setting from the machine’s hardware, says why each value is what it is, and compares it with what your controller actually has.

The defaults follow GRBL’s own profiles for the X-Carve and Shapeoko 3 in GRBL 1.1’s defaults.h: GT2 belts with a 2 mm pitch on 20-tooth pulleys at 1/8 microstepping on X and Y (40 steps/mm), and on the X-Carve a 3/8″-12 ACME lead screw (2.117 mm per turn) at 1/2 microstepping on Z (188.976 steps/mm; Easel’s 188.947 is the same lead rounded to 2.117 mm), with 8000/8000/500 mm/min rates and 500/500/50 mm/s² accelerations. Anything that is not from a published source — the 750 mm X-Carve’s travel, the X-Carve Pro’s and Shapeoko 5 Pro’s rates, NEMA 17 speeds, rates for swapped-in Z drives — is marked as an assumption on the page.

How to use it

  1. Pick your machine, then correct anything that differs from stock: the X/Y and Z drives (belt, ACME, TR8×8, ball screw…), microstepping, NEMA 17 or 23 motors, the travel, the spindle’s speed range, and whether you have homing switches. The table below updates as you go.

  2. Get the current settings: press Connect and *Read * (Web Serial), or paste the output of `` from the G-code sender, Easel’s machine inspector or UGS. Settings that differ are shown in red.

  3. Write changes… lists the commands and asks before anything is sent. They go one at a time, each waiting for GRBL’s ok; it stops at the first error: and says what it means. Then it reads $$ back and checks each value. Homing is switched on before soft limits (GRBL refuses soft limits without homing) and the other way round when turning them off. Without Web Serial, Copy as commands gives the same list to type into the G-code sender’s console.

  4. Calibrate: correct steps/mm from a measured move (Use this value puts it into the settings list), check squareness from the two diagonals of a marked rectangle (there is a program to mark the corners), and work out spindle tram from dial-indicator readings — with the ridge it leaves when surfacing and the shim it needs. Notes on belt tension and V-wheels are there too.

  5. Homing and probe: watch the limit and probe inputs live (GRBL’s Pn: field) while you press each switch, with advice when an input reads wrong; set up the touch plate’s thickness and get the two-speed probe sequence (G38.2, then G10 L20 to set Z zero), and run it if connected.

  6. Spoilboard and bits: a surfacing job over the machine’s work area — download it, or open it in the G-code generator with the area, bit, depth, feed and speed filled in. The common Easel-style bits (1/8″ and 1/4″ upcut and downcut, 1/16″, ball nose, 60° and 90° V-bits) get feeds from the router feeds chip-load table at your RPM, capped at the machine’s max rate; each opens router feeds with everything filled in.

The machine you pick is remembered and offered in the G-code sender (the travel for its bounds check) and CAM (rapid rate and spindle speed). For the stepper maths in general — other belts, gear reductions, driver current — see stepper motors; for feeds in more depth, router feeds and speeds and feeds; to look at a program, the G-code viewer.

Browser support: reading and writing settings live needs Web Serial — desktop Chrome, Edge or Opera. Everywhere else the page works with pasted $$ output, and the calibration, probe and surfacing parts need no connection at all. Only one program can hold the serial port, so close Easel, UGS or the G-code sender first. An Arduino-based controller (X-Controller, grblShield) resets when the port opens; give it a second or two.

I have not run this against a real X-Carve: the protocol side was tested against a simulated GRBL 1.1 controller. Write down your current $$ (the Download button saves the suggested set; copy your own from the paste box) before you change anything, so you can go back.

Privacy

Nothing leaves your computer. Settings are read from and written to the serial port only. The page remembers your machine, its options, calibrated values, the last $$ it saw and the calibration inputs in this browser’s local storage; the machine choice is shared with the G-code sender and CAM tools there, and the surfacing and bit hand-offs write the G-code generator’s and router feeds' settings in the same storage.

Runs entirely in your browser; nothing you type leaves this page.