Learn, Implement and Share


This project is one of the coolest projects that I have done. This DIY CNC Router Machine has both a Makita  6mm Router / Spindle to physically engrave or cut plywood as well as a 2.5W Laser Module to engrave Part Numbers on the finished parts. The Laser Module could also be used to cut paper or cloth. So it is a 2 in 1 DIY CNC Machine with both a rotary tool and a laser module.


The construction of the DIY CNC Router chassis is done using regular MS Square Pipe and the lead screws are regular steel long screws of 12mm diameter and 1.75mm pitch. The X-axis is in gantry and two stepper motors were used for that, another single stepper motor for Y-axis and a single stepper motor for the Z-axis is used.

If you are making gantry on X-axis you have to be sure that you are mounting them parallel and square otherwise, it would be a horrible experience when the motors will jam or create noise and eventually wear out the threads of the lead screws.


An Arduino UNO is used with 4 TB6600 Stepper Drivers. Each Stepper Drivers is connected with a NEMA23 18.9 kg cm Bipolar Stepper Motor (2.8 Amp Motor) {SKU BH57SH76-2804A}. The Firmware running on the Arduino is the latest Grblv1.1. This makes it a really easy to make DIY CNC Router as this can be easily replicated and changed according to your use case and need. Feel free to comment and ask questions.

The link for the GRBL firmware code is attached below on this page. You just have to download it then load it on to the Arduino IDE and flash it on an Arduino UNO. If you want to learn the detailed process please visit the link https://www.arnabkumardas.com/cnc.html

Make Sure you do a benchtop test before assembling the motors and doing the connections. You might have to invert some rotational direction of the motors to suit your construction and axis position and direction.

Based on your mechanical construction and the material you will cut, you have to calculate the required motor torque. Unnecessarily selection higher torque motors will be costly and an overkill for the system. You should use proper calculations to calculate the required torque for each and every lead screws. A lot of online calculators are available. If the X-axis is on a gantry and driven by two motors, you can divide the torque between two motors.


A Makita 3709 1/4-Inch 4.0-Amp Laminate Trimmer is used as the spindle for wood engraving or cutting. Along with that an EleksMaker® LA03-2500 445nm 2500mW Blue Laser Module is used for Laser Engraving.

There is no PWM control for the spindle and the power of the spindle is manually switched on and off. Whereas the laser module was connected with the spindle control pin of the Arduino and it was PWM controlled to switch on and off when required. This can be improved by your design of DIY CNC Router and you can add a spindle RPM control circuit using a TRIAC.

Both the tools are having an offset from the (0,0,0) coordinate as they are mounted on two different places on the Z-Axis and it is taken care of during the G-Code generation for proper alignment.




GRBL v1.1 Firmware  >> https://github.com/grbl/grbl

Follow me on Instagram >> https://www.instagram.com/arnabdasbwn/

Follow me on Twitter >> https://twitter.com/ArnabDasBwn

Subscribe to my YouTube Channel >> https://www.youtube.com/c/ArnabDasBwn


Crazy Engineer



Saifullah Iqbal · January 11, 2019 at 12:13 am

Good Work

SWARAJ · October 16, 2019 at 11:57 pm

I have open source Arduino based cnc With almunium extrusions and having two “y” ie y and y1 apart from x and z axis and want to connect 5.5watt laser engraver other adjustments can be taken care but how will i connect wire and where can you enlighten please if it would be clear then i would be able to buy 5.5watt laser engraver and connect to my cnc.


Raffaele · December 4, 2019 at 12:58 am

Hi, congratulations for your work, I have a question for you, how do you connect 2 motors on the same axis on the drivers? which pins do you use? are they the same for the single axis? I would like to connect two motors on the Y axis, and I’m not sure how to make the connections. Hello and thanks

    Crazy Engineer · December 17, 2019 at 3:09 am

    If Both the Motors are in the Same Axis and You have Powerful Driver to Handel the Load of both motors then you can connect the motors parallel make sure you swap the connections if needed when the motos are facing opposite. If the Drivers are not Powerful. COnnect two drivers in parallel.

Chetan · October 16, 2020 at 2:19 pm

I wish to have a CNC machine to machine the iodl in wood. The size of wood expected is not really smooth cylinder. The major axis is less than 8 inch.
Can I get something in low price to start with.
(Also contains WhatsApp)

    Crazy Engineer · October 21, 2020 at 10:14 am

    The requirement you propose needs precision and repeatibility. I suggest you to go for industrial grade CNCs.

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.