Architecture of a Grbl CNC Machine#
A Grbl-based CNC machine has a few major components. Understanding the distinction between these components is essential for effective operation and troubleshooting.
Frame and motion system#
This is the mechanical part of the machine. It includes the machine frame, gantry, and the stepper motors that make everything move in the 3D space.
Motion controller#
This is a microcontroller board that runs the Grbl firmware. It interprets the G-code and generates control signals for the motors. It also reads external inputs from limit switches or probes, and provides outputs for spindle control, dust collection, coolant, and more.
Spindle#
This is the motor that drives the cutting tools. It can be a simple DC motor, a trim router, or a powerful VFD motor with precise speed control.
Stepper drivers#
These components act as a power interface between the motion controller and the motors. They interpret the low-level logic signals from the CPU (how many steps to move and in which direction) and generate current to power the motor coils.
For open-loop motors the drivers are usually housed in the same enclosure as the motion controller.
For closed-loop motors the drivers are typically integrated into the motor housing.
G-code sender#
This is the component that reads the G-code file and sends it line by line to the controller. It also includes user interface for manual operations like jogging, probing and configuration.
The sender can be a complex piece of software running on a PC. It can also be a standalone piece of hardware, called here “offline controller” (not to be confused with the motion controller above). Sometimes the offline controller and the motion controller are inside the same box, but they are still separate components.
More information#
I came across this Youtube video that goes into great detail on many of these concepts. If you are a beginner you may find it quite helpful.