Controllers and machine ecosystems
The controller is the hardware and firmware that reads G-code and drives the motors. GRBL based machines are fed by a sender on a computer. Others run the file themselves from an onboard controller. That difference changes the workflow and which advice applies to you.
What the controller actually is
The piece that reads the G-code and turns it into precisely timed pulses to the motor drivers. It also handles homing, limits, spindle control and probing. It is not the CAM software, and it is not the sender program on your laptop.
Two architectures
| Streamed from a computer | Onboard controller | |
|---|---|---|
| How the file runs | A sender program feeds lines over USB or serial | The controller runs the file itself |
| Interface | The sender software on a PC | A touchscreen or web interface on the machine |
| Risk | A USB dropout or a PC sleeping can end a job | Far fewer ways to interrupt a running job |
| Flexibility | Large choice of senders, lots of community tooling | Whatever the manufacturer provides. Sender programs such as UGS, gSender and Carbide Motion do not apply to these machines at all. |
| Common on | GRBL based hobby machines | Prosumer machines and up |
Families you will run into
- GRBL. The most common hobby firmware by a wide margin. Runs on a small microcontroller, fed by a sender. Enormous community, and most generic online CNC advice implicitly assumes it.
- GRBL variants and forks. Several exist with extra features. Mostly compatible, with differences that matter in the details.
- Buildbotics derived. Onboard controller with its own web interface, used on the Onefinity Original and Pro series.
- MASSO. A self contained industrial style controller with a touchscreen, fitted to the Onefinity Gen 1 Elite and available on its own for other machines. Its own G-code dialect and post processors.
- Redline. Onefinity's current controller on the Gen 2 Elite and the Apprentice, and available as an upgrade for older Onefinity machines. Again its own post and its own conventions.
- Mach3 and Mach4. PC based control through a motion board. Common on older and DIY machines.
- LinuxCNC. Open source, very capable, more setup work.
- Standalone industrial controllers. Self contained units on larger machines, each with their own G-code dialect.
What differs between them in practice
- Post processor. Different dialect, different post. See post processors.
- Homing and limits. Configuration and behaviour vary considerably. See homing and limits.
- Probing. Commands and macros differ, and probe block dimensions are configured differently.
- Tool changes. Some pause and wait, some stop, some expect an automatic changer.
- Run from line. Support and behaviour vary, which matters when recovering a failed job.
- Macros. Syntax and availability are controller specific.
Keep the two kinds of knowledge separate
Everything in CHIP's cutting, bits and materials areas is universal: chipload does not care what firmware you run. Everything about homing, probing, tool changes and posts is machine specific. Knowing which is which saves a lot of time, and a lot of following advice that was never going to apply.