TinyG vs gShield and grbl: which CNC controller do you need?

Both drive stepper motors from G-code and use the same TI DRV8818 driver chips. They differ in how many motors they run, how they plan motion and whether you need an Arduino.

The short answer

Buy TinyG — $129.99 Buy gShield — $49.99

Side-by-side comparison

TinyG v8gShield v5 + Arduino
Price$129.99$49.99 plus an Arduino
What it isComplete controller boardStepper driver shield for an Arduino
Motor outputs43
Axes6 (XYZ + ABC rotary), motors mappable to any axis3 (X, Y, Z), motors fixed to axes
Dual-motor gantryMap two motors to one axisWire two motors to one driver
Stepper driversTI DRV8818, up to 2.5 A per windingTI DRV8818, up to 2.5 A per winding
MicrosteppingUp to 1/8Up to 8×
Motor supply12–24 V DC12–30 V DC
FirmwareTinyGgrbl (Uno) or g2core (Due)
Acceleration planningJerk-controlled (S-curve)grbl: constant acceleration (trapezoid); g2core: jerk-controlled
Host interfaceUSB; text and JSONArduino USB; grbl text commands or g2core JSON

Motion planning: why jerk control matters

grbl ramps velocity up and down at a constant acceleration, so the velocity profile is a trapezoid and the acceleration switches on and off abruptly. TinyG and g2core limit jerk, the rate of change of acceleration, which gives S-shaped velocity curves. Speeds change without discontinuities, so you get a better surface finish, less vibration, chatter and skipped steps, less wear on the machine, and motors that run smoother and cooler. Because the motors never see an instantaneous change in acceleration, higher accelerations are possible too. The TinyG wiki explains this in Jerk-controlled motion explained.

TinyG and grbl: related, but not the same

TinyG was forked from grbl in early 2010 to build a 6-axis controller with jerk-controlled acceleration planning, so the two share a lot: almost the same G-code, homing cycles, feedhold (!), cycle start (~) and software reset (Ctrl-X). Synthetos works on both projects and sells hardware for each because they serve different needs.

Running g2core on gShield

gShield also fits the Arduino Due, which runs g2core, the ARM successor to the TinyG firmware. That gives you jerk-controlled motion on three axes for the price of a gShield and a Due.

Still not sure?

Check the FAQ or contact us with a description of your machine and motors.