What is Grbl?
Grbl is a free, open-source, high-performance firmware that controls the motion of CNC (Computer Numerical Control) machines. Written in highly optimized C, it runs on low-cost microcontrollers, most notably the Arduino Uno. Essentially, Grbl acts as a translator, converting standard G-code commands into the precise electrical pulses that direct a machine’s stepper motors.This allows for the accurate milling, carving, laser cutting, or drawing of digital designs.
Its core function is to interpret G-code and manage machine motion, including full acceleration management with look-ahead capabilities.This means the controller plans velocities for upcoming moves to ensure smooth acceleration and jerk-free cornering.Because of its efficiency, low cost, and robust performance on accessible hardware, Grbl has become a de facto industry standard for the DIY and hobbyist CNC community.
The History and Evolution of Grbl
Grbl’s development can be marked by key contributors and significant version updates that expanded its capabilities.
The Creators
Simen Svale Skogsrud (Norway): As the original creator, Skogsrud released the first version of Grbl in 2009. His goal was to create a high-performance, low-cost alternative to traditional parallel-port-based motion control systems. His pioneering work laid the foundation for accessible CNC technology.
Sungeun “Sonny” K. Jeon, Ph.D. (USA): Taking over as the lead developer in 2011, Dr. Jeon was instrumental in evolving Grbl into the powerful and stable system it is today. Under his leadership,
Grbl for 8-bit Arduino boards was refined, adding a host of new features and optimizing performance to an impressive degree for such humble hardware.
Bart Dring: Recognizing the performance limitations of 8-bit processors, Bart Dring ported Grbl to the much more powerful 32-bit ESP32 microcontroller, creating Grbl_ESP32. This port took advantage of the ESP32’s dual-core processor, increased memory, and built-in Wi-Fi and Bluetooth, adding features like a web-based user interface and Telnet access.
Key Version Milestones
Grbl’s evolution is clearly visible through its version updates, each bringing critical improvements.
-
Early Versions (v0.5 – v0.8): These initial releases established the core functionality of Grbl, focusing on stable G-code parsing and motion control on Atmel ATmega168 and ATmega328p processors.
-
Grbl v0.9: This was a major leap forward that introduced many foundational features still in use today. Key updates included:
-
A much faster motion planner with look-ahead capabilities.
-
A “Super Smooth Stepper Algorithm” for smoother machine operation.
-
Soft limits to prevent the machine from crashing into its physical boundaries.
-
Probing capabilities for accurately setting workpiece zero.
-
The default baud rate was increased to 115200 for faster communication.
-
-
Grbl v1.1: This is considered the final major release for traditional 8-bit Arduino platforms and packed in more professional features. The most significant additions were:
-
Laser Mode: This mode eliminates pauses during motion, which would otherwise cause scorching, by dynamically adjusting laser power with feed rate.
-
Real-time Overrides: Users gained the ability to adjust feed rates and spindle speeds on the fly during a job.
-
Optional Dual-Axis Homing: Support was added for self-squaring gantry systems that use two motors.
-



