grbl/grbl logo

grbl/grbl

Free

An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino

FreeFree tier
Type
Open Source

About grbl/grbl

Grbl is a no-compromise, high performance, low cost controller for CNC milling. It runs on a standard Arduino (Duemillanove/Uno) with an Atmega 328, written in optimized C for precise timing and asynchronous operation. It maintains up to 30 kHz of stable, jitter-free control pulses. Grbl accepts standards-compliant G-code and fully supports arcs, circles, and helical motion, as well as all primary G-code commands. It includes full acceleration management with look-ahead (up to 18 motions) for smooth acceleration and jerk-free cornering. Macro functions, variables, and most canned cycles are not supported. Grbl is released under the GPLv3 license.

Key Features

Runs on a standard Arduino (Duemillanove/Uno) with Atmega 328
Written in optimized C for precise timing and asynchronous operation
Maintains up to 30 kHz of stable, jitter-free control pulses
Accepts standards-compliant G-code
Supports arcs, circles, and helical motion
Full acceleration management with look-ahead (up to 18 motions)
Open source under GPLv3 license

Pros & Cons

Pros
  • High performance and precise timing
  • Low cost – runs on inexpensive Arduino hardware
  • Smooth acceleration with look-ahead
  • Fully open source and community supported
  • Works with standard G-code from CAM tools
Cons
  • Does not support macro functions, variables, or most canned cycles
  • Limited to Atmega 328-based Arduinos (Uno/Duemillanove)
  • Requires external Arduino board and wiring
  • No built-in GUI – relies on external senders

Best For

CNC milling machine controlDIY CNC projectsEducational robotics and prototypingLow-cost motion control for hobbyist CNC routers

FAQ

What is Grbl?
Grbl is an open-source, embedded, high-performance G-code parser and CNC milling controller that runs on an Arduino.
What hardware is required?
Grbl runs on a standard Arduino Duemillanove or Uno with an Atmega 328 microcontroller.
What G-code does Grbl support?
Grbl accepts standards-compliant G-code and fully supports arcs, circles, helical motion, and all primary G-code commands. It does not support macro functions, variables, or most canned cycles.
Is Grbl free?
Yes, Grbl is free software released under the GPLv3 license.
What is the maximum pulse rate?
Grbl can maintain up to 30 kHz of stable, jitter-free control pulses.