Arduino boards running GRBL software have long been used for CNC machine control, but usually you need to choose between having a router or laser cutter. This project, however, is specifically designed to accommodate both with a modular carriage system.
Build-wise, it’s a fairly standard XYZ gantry CNC — with a frame made out of V-slot aluminum extrusions from OpenBuilds cut to length by a circular saw. The X and Y axes are controlled via NEMA 17 stepper motor and belt drive assemblies, while height adjustment is accomplished with a NEMA 23 motor and screw drive.
The electronics are all hidden away in a separate enclosure, including the Arduino Uno/CNC shield that serves as the brains of the operation and a cooling fan to keep the temperature inside in check.
If you’ve been considering doing this type of build, this looks like a great place to start, and you can see a demos of it in laser and spindle modes in the videos below.