Affiliate disclosure · Some links earn us a commission at no extra cost to you
Motion / Actuators

GRBL-Powered Belt-Driven Linear Actuator from Scratch

2026-08-20 · 4 min read · Intermediate

Commercial linear actuators in the 500mm+ travel range cost $400–$2,000. We're building one for under $80 that handles the same loads — using aluminum extrusion, GT2 belt, and a NEMA23 stepper with a $12 GRBL board for control.

This design is perfect for CNC gantry axes, automated doors, pick-and-place machines, or any project where you need controlled linear motion without paying industrial actuator prices.

Design Goals

Parts List

Component Spec Qty Source
2040 V-Slot Aluminum Extrusion 800mm length 1 $14 →
V-Slot Gantry Plate Aluminum, 4x V-wheels 1 $12 →
GT2 Timing Belt 6mm wide, 2m length 1 $5 →
GT2 Pulley (20 tooth) 8mm bore, aluminum 1 $4 →
GT2 Idler (20 tooth, toothed) 5mm bore, with bearing 1 $3 →
NEMA23 Stepper Motor 1.8°, 178oz-in, 2.8A 1 $28 →
CNC Shield V3 + Arduino Nano GRBL 1.1, A4988 driver 1 $12 →

Total: ~$78

Step 1: Mechanical Assembly

The beauty of V-slot extrusion is that it's both the rail AND the structure. No separate linear guides needed.

Motor Mount

The NEMA23 mounts to one end of the 2040 extrusion using a 3D-printed motor bracket (or you can cut one from 3mm aluminum plate on a bandsaw):

Idler End

At the opposite end, the toothed idler sits on a 5mm shoulder bolt with a tension adjustment slot. This lets you tension the belt properly — too loose and you get backlash, too tight and you wear the belt prematurely.

Belt Routing

Motor End                              Idler End
  [M]──►[Pulley]                       [Idler]
           │                              │
           └──── Belt (top run) ──────────┘
           ┌──── Belt (bottom run) ───────┐
           │                              │
         [Gantry plate clips belt here]

The gantry plate has two belt clamps (printed or machined). The belt wraps around the motor pulley, runs along the top of the extrusion, around the idler, back along the bottom, and both ends terminate at the gantry plate.

Step 2: Belt Tensioning

Tip

Proper belt tension is critical. Pluck the belt like a guitar string — you want a low "thrum" around 60-80Hz. Too tight and you'll overload the motor bearings. Too loose and you get 0.5mm+ backlash that ruins precision work.

The idler end-plate has a 15mm slotted hole. Set the idler roughly centered, install the belt, then push the idler outward and lock the bolts.

Step 3: Electronics

The CNC Shield V3 stacked on an Arduino Nano gives you:

Wiring is straightforward:

  1. Stepper motor 4-wire to the X-axis driver slot (A+/A-/B+/B-)
  2. 12-24V power to the CNC shield Vin
  3. USB to your computer for G-code streaming

GRBL Settings for Belt Drive

$0=10       (Step pulse, microseconds)
$1=25       (Step idle delay, ms)
$100=80     (X steps/mm — 200 steps * 16 microstep / (20 teeth * 2mm pitch))
$110=12000  (X max rate, mm/min = 200mm/s)
$120=500    (X acceleration, mm/sec^2)
$130=600    (X max travel, mm)

The steps/mm calculation: 200 steps/rev × 16 microsteps ÷ (20 teeth × 2mm GT2 pitch) = 80 steps/mm.

Step 4: Adding Closed-Loop Feedback (Optional)

For applications requiring guaranteed position accuracy, add a magnetic encoder strip along the extrusion and an AS5311 linear encoder on the gantry plate:

This turns a $78 open-loop actuator into a servo-grade closed-loop system for about $15 more.

Note

For most applications (CNC routers, 3D printer axes, automated doors), open-loop GRBL is perfectly adequate. Only add closed-loop if you're doing pick-and-place or precision measurement where ±0.05mm matters.

Step 5: Mounting and Integration

The 2040 extrusion has T-slots on all four faces, making it trivial to mount:

What's Next

This single actuator is a building block. Combine multiples for:

Once you're coordinating multiple axes and need a proper HMI to control it all, that's where io.codes comes in — design a control panel, map your axes, and run automated sequences without writing low-level G-code by hand.

Ready to automate this build?

Design the control system, wire the HMI, and simulate the process — all in your browser. io.codes gives you the same tools factories use, without the $50K license.

Open in io.codes →