GreatLight CNC Machining Factory logo
CNC Machining
Rapid Prototyping
Materials
Industries
News
About GL

Get Instant Quote

GRBL CNC setup guide

GRBL CNC Setup Guide: From Bare Board to First Cut

This GRBL CNC setup guide walks through wiring, flashing, GRBL settings, homing, and steps-per-mm calibration on a 3-axis router or benchtop mill. It is written for engineers and shop owners who want a machine that repeats, not just moves. By the end you will know whether your machine can hold the tolerance your part needs.

3-axis onlyArduino + stepper driversGRBL 1.1 settingsSteps per mm calibration
GRBL CNC setup guide cover image for a 3-axis router build
Quick answers

Key takeaways

GRBL runs 3 axesX, Y and Z only. A rotary 4th axis needs a different controller or a second board.
Calibrate before you cutSteps per mm and backlash decide whether a 100 mm command gives you 100 mm.
Homing is not optionalSoft limits and consistent work offsets depend on a repeatable machine zero.
Wood, plastic, aluminumThese cut well on a rigid GRBL router. Hardened steel and titanium do not.
Know the ceilingA hobby GRBL build typically holds ±0.05 mm on a good day, not ±0.005 mm.
Before wiring

What GRBL is and what it cannot do

GRBL is open-source firmware that runs on an Arduino Uno or a comparable ATmega328 board. It reads G-code over USB serial and turns each move into step and direction pulses for up to three stepper drivers. That is the whole job. There is no tool changer logic, no probing library by default, and no look-ahead beyond what the 16 MHz chip can handle.

The practical limit is three axes. If your design needs simultaneous rotary and linear motion, GRBL will not drive it. Five-axis work runs on industrial controllers with synchronized rotary tables, which is a different class of machine and a different budget.

GRBL also assumes you will tune it. Feed rates, acceleration, and travel limits all come from a single settings string that you edit with $$ commands. A board that is wired correctly but left on default settings will lose steps the first time it accelerates into a corner.

  • 1
    Good fit3-axis routers, benchtop mills, laser frames, small plasma tables.
  • 2
    Poor fit4th-axis indexing, hard steel, production runs needing tight SPC.
Hardware

Wiring and flashing the controller

Start with the power side. Use a 24 V or 36 V DC supply sized for the sum of your motor currents plus 30 percent headroom. Run the stepper drivers at or below their rated current, and set the driver DIP switches or potentiometer before you connect motors. Driving a 1.5 A motor at 3 A will cook it during the first long jog.

Keep signal wiring away from motor and spindle cables. Step and direction lines are 5 V logic and pick up noise from PWM spindle wiring easily. Twisted pairs and a shielded spindle cable solve most phantom step problems. Ground the shield at the controller end only.

Flash GRBL with the Arduino IDE or a prebuilt hex through a tool such as Xloader. For a standard 3-axis router, GRBL 1.1 is the version to use because it supports homing and soft limits cleanly. After flashing, open a serial terminal at 115200 baud and send $$. If you get a settings list back, the board is alive and talking.

Settings

The GRBL settings that actually matter

Most of the $$ list can stay at default. A handful of entries decide whether the machine is usable. $100, $101 and $102 are steps per mm for X, Y and Z. $110, $111 and $112 are maximum rate in mm per minute. $120, $121 and $122 are acceleration in mm per second squared. Get these wrong and the machine either crawls or stalls.

Set the maximum rate conservatively at first, around 60 to 70 percent of what you think the machine can do. Acceleration is the more common failure point. A heavy gantry at 500 mm/s² will skip steps on direction changes. Start near 100 to 200 mm/s² and raise it only after test cuts stay accurate.

Enable homing with $22=1 and soft limits with $20=1 once your switches work. Soft limits stop the machine before it crashes into its own frame, which is cheaper than replacing a lead screw. Set $130, $131 and $132 to your true travel so the limit check has correct numbers to work with.

  • 1
    $100–$102Steps per mm. Calibrate these, do not guess.
  • 2
    $120–$122Acceleration. Lower it before you chase lost steps elsewhere.
  • 3
    $20 / $22Soft limits and homing. Turn both on for repeatable setups.
Tuning

Calibrating steps per mm and backlash

Command a 100 mm move on X, then measure the actual travel with a dial indicator or a caliper against a stop. If you commanded 100 mm and got 99.2 mm, multiply your current $100 value by 100 divided by 99.2. Write the new number back with $100=. Repeat for Y and Z.

Do the same move in both directions to check backlash. A 0.1 mm difference between forward and reverse travel is common on hobby lead screws and it will show up as a visible step in your part. GRBL has no backlash compensation built in, so fix the mechanics: tighten the nut, preload the bearing, or move to a ballscrew.

Temperature and belt tension shift these numbers. Recheck calibration after the machine has run for 30 minutes, not when it is cold. On a belt-driven router, a belt that was tight in the morning can stretch enough by afternoon to move your steps per mm by a fraction of a percent.

Procedure

Step by step: GRBL CNC setup guide

Do these in order. Skipping homing before calibration is the most common mistake.

  • 1
    1. Set driver current and microsteppingMatch driver current to the motor rating, usually 1.0 to 2.0 A for NEMA 23. Pick 1/8 or 1/16 microstepping. Record the value, because it feeds into steps per mm.
  • 2
    2. Flash GRBL and connectUpload GRBL 1.1, open a 115200 baud serial terminal, send $$ and confirm you get a settings dump. If not, check the USB driver and COM port first.
  • 3
    3. Set travel and directionAdjust $130–$132 to true travel. If an axis moves the wrong way, invert it with $3 instead of rewiring the motor.
  • 4
    4. Wire and test homing switchesUse normally-closed switches for noise immunity. Run $H and watch the pull-off distance. Set $27 to 1 to 3 mm so the machine backs off the switch cleanly.
  • 5
    5. Calibrate steps per mmCommand 100 mm, measure actual travel, correct $100–$102. Repeat until error is under 0.05 mm over the full travel.
  • 6
    6. Raise feed and acceleration slowlyIncrease $110–$112 in steps, then $120–$122. Stop when a rapid direction change leaves a visible witness mark.
  • 7
    7. Cut an air test, then a test partRun the program 20 mm above the stock first. Then cut a 50 mm square in scrap and measure it before touching your real part.
Fit check

When a GRBL machine is the right tool

Compare the job in front of you, not the machine you wish you had.

Job requirementGRBL 3-axisIndustrial 3/4/5-axis
Axes needed3 linear axes4 or 5 with rotary table
Typical tolerance±0.05 mm on a rigid build±0.005 mm, verified per part
MaterialsWood, plastic, aluminumSteel, titanium, Inconel
Run sizeOne-offs and small batchesOne prototype to 10,000+ parts
CoolantMist or air blastFlood coolant and through-spindle
Surface finishRa 3.2 μm as machinedRa 0.8–1.6 μm or finer
InspectionCalipers and a dial indicator100% inspection, reports on request

Where the DIY setup stops

A tuned GRBL machine is excellent for prototypes, fixtures and one-off parts. When the drawing calls for ±0.005 mm, hardened steel, or a documented inspection report, the job belongs on a machine built for it.

FAQs

Common questions about GRBL CNC setup

Why does my machine lose steps on fast moves?

Acceleration is almost always the cause. Lower $120–$122 by 30 to 50 percent and test again before touching anything else.

If the problem persists, check driver current and look for mechanical binding by turning the lead screw by hand with the motor disconnected.

Can GRBL run a 4th axis?

Standard GRBL controls three axes. A rotary table needs either a different firmware build or a separate controller, and neither gives you synchronized 4-axis interpolation.

For indexed work where the rotary table only turns between operations, some builders run it as a manual or secondary axis. That is indexing, not simultaneous machining.

What tolerance can a GRBL router really hold?

A rigid benchtop build with a ballscrew and preloaded bearings can hold around ±0.05 mm on aluminum. Belt-driven routers with lead screws are usually looser.

Tolerance also depends on the cutter, the depth of cut and how the part is held. Measure a test part before you promise a number to anyone.

Do I need limit switches if I use soft limits?

Yes. Soft limits in GRBL only work after homing, and homing needs physical switches to find machine zero.

Use normally-closed switches and set the pull-off distance with $27 so the machine does not sit on the switch after homing.

How do I fix a stepped surface on the wall of a cut?

That is usually backlash, not a GRBL setting. Measure forward and reverse travel on each axis and fix the mechanical play.

If backlash is under 0.02 mm and the mark is still there, reduce the depth of cut and check tool runout with a dial indicator.

When should I move the part to an industrial shop?

Move it when the drawing needs ±0.005 mm, a specified surface finish, or a material like titanium or hardened steel. These are outside what a hobby GRBL build can do reliably.

A shop with 5-axis centers and 100% inspection handles that class of work. Prototypes and simple fixtures stay cheaper on your own machine.

Send the part that outgrew your router

Upload a drawing and get a quotation with free DFM analysis within 12 hours. No minimum order quantity, from one prototype upward.

12-hour quote100% inspectionNDA on request

Follow

More from GreatLight

We publish setup notes, tooling trials and inspection data from the factory floor.

FacebookTikTokYouTubeLinkedInInstagramThreadsPinterest

Trusted by engineers and manufacturers worldwide

Tesla Ford Motor Company BYD Auto Denso Magna International Boeing Airbus Medtronic KUKA FANUC