Gcode, Controllers, Grbl, Firmware Settings, and EEPROM.
Even for experienced woodworkers and hobbyists, learning to operate a CNC Router can be like moving to a foreign country. There’s a new language to learn, new customs to be observed, and new landscapes to navigate. The language of CNC is known as gcode. Gcode was developed at MIT in the 1940s to operate the first numerically controlled machines. As computers were integrated into manufacturing, numeric control evolved into computer numeric control (CNC) with gcode as the accepted standard programming language.
Gcode consists of text commands used to control the movement of a CNC. It can be written by hand but most often is created when using Computer Aided Machining (CAM) software. Most CAM software includes a feature called a post-processor which acts like an editor making certain the gcode that is generated will work with the type of Controller used by your CNC.
BobsCNC uses Arduino Uno controllers with GRBL firmware. The firmware settings are used to perform calculations and send step and direction commands to the stepper motors or servo motors. The firmware settings are stored in the EEPROM. EEPROM stands for Electrically Erasable Programmable Read-Only Memory and operates like a kind of electronic hard drive. The firmware settings used by BobCNC are preloaded on the Arduino Uno at the factory.
Some of the firmware settings can be edited (and in some cases, you may wish to do so), however, we recommend you don’t change the settings until you are more experienced and understand what happens when changes are made. For those of you who like to leap before looking remember this bit of code: $RST=$. When you type this in the command box at the bottom of the UGS Console Window and click to enter, it will reset the firmware to the original factory settings.
After a gcode file has been created, it can be opened by gcode sending software like Universal Gcode Sender (UGS). UGS sends the gcode commands, line by line, to the CNC controller. The processor uses grbl to perform calculations and to feed the step and direction commands to the stepper or servo motors which make the CNC move in each of its three axes (X, Y, and Z).
Every BobsCNC Router Kit is a well thought out system of components designed and engineered to perform accurate and consistent 2.5D cutting and 3D relief carving. When operated within its design parameters (material, cutting bits, speeds and feeds, etc.), a BobsCNC Router will hold a tolerance of .002 to .004 inches.
It takes time and practice to develop the skills required to get the most out of any tool. Unlike most woodworking tools a CNC Router requires integrating many different skills including design, understanding of how computers operate, and the mastery of software programs including Computer-Aided Design and Computer-Aided Machining (CAD/CAM).
Unleash Your Creativity with BobsCNC