From the Wikipedia Article: Arduino is an open-source single-board microcontroller, descendant of the open-source Wiring platform designed to make the process of using electronics in multidisciplinary projects more accessible. The hardware consists of a simple open hardware design for the Arduino board with an Atmel AVR processor and on-board I/O support. The software consists of a standard programming language compiler and the boot loader that runs on the board.
Where does Arduino fit into our project? We use the Arduino as the CNC controller by flashing grbl. Arduino is our link between software and hardware, it's the bridge between the intangible (gcode) and tangible (machine hardware). grbl receives raw text input via serial transfer generally in the form of gcode, and interprets that gcode into the correct step and directional pulses to send to the stepper motor driver (usually attached via a gShield).
Typically, the Arduino will be powered by the USB connection from the host computer. Some headless setups will directly power it with 5 Volts.
The firmware used on the Arduino is Grbl.
Note on it at: https://awesome.tech/grbl-demystified/
- https://www.arduino.cc/en/Tutorial/EEPROMClear --- a sketch which will clear the EEPROM, allowing one to upgrade GRBL.
See also G-Code Interpreters.