gnea/grbl logo

gnea/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 gnea/grbl

Grbl is an open-source, embedded, high-performance g-code parser and CNC milling controller written in optimized C for Arduino boards with a 328p processor (Uno, Duemilanove, Nano, Micro). It delivers up to 30kHz of stable, jitter-free control pulses and supports real-time overrides for feed, rapid, spindle speed, and coolant toggles. The firmware includes full acceleration management with look-ahead of up to 16 motions for smooth acceleration and jerk-free cornering. Grbl accepts standards-compliant G-code, including arcs, circles, and helical motion, and has been tested with multiple CAM tools. Version 1.1 adds jogging mode, laser mode with dynamic power scaling, and real-time overrides. It is free software released under the GPLv3 license, originally built on Grbl v0.6 by Simen Svale Skogsrud and led by Sungeun 'Sonny' Jeon.

Key Features

Up to 30kHz stable, jitter-free control pulses
Full acceleration management with look-ahead of 16 motions
Real-time overrides for feed, rapid, spindle speed, spindle stop, and coolant toggles
Jogging mode independent of g-code parser for low-latency control
Laser mode with dynamic power scaling based on speed
Standards-compliant G-code support including arcs, circles, and helical motion
Runs on Arduino with 328p processor (Uno, Duemilanove, Nano, Micro)
Free and open-source under GPLv3 license

Pros & Cons

Pros
  • High performance with jitter-free control pulses up to 30kHz
  • Real-time overrides allow adjustments while job is running
  • Acceleration look-ahead ensures smooth acceleration and cornering
  • Open source and runs on inexpensive Arduino hardware
  • Supports standard G-code with arcs and helical interpolation
Cons
  • Macro functions, variables, and most canned cycles are not supported
  • Limited to Arduino with 328p processor (Uno, Nano, etc.) for this version
  • Requires external GUI to handle macro translation and advanced features

Best For

CNC milling and routingLaser engraving and cuttingHobbyist and DIY CNC projectsLow-cost alternative to parallel-port-based motion control

FAQ

What Arduino boards does Grbl support?
Grbl runs on Arduino boards with a 328p processor, such as Uno, Duemilanove, Nano, and Micro.
What G-code commands does Grbl support?
Grbl supports standards-compliant G-code including arcs, circles, and helical motion. Macro functions, variables, and most canned cycles are not supported, but GUIs can translate them.
Is Grbl free?
Yes, Grbl is free software released under the GPLv3 license.
What are the key new features in Grbl v1.1?
Grbl v1.1 introduces real-time overrides (feed, rapid, spindle speed, stop, coolant), jogging mode, laser mode with dynamic power scaling, and two new spindle speed settings.