Arduino Nano/Uno loaded with GRBL 1.1f as a controller and bCNC or UGS (Universal Gcode Sender od LaserGRBL
On my machine I use Mach3 when a spindle is on machine and LaserGRBL when my 2.5W laser is on.
Works like charm. GRBL has adaptive power controll of a PWM for laser during acceleration/deceleration.

HTH