Grbl: G-code parser and CNC motion controller
Real-time motion control firmware for Arduino-based CNCs.
Learn more about Grbl
Grbl is a motion control firmware designed for CNC milling machines, implemented in optimized C for the AVR microcontroller architecture. The firmware runs on Arduino boards with Atmega 328 processors and communicates via serial connection to accept g-code instructions. It includes a g-code parser supporting standard motion commands, arc interpolation, acceleration planning with look-ahead trajectory optimization, and real-time status reporting. The controller is typically paired with external stepper drivers and limit switches to form a complete CNC control system.
Arduino-Based Motion Control
Runs on standard Arduino Uno boards using serial communication instead of legacy parallel ports. Eliminates custom hardware requirements and reduces controller costs while maintaining industrial CNC performance.
Look-Ahead Trajectory Planning
Analyzes up to 18 motions ahead to compute optimal velocity profiles and acceleration curves. Prevents jerk at direction changes and maintains smooth tool movement through complex g-code paths.
30kHz Pulse Generation
AVR-optimized interrupt routines achieve stable 30kHz step pulse output with sub-microsecond timing accuracy. Handles concurrent stepper control, limit monitoring, and serial communication without jitter or dropped pulses.
#include <Arduino.h>
void setup() {
Serial.begin(115200);
delay(2000);
// Send G-code command to move to position
Serial.println("G21"); // Set units to mm
Serial.println("G90"); // Absolute positioning
Serial.println("G0 X10 Y10 Z5"); // Rapid move
}Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
bolt.new
LLM-powered browser IDE with integrated WebContainers runtime.
Pygame
Python wrapper for SDL enabling 2D game development.
xh
Rust HTTP client reimplementing HTTPie with improved performance and user-friendly API testing syntax.
Playwright
Cross-browser automation framework with built-in test runner.
Floki
Elixir HTML parser with CSS selectors and multiple parser backends.