Navigate:
~$GRBL0.1%

Grbl: G-code parser and CNC motion controller

Real-time motion control firmware for Arduino-based CNCs.

LIVE RANKINGS • 08:16 AM • STEADY
OVERALL
#219
10
DEVELOPER TOOLS
#44
3
30 DAY RANKING TREND
ovr#219
·Devel#44
STARS
6.0K
FORKS
3.2K
DOWNLOADS
3
7D STARS
+3
7D FORKS
-2
See Repo:
Share:

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.


1

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.

2

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.

3

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
}


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers