INSTALL WORKFLOW using an arduino uno and an arduino cnc shield:
1) Grbl is a motion control GCode Interpreter. The controller is written in highly optimized C to achieve precise timing and asynchronous operation. It is able to maintain up to 30kHz of stable, jitter free control pulses.
download GRBL 1.1 here
2) Flash the file to the arduino in various ways:
compile in the Arduino IDE
— download the Arduino IDE for mac – pc – linux
get inspired from some nice examples from the original author
Protoneer directions for customized GRBL
Grbl is a no-compromise, high performance, low cost alternative to parallel-port-based motion control for CNC milling. It will run on a vanilla Arduino (Duemillanove/Uno) as long as it sports an Atmega 328.
The controller is written in highly optimized C utilizing every clever feature of the AVR-chips to achieve precise timing and asynchronous operation. It is able to maintain up to 30kHz of stable, jitter free control pulses.
It accepts standards-compliant g-code and has been tested with the output of several CAM tools with no problems. Arcs, circles and helical motion are fully supported, as well as, all other primary g-code commands. Macro functions, variables, and most canned cycles are not supported, but we think GUIs can do a much better job at translating them into straight g-code anyhow.
Grbl includes full acceleration management with look ahead. That means the controller will look up to 18 motions into the future and plan its velocities ahead to deliver smooth acceleration and jerk-free cornering.
download at github
- GRBL 0.8c compatible. (Open source firmware that runs on an Arduino UNO that turns G-code commands into stepper signals https://github.com/grbl/grbl)
- 4-Axis support (X, Y, Z , A-Can duplicate X,Y,Z or do a full 4th axis with custom firmware using pins D12 and D13)
- 2 x End stops for each axis (6 in total)
- Spindle enable and direction
- Coolant enable
- Uses removable Pololu A4988 compatible stepper drivers. (or DRV8825)
- Jumpers to set the Micro-Stepping for the stepper drivers. (max 1/16)
(The DRV8825 board can do up to 1/32 micro-stepping)
- Stepper Motors can be connected with 4 pin molex connectors.
- Runs on 12-36V DC. (Only the Pololu DRV8825 can handle up to 36V)
Using two jumpers the 4th axis can be configured to clone the X or Y or Z axis. It can also run as an individual axis by using Digital Pin 12 for Stepping signal and Digital Pin 13 as direction signal. (GRBL only supports 3 axis’s at the moment)
Clone X-Axis to the 4th stepper driver(Marked as A)
Clone Y-Axis to the 4th stepper driver(Marked as A)
Clone Z-Axis to the 4th stepper driver(Marked as A)
Use D12 and D13 to drive the 4th stepper driver(Marked as A)
End Stop Configuration
By default GRBL is configured to trigger an alert if an end-stop goes low(Gets grounded). On the forums this has been much debated and some people requested to have active High end-stops. The jumpers in the picture provides the option to do both. (To run with default setting on GRBL the jumper need to be connected like the left shield in the image below)(This Jumper was only introduced in Version 3.02)
End-stop switches are standard “always open” switches. An End-stop gets activated when the end-stop pin connects to ground(When setup with default GRBL settings).
Configuring Micro Stepping for Each Axis
Each axis has 3 jumpers that can be set to configure the micro stepping for the axis.
In the tables below High indicates that a Jumper is insert and Low indicates that no jumper is inserted.