-
Notifications
You must be signed in to change notification settings - Fork 3
Frequently Asked Questions
Please feel free to contribute more up-to-date answers or questions!
The pre-compiled Grbl HEX files are located in the Downloads tab on the main front page.
No, the HEX file is in hexidecimal format, not binary. So it can be somewhat larger than the 32K flash limit on Arduinos.
Please check the Wiki help pages for details. If they are not up-to-date, please notify us or update them if you found they were in error or have another method. Thanks!
No, grbl fits on the ATmega328P without having to overwrite the bootloader; you will still be able to upload Arduino sketches after flashing without having to re-burn the bootloader.
The Arduino bootloader takes a second or two to boot up before Grbl initializes. During this time, the stepper enable pin is LOW, which is enabled, before Grbl finishes its initialization and sets the pin to HIGH to disable the steppers. This brief moment makes your stepper drivers susceptible to electronic noise, so if your driver step pins have enough noise to falsely indicate a step, your steppers may start moving erratically.
We are looking into this, but this may be an unavoidable problem with straight-up Arduinos. There a some solutions however. You can try to locate the source of the electronic noise and remove it (a fan too close the other electronics). You can place a pull-up resistor on the stepper enable line to disable the steppers during the boot-up process. You can also remove the Arduino bootloader altogether and install Grbl through the ISCP header, which requires specific hardware to do it.
Grbl follows the NIST NGC/RS274 v3 standard for numerical control, aka g-code. EMC2 and Mach3 follows this standard very closely as well. Click the link to download and read the g-code standard document.
While we follow the NIST NGC/RS274 v3 standard, this is actually not completely standardized between all existing CNC machines and manufacturers. Numerical control is pretty old, arcane, and predates MS-DOS. In other words, it's a mess. There have been pushes to standardized it, like by NIST, and it has been successful for the most of common g-code commands. Yet, there are a few g-codes that are not standardized, like the g-codes G28/G30, G92.X, etc. It's a goal of Grbl to strictly follow one published standard so that people may build off of it, so that not to muddy the g-code waters even more.
This comes from a problem of how the arc are defined in g-codes. In radius mode (R), solving the path for a complete circle will cause severe numerical round-off problems that are unavoidable. This can lead to an error in the tool path. In incremental arc mode (I,J), this isn't a problem. Some CNC manufacturers actually don't allow users to draw a complete circle to avoid this problem altogether, limiting users to either a maximum 90 or 180 degree arc motions only. It is good practice to seperate all of your arc motions into 90 or 180 degree motions.
On v0.7 Master: Linear Motions (G0,G1), Arc Motions (G2,G3), Dwell (G4), Plane Selection (G17,G18,G19), Units (G20,G21), Homing* (G28,G30), Distance Modes (G90,G91), Feedrate Modes (G93,G94), Coordinate Offset (G92), Spindle Control (M3,M4,M5), and Others (G53,G80).
On v0.8 Edge: Coordinate System Select (G54+), Set Coordinate System Data (G10), Coordinate Offset Disable (G92.1), and Program Stop (M0,M1,M2,M30).