Basically there are 4 elements talking between them

Personal computer talk to Arduino board via USB in a language called G-Code

G0 X10 Y10 (Fast move to position X10, Y10)
M3         (Turn on Laser)
G1 X20 Y10 (Linear move to X20, Y10)

G-Code is the common name for the most widely used numerical control (NC) programming language. Basic command set include G0 (rapid positioning) G1 (linear movement) G2 and G3 (clockwise and counter-clockwise arcs).

Arduino UNO board with Grbl firmware translate this commands to stepper motor pulses, direction control, laser power modulation.

Motor driver transform low level TTL signal from Arduino, to high-power signals for stepper motor.

Wanna build your own laser engraver? Follow our guides!