GRBL is a free, open-source, high-performance software for controlling the motion of machines that move, that make things, or that make things move, and will run on a straight Arduino. If the maker movement was an industry, Grbl would be the industry standard.
Most open-source 3D printers have Grbl in their hearts. It has been adapted for use in hundreds of projects including laser cutters, automatic hand writers, hole drillers, graffiti painters and oddball drawing machines. Due to its performance, simplicity and frugal hardware requirements, Grbl has grown into a little open-source phenomenon.
An open-source, embedded, high-performance g-code-parser and CNC milling controller is written in optimized C that will run on a straight Arduino https://github.com/gnea/grbl/wiki
Very necessary to know about GRBL
- It is very important to know that every single machine can operate under one or the other GRBL firmware such as: GRBL 0.8 or GRBL 0.9, or under GRBL 1.1 (different letters like GRBL 1.1H)
- As soon as you uploaded compatible GRBL (or did not upload since it has been uploaded) you need to check about GRBL configuration.
These parameters can be changed and value should be setup according to your machine
|Settings and sample values
||Step pulse, microseconds
||Step idle delay, milliseconds
||Step port invert, mask
||Direction port invert, mask
||Step enable invert, boolean
||Limit pins invert, boolean
||Probe pin invert, boolean
||Status report, mask
||Junction deviation, mm
||Arc tolerance, mm
||Report inches, boolean
||Soft limits, boolean
||Hard limits, boolean
||Homing cycle, boolean
||Homing dir invert, mask
||Homing feed, mm/min
||Homing seek, mm/min
||Homing debounce, milliseconds
||Homing pull-off, mm
||Max spindle speed, RPM
||Min spindle speed, RPM
||Laser mode, boolean
||X Max rate, mm/min
||Y Max rate, mm/min
||Z Max rate, mm/min
||X Acceleration, mm/sec^2
||Y Acceleration, mm/sec^2
||Z Acceleration, mm/sec^2
||X Max travel, mm
||Y Max travel, mm
||Z Max travel, mm
How to setup proper stepper motor (SM) parameters?
- Let’s check the stepper motor (SM) parameters
that are, the number of steps per rotation. Usually 200 (step angle 1.8°)
- We need to know the dividing coefficient of the stepper motor driver. Download the data-sheet to the driver or the controller of the CNC and observe. how it is set. Usually, as 1:8.
- Multiply 200 steps by the dividing coefficient of 8 = 1600 steps per cycle.
Now for the belt drive:
Let’s measure the tooth gear diameter of the SM
Find the length of the tooth gear (the range it covers during one cycle) L = 3.14 x D (Diameter)
E.g. D = 16 and the L = 3.14 x 16 = 50 mm. It means that the motor shaft covers a range of 50 mm per one cycle.
Dividing 1600 by 50, we get the number of steps per 1 mm = 32. We write it down to config GRBL.
For the screw measure the step of the screw.
This value shows how far the shaft will travel per one cycle of the SM. Let us assume that the step is 2 mm, it means that the shaft shifts by 2 mm per one cycle. 1600:2 = 800 steps per one cycle.
for example here is GRBL hex file GRBL 1 1H download package with a setting that can be used on a standard Eleksmaker machine
GRBL 1.1h settings for an Eleksmaker Mana board and engraving machine 20×20 cm
IT IS IMPORTANT and crucial to know that if some settings are not properly settled your machine might not work accurately
For example, if your X/Y/Z acceleration is not setup properly then your machine can engrave with black spots. It means that while it is starting the laser will burn harder comparing while it is traveling. In other words, at the first few moments while the laser is accelerating the speed with being less and the laser will burn harder.
Also if you do laser cutting or laser engraving your laser mode should be “1”, not “0”.
Keep in mind that different programs can work differently even if you have the same GRBL firmware and the same GRBL setup parameters. (That happens rarely but happens).
To start your engraving process from home you need to setup G92 X0 Y0 to make sure that your machine knows where to start.
Another tricky thing is to setup inversion for your motors. It can happen if you did not plug correctly your stepper motors into driver pins. Then you may use inversion. BUT EVEN IF YOU SETUP IT PROPERLY THE STEPPER MOTOR MIGHT HAVE AN INVERSED PINS and that will bring you to a wrong (mirrored) image engraving.
So, if you face a problem with running your machine – we can help you with that by:
- Checking your firmware (re-uploading a proper one if needed).
- Checking your GRBL parameters (changing if needed).
- Running software like LightBurn or LaserGRBL to test if your machine is working fine.
We are happy to help you!
You would need a TeamViewer to get started.
Let us know about your problem in advance (email to gf@EnduranceRobots.com or use an online chat form):
- Send us a picture of your machine.
- Send us a picture of your board.
- Describe your problem in detail.
- Offer the best time for online troubleshooting (1AM-3PM EST time)
We support GRBL community!
You can support it too)
All you need to know about G-code
How to Work with the G-code
Our YouTube video footages >>>
G-code examples and images for laser engraving and laser cutting
Endurance lasers free plugin for an Inkscape
How to use an Endurance plugin for an Inkscape. G-code generator extenstion.