Introduction: Homemade 3 in 1 CNC (Router, 3D Printer & Laser Engraver)

About: I am Ashish a civil engineer and a full-time maker and YouTuber. I love innovating and making unique things that entertain, inspire, and educate you. Check out my YouTube channel for more awesome builds & be s…

This is by far the most longest-running build I have ever made and some improvement always left here and there. But overall said that the machine is running fine without giving any trouble. My main objective is always to educate people about how to make things and when people give some feedback that always feels good. Sometimes it's good and sometimes bad but frankly said I welcome all comments. I have very little experience with electronics and this is the only part which I feared a lot and sometimes that fear overcomes. That's why you see that almost a negligible amount of electronics build over my channel but I am still on the learning stage and hopefully, someday I post something unique in electronics as well.

So 2-3 years ago I made a CNC and I use it a lot, build a couple of projects and then the day arrived when I have to dismantle that machine because I planned to build a larger one and that machine is no longer seems to be useful at all because I started getting some issues and later on discarded that CNC. I started a 6-axis CNC build of 5x10 ft area and bought some material and electronics but again due to some financial issues I decided to leave that and build something which can be multipurpose and even budget-friendly for me for the current situation. So I decided to build a 3 in 1 CNC. At the start, I thought that its an easy work, and I can do it without any problem but as soon as I put the step in the electronics area boom it's started giving me trouble. I damaged a couple of electronics buy some new motors, this and that, finding solutions for my problem but it's all going in vain. I was really depressed at that time because I am not able to find any solution and all my efforts are just completely useless. But the day comes and a late night at 2:00 am I was so dedicated to finding the problem and with God's grace I finally able to find the real problem in the machine and that took me almost 3 months. When I found the solution I didn't try it at the time but don't know I am dead sure that this thing going to help and the machine now starts to work. Then from there after a couple of weeks, I am finally succeeded in making 3in 1 CNC. I am really happy that a person like me who didn't have much of an electronics experience did that. The amount of frustration I face in my build I really don't want that anyone else faces the same. Although I am not an expert, if you are facing any problem then definitely let me know, I tried my best to help you out. If you have any suggestions then please drop that in the comments section down below I am really eager to know what they are. One suggestion for the viewer is that don't go with the video at first because there are some points which I didn't cover in the video and for that, you need to pay some attention to the paragraph I wrote related to that issue. Second thing is that in my machine I use the old material which I recovered from my old machine so in the design you can change that material with something else or stick to the one which I use. But I highly recommend changing the material because that is going to reduce the price to some extent. I am providing you that design which I made not the improved one. The improved version you need to make yourself but it wasn't really that much difficult to make some changes. So without further any more chit chat let's start this journey.


Tools Used

As far as tools are concerned I think I used most of the tools present in my workshop. As I always said that there is an alternate of every tool but if you have tools like lathe or milling machine I think they will surely ease your work and helps you to build a more precise machine. My machine is cutting extremely precise to the required dimension and I did this without those tools.

  1. Chop saw
  2. Mitre saw
  3. Table saw
  4. Drill Press
  5. Cordless Drill
  6. Welding Set
  7. Bench vise
  8. Wire stripper
  9. Hot air gun
  10. Glue gun
  11. Vernier caliper
  12. Dial Gauge
  13. Set square
  14. Combination square
  15. Inclinometer
  16. Angle Grinder
  17. Jigsaw
  18. Step drill bits
  19. Thread Taps with handle
  20. Allen wrenches
  21. File set

Step 1: Design and Specification

From the start of this build, I want my design to be as low cost so that's why I start this from metal Pipes. I tried to go with those pipes which are of good quality and have even dimensions. I was not worried about the weight because I am aware that this is not going to be a lightweight machine. Being a scratch build, I have to design everything. Since most of the parts are recovered from my old CNC and the design preference was not to cut any of the longer rails into a shorter one and because of that approach, I am able to build a larger footprint 3 in 1 CNC machine. One thing I want to tell is that you can surely change the unsupported rails on the z-axis with lm guide or supported rails, which will surely reduce the weight and price up to some extent. You can go with the same design approach but have a modified rail system which is definitely much better.

Machine Specification

1. Machine Weight:- 65 kg (approx)

2. working area:- 370X650X700 (x, y, z) in mm

3.Touch panel.

4.Power Loss Detection

5.Filament runout sensor.

6. 1 Hp Makita trim router

7. Individually controlled Heated bed.

8. The frame has wheels so it's easy to move around.

9. Being a heavy build you can mount multiple spools at once.

10. The maximum printing speed machine can go is around 100mm/sec but you need to remove the router.

Step 2: Bill of Material

Here is the list of material which will ease the work for you. You can take the reference of the parts from the list and choose any website to buy stuff. Aliexpress is the best and affordable way to buy stuff. In my build, most of the hardware and other heavy items purchased locally.

Bill of material 3 in 1 CNC

Step 3: ​Material Cutting

I think when you decided to build a CNC the first preference for you is that whatever material you cut that needs to be in precise dimensions. The more precision you have the better it is for you to build that project. For my build instead of aluminum, I decided to go with steel pipes. I use 2" X 2" square pipes for the entire build and 4" X 4" I used for the z-axis. To cut down the material I suggest you not use any thick marker for marking the lines as it has I high possibility of inaccuracy. It would be great if you use a scriber.

Now to cut down the material the best choice for you is to use a chop saw as it gives to clean-cut and also pretty much square cut. If you don't have that then use an angle grinder. Rather than going for all the sides in the first attempt go one by one. First, mark out the cutting lines on all the four sides and then cut them with the angle grinder by following those lines. Here you have to make sure that doesn't make an accurate cut in the first attempt I suggest you leave some material along with the marking line so that you can fine-tune it with a flap disk or even with a file.

To get nice and even cutting onto chop saw the good way to do that is by using a stop block. Stop block ensures you that your every cut comes to an exact length. But again there is a trick to do that. You can't just set a stop block and then start the cutting because that will catch the blade. You have to place an extra piece in front of the length you are going to cut and then make sure during the marking consider that extra length which is the thickness of the spacer block you are using and when you start the cutting make sure to remove that spacer block otherwise the cutout piece get trapped in between the blade and the wheel and might give you injury. So be conscious during the work.

Step 4: ​Deburring and Cleaning

So after cutting with the chop saw there are burrs developed at the end of the pipes so before proceeding to the welding work it's good to remove those burrs so that it will not create any obstacle while welding and you can also keep checking the end whether it's square or not because if it's not making a square joint you can do that in this phase. To do this work I use a used flap disk because sometimes the burrs catch the flaps and often remove then to quickly so rather than damaging the new wheel it's good to have a used one. If the wall thickness of the pipes is a little thick then it's good to do the chamfer also that would give a much better weld joint.

Step 5: ​Welding the Y Axis Frame

Constructing the y-axis is the first work I did in this process. To start welding the first thing you need is a flat table. Now if you are like me and don't have that then you can make a temporary table. I have a 4 " square pipe and use them to construct my first frame or a y-axis. It's good to use plenty enough clamps during the welding work to avoid the warpage. I made a rectangular frame and use a set square to make them completely square. The first I do only the tack-weld and then flip the frame and then do it again. Then I recheck the squareness of the frame but make sure not to remove the clamps. From thereafter I made the complete weld. It would be good if you do a diagonal weld. The next thing I weld is the middle stretcher pieces onto which I am going to mount the linear bearing. So this is the crucial part because the linear rails are needed to be mounted over it. With the help of a combination square, I checked it multiple times and then tack weld all the corners. Now important thing is that do not remove the clamps until the welds became completely cools down because every hot thing when it's going to cool down it shrinks to some extent, so until the clamps remain onto the joints you can surely decrease the chance of warpage up to some extent.

Once the frame gets welded I also weld the legs of the frame. These legs are used to store the electronics underneath the machine bed. Now you can keep any height you want, it is not mandatory to keep the same height of the legs as I do because, in the end, I am going to use the base frame to raise the entire machine.

Step 6: ​Prepairing the Z Axis.

So as I told earlier that I am using a 4x4 box pipe for the z-axis, so to cover the top open end I use two 2"x 4” strips and weld them together to make a 4"x 4" square plate so that I can fix that in the top portion of the pipes. Once the pieces are welded together I did a cleanup and prepare them to weld it with the 4"x 4" pipe. With the help of magnets, I able to hold it to its place until I finish my weld joints. This is the area onto which I am going to mount the top z plate over which the motor and the linear rod has to be fastened. After that, I clean up the excess weld with the help of an angle grinder.

From thereafter I started the work into the z plates onto which I am going to mount the linear rod and ball screw. To start the work I, first of all, mark the diagonals on to the plate. And thereafter I lay out the dimension of the box pipe which I am using for the z-axis onto the earth plate so that I can cut it with the help of an angle grinder. During the cutting process, one thing you need to taking care of is that the cutting wheel needs to be kept a tiny bit away from the line so that you can see the line during the cutting process and thereafter fine-tune the overall dimension with the help of files. Also if you are using an angle grinder try not to go completely up to the end because that will create a cut mark onto all the four corners and that not looks good at all. You can leave a tiny bit portion and then finishes it with the help of a jigsaw. From thereafter I use files to trim down them to the final marking lines I marked onto those plates.

From thereafter I started the work of marking the hole location with the help of templates. It's good to have a sharp point center punch to mark the hole location. The top plate is slightly different from the bottom one because onto the top plate no cavity has been cut down to insert that plate into the pipe. Onto the top plate along with those pillow bearing blocks, some holes need to be e drill down so that I can fix that played on to the top of the Z-axis. And along with those mounting holes I need to Mark 4 extra holes so that I can fine-tune the top plate to make it perfectly aligned with the bottom plate. The holes drilled for connection purpose are slightly drill down larger so that I can make the fine adjustment and they will provide a slight wiggle room for the fine-tuning. From thereafter I started drilling down the holes onto my drill press. For the bigger holes, I first make the pilot hole and then the final hole.

So here I need to do some extra work and I think that is completely optional. My workshop is on the first floor and the door size is not large for that only reason I made them detachable and to do so I need to use these angle brackets. They are completely optional. The good thing is to make a permanent and stiff joint. Since my templates are already stuck onto the plates I used existing lines to layout the holes onto the plates and for the holes onto the L bracket I use vernier to mark the location. The holes in the angle bracket are kept larger so that they provide a slight wiggle room. From thereafter I drill down the holes onto both the plate and the frame so that I can connect them securely. To tap those holes I use the M8 thread tap. Going with smaller bolts is surely not a good idea to join such heavy things.

Step 7: ​Installing Top and Bottom Z Plate

So once the cleanup process has been completed I start the assembling work of installing the top and bottom z-axis plate so that I can mount the linear rod and the ball screw.

So a few things you need to take care of this process. The holes made onto the top z plate for the larger bolts are kept slightly bigger and they are not going to be tapped but he smaller holes need to be tapped with an M5 thread tap. So that they will get locked into the plates and then able to lift the plate for the fine adjustment to keep it square with the pipe. I must say this process is extremely crucial if you didn't provide these adjustment screws then you might get some trouble in fine-tuning the z-axis plate. Also drilling the large holes helped a lot in doing the fine adjustment. Now by taking the reference from the pipe I made the plate completely square to the pipe. Along with these, I marked the holes for the bottom plate. The reason for having a 4" long angle bracket is because the pipe I am using having dimensions of 4" X 4" square and it would be much easy for me to transfer the hole location onto the pipes. So after drilling the holes I tap them with m8 thread tap and now they are ready to assemble.

Step 8: ​Cleaning of Old Bearings

so as I told earlier that I am using old parts extracted from my previous CNC so all the linear bearings I am used in this billed are quite dirty and there is a paint job done over those bearings and a for this pale I wanted to remove that. So the cleaning process starts by removing the circlip from both sides of the bearing and then with the help of a washer having the diameter equal to the diameter of the linear bearing and with the metal rod I played the bearing slightly e raised from the bottom surface and then made some blows with the mallet so that the inner bearing casing will come out with those blows. This thing works as I expected there wasn't any problem in removing those bearings from the housing. From thereafter I start the cleaning process by first dipping the linear bearing into a slightly dilute acetone solution so that I can remove all the dirt and debris from the bearings and me repeat this process three times until the solution becomes completely clear. To remove the paint from those casings I for the entire 1-liter paint strip solution into a container and then dip the entire housing by making a batch into that container so that paint remover works efficiently over the entire surface and within 3-4 minutes, the paint will automatically come off easily.

Now the next part of this is to assemble the bearings and that part is also very easy to do just install the circular first onto one and then insert the bearing into the housing and with the washer and the rod made the light glows onto the linear bearing so that it will touch the other side of the circlip which we installed earlier. Once it reaches the exact location install the second circlip by placing it into the grove. From thereafter just put some lithium grease into the bearing and they are good to go. there are 3 bearings that I am not able to recover them so I just threw them away and what separate linear bearings and install them into the housing. I also did the same procedure with the pillow bearing.

Step 9: ​Y Axis Linear Rail Installation.

The installation of the y-axis linear rail is a bit of time-consuming work because I have to align it very precisely so that the linear rod remains parallel to each other. One thing I changed in this axis is that I use a supported linear rail rather than the unsupported rail. Although I highly recommend going with supported rails for all the axis.

So the installation of the first rail is much crucial than the second one because this also needs to be square to the mainframe. First I mark the center of the pipe onto which I am going to mount the linear rail. I kept the rail perfectly centered on the pipe. Then with the help of a 5.5 mm broken drill bit I made the marks where I need to drill down the holes. Then with a 4.2 mm drill bit made the pilot holes and then tap them with an M5 thread tap. Then I fastened the linear rod onto the frame securely. From thereafter with the help of dial gauge I set the second linear rail by making sure that it will remain parallel to the first I installed. This is a time-consuming process and I have to go forward and backward many times to make it completely parallel. While setting up with the help of the dial gauge when I found the point where the position reaches the exact location then I use the c clamp to hold down those linear rails to its position. then with the help of the center point, I mark the whole location drill down them, and then tap them with the M5 thread tap.

Step 10: ​Assembling Y and Z Axis Together.

What's the y-axis and z-axis is work has been finished I start the assembling work. First of all, install the top z plate on to the top of the pipe. Then I flip the piece uninstall the linear rod holder. After that, on to the mainframe which is the y-axis I mark the hole location onto which I am going to bolt down the bottom z plate. To Mount the bottom z plate I drill down four holes to make it more secure. Underneath the y-axis outer frame, I also mount the angle bracket to make it more rigid. Then I insert the z-axis pipe into the bottom plate and made the final connection. From thereafter I install the linear rods, linear bearing, and the ball screw. During this process I made one small change is that make a through holes at the top of the z plate so that I can install the rails from those holes.

Step 11: ​Constructing the X-axis Frame

So once the two-axis has been created I start the work onto the x-axis. Although I highly recommend going with aluminum because as far as weight is concerned the NEMA 23 with 1N torque is powerful enough to hold that weight securely. For my build the material is chosen is the micarta board. So the first measurement I took is by placing two longer pieces parallel to each other and from thereafter I measure the distance. The in-between distance for both sides is almost identical and from thereafter I transfer those marking onto the pieces and start cutting the in-between sections onto which linear bearing and ball screw housing has to be mounted. I took the time to layout my lines to cut down the shorter pieces first. From thereafter I printed out templates so that I can mark the location of the holes by taking the reference of the templates. Again the holes here are kept 5.5 mm because if you use a 5mm screws the 5 mm holes are not sufficient enough to pass through those holes. So a 5.5mm hole is plenty enough to keep the precision without creating any trouble. Once the pieces are ready I started the work of fastening them to the mainframe.

While connecting the screws with the linear bearing one thing you have to keep in mind is that tighten the screws little by little and do this process diagonally. Also during this process kept moving the linear bearing repeatedly so that you are not ended up in a jammed bearing.

To find out the third piece for the gantry what I did is that I clamped the third piece to the previously attached two pieces and then make them completely perpendicular to each other. Once all the four sides come perpendicular to each other I measure the in-between distance and then transfer that onto the workpiece and made a cut. The same thing has been repeated with the second side also. Before connecting it permanently I clamped the pieces together and then made a test run with the help of a drill machine. The reason for performing this operation is to check the alignment of the linear bearing. Good thing is that everything has been going on completely well here.

From thereafter I started the process of joining them together. By making a gantry while keeping the pieces completely square and held it with clamps only I made a mark where I need to make a connection. From thereafter with the help of vernier caliper, I divide it into equal lengths. From thereafter drill the holes and then place them to there place so that I can transfer the holes to the remaining pieces with which I am going to attach these pieces. After drilling and tapping the holes I connect them. Now the main gantry has been completed and ready to install the linear bearing.

Step 12: Things Which I Did But Ended Up Discarding.

So to provide motion to the x-axis carriage earlier I was using unsupported rails. To install these rails I used a vertical linear rod holder rather than the wall-mounted. For the installation of these, I took the reference from the top gantry and then place the holder at those ends. Similarly, I place the bottom linear rod also. During all of these setups, I install the linear bearings into the rod so that it would be easy for me to take the reference later on. From here after I measure the distance by dragging the linear bearing onto both sides and measure it a couple of times. Once I get them equidistance from both sides, with the help of super glue I secure them properly so that I can take the reference of the holes. Once the rod holders securely held up to their place with the help of center points I found the center remove those rod holders and then drill and tap the holes. After successfully attaching the linear rod and the bearing onto the gantry I made a test and I was hoping that the deflection was not too high, but that was surely not the real truth. From thereafter restart the work on to the carriage and it's driving mechanism. Search my earlier plan was to use balls to drive the X and y-axis so that's why I made my own angle brackets so that I can mount the ball screw onto these brackets. Says I discarded this plan so I am not going to elaborate the entire process of making these L brackets because you can simply use a bigger angle peace and get the same result without doing much of work. I am not saying this is not possible to do this with a ball screw, you surely able to do this with the help of a ball screw but you need igus ball screw for that work. Now those lead screws are very expensive to purchase. So I discarded this plan.

After that much amount of work, I start the work on the carriage which is going to be built with two different kinds of plate one is 12 millimeters in thickness and the other is 6 millimeters in thickness. The top and the bottom portion of the carriage is constructed with a half-inch thick plate and the front and the back is going to be made with a quarter-inch thick plate. I use the template to layout my hole location for the linear bearings and then drill down those holes. After mounting both the front and the backplate I measure the distance between both the plates and then by taking that gap I cut down half-inch thick plate it into two sections both the top and the bottom portion. From thereafter I attach all the pieces to make the carriage. Similarly, I install the screw mounting attachment for the y-axis also.

Now the question arises is that what's the problem in using these ball screws for the drive mechanism. Well, the main problem is in the lead section of the screw. When the motor takes one revolution the machine moves only 4 mm and if you are willing to make a 3 in 1 CNC in which you have to do 3D printing also so then this setup will completely fail if you increase the speed of more than 10 mm/sec because of the induced emf produced by the motors. More about this problem I am going to elaborate in the electronic section. But clear thing is that when I started the printing process and increases the speed for more than 15 mm/sec then the motors start to create a humming sound and skips the steps. Although I can use the ball screw by increasing the gear ratio I was not in a situation of buying more costly material for this machine because I already spent a lot over the electronics just to figure out my problem.

Step 13: ​Linear Rod Problem for X Axis.

For me, the installation of the linear rod for the x-axis is a bit more controversial because earlier I was using unsupported linear rails for the x-axis but after using it for about 2 months I felt it like ok it's completely useless if I am willing to do the CNC work with this machine. Although there wasn't any big issue you in doing the 3D printing work and the laser work. when I have to cut the wood then the problem starts to appear. The problem is that I am not able to make deep cuts with this setup. If somehow I try to do so then the machine carriage flexes a lot and creates a wavy pattern around the workpiece. As I told earlier all the material I get from my previous CNC so I didn't prefer to buy separate throughout supported rails. But in every part of this machine if you decided to make one then try to use Fully supported linear rails. The second main reason is that I am a bit worried about the increase in weight onto the z-axis motors but after using it for quite a long time I decided to make the x carriage and the gantry heavy duty to make it stiffer.

So that's why I bought 1 meter supported rail for the x-axis and the first thing to do is cut down that length into two equal parts which are equal to the spacing between in both the z-axis pipes. Since I change the type of linear rail I also have to change the linear bearings and because of that the construction of the carriage also needs to be changed because the hole location is different for the split bearings.

Step 14: ​Constructing the Carriage Again

Since I changed the linear bearings so because of that I also need to change the carriage a little bit. So what I did is that I cut down the aluminum plate onto the table saw. From thereafter with the help of files and deburring tools make the sides straight and then trim down the longer length to the final required dimensions. Then I stick the template onto the piece so that I can drill the holes. I center punch the holes and then drilled them with a 5.5 mm drill bit. I also drill the holes for the upper and lower plate so that I can connect them with the drive mechanism. To make the carriage more rigid I reduced the gap between both the front and backplate. After changing the front plate I also decided to make the router mounting plate a bit more heavy. So that's the reason why I am using a 20mm bakelite piece to have a more rigid and robust area.

Step 15: ​Installing the Supported Rails on X Axis Gantry.

So to install the x-axis supported race I first master 5 mm distance from the top of the gantry so that I can place the linear rod over that marks and start doing the installation work. The first thing I did is to place those pieces as close as I can and from thereafter uses clamps to make them completely secure at its place. The clamps weren't too tight at this time because I still need to bring the rails to the marking I made onto the gantry front plate. Once I reached that mark I made the impression where I need to drill the hole. Then I drill and tap that hole with an m5 thread tap. After that, I installed the linear bearing on the first rail. The installation of the bottom linear rail is a bit tricky. For this, I use the previous rail to keep it perfectly parallel with each other. First I fix the bearing with the front plate so that the road comes in a position where I can hold it. Then like what I did with the first one hold it to its place and drag the carriage left-right to find any resistance. Luckily there was no resistance I found in the first attempt and I am good to go with this setup.

Step 16: ​Closing the Gantry

So this is also the upgrade which I made after the machine has also been completed. I found that the gantry wasn't in a closed loop. I found that the closed gantry would be much more rigid. So to increase the rigidness I use a 1x1 angle piece and to mount that angle I use previously drilled holes which are used for linear bearing. I can't tell how much rigidity increased but being such big z-axis that will surely be going to increase the structural stability a lot.

Step 17: ​Constructing Y-axis Carriage

To construct the y-axis carriage onto which job is going to be manufactured whether it's 3D print, CNC cut an object or a laser work. For this, I used an aluminum sheet of 6mm. The sheet is quite big so the first thing I did is to trim it down to the required size. Two sides of this plate are factory edge so it wasn't a big problem for me to trim it onto the table saw by taking the reference from those straight edges. Once the sheet cut down to the required size I glued the template with the help of which I can drill down the holes for the linear bearing. But before that deburr the edges with a file so that it would be safe to handle. To stick the template to the sheet I first mark the center of the sheet. This is a pretty good way if you have to align the template to the workpiece. I printed the layout onto the A4 sheet so I need to join all the pieces together so that I can create that big template that I needed to drill the holes. In all the templates which I made I made a centerline for both the x-axis and y-axis so that it would be much easier to make it completely perpendicular to the workpiece. Believe me, this technique works like a charm and you never have any problem in aligning your template to the workpiece. Once the template is perfectly aligned little by little with the help of glue stick I stick the template to the plate. From thereafter with the help of center punch, I marked the hole location and drilled them with a 5.5 mm drill bit. Since I need a flat surface at the top so I am going to use the counter bolts and for that, I also need to counter my drilled holes for which I use a bigger drill bit because I didn't find the right one for that application. But it works without giving any trouble and all the screw are easily able to hold the bearing.

So at this stage, I made the raw structure of the CNC and as I told earlier there was a problem in using the ball screw about which I explain in the upcoming part so that it will make more sense. In my journey at this stage, I used a ball screw for driving the x and y-axis but it didn't take time to discover the problem about them. If you still want to use a ball screw then you can follow the fusion design and replace the simple ball screw with an igus ball screw.

Step 18: ​Enclosure for the Base

So once the basic layout of the CNC has been completed I started the work on covering all the open sides. To construct the covers I use SS 202 stainless steel sheet. I measure the height of the base and then transfer that onto the stainless steel sheet. From thereafter cut it down with the help of an angle grinder. In my design, I didn't make any cover for the backside because I need some area to keep the wrench drill machine and some other stuff underneath the machine when they are not in use. To cover the bottom of the base I used a 2mm mild steel sheet. The corners are cut down so that it can be fitted inside that base. An to do that I placed it onto the flat table and then place the base of my CNC over it. From thereafter I marked the layout of the legs and then cut them with the angle grinder.

To keep the sheet to its place I need something so that it remains to its place. For that, I am using 10 mm square rod pieces and weld them around the bottom of the legs. To hold the stainless steel sheet around the periphery I used some sheet and angle piece to construct some l brackets and then places them equally apart and weld them with the frame and the bottom sheet. I also weld them to the top so that I can cover the top area also.

Step 19: ​Painting the Parts

Since I use mild steel parts so I decided to do some paint job over it and it also increases the look of this overall build. I painted it in two-tone colors my favorite orange and black. I first sprayed two layers of primer over the surface. There is some oxide layer over the top of the z and axis plate and I didn't felt to grind it and make it smooth because in the end it's not gonna visible and also it's not going to affect the overall look of the machine by any means. Once the primer has been dried overnight I sprayed two layers of black and orange paint over the parts. The paint is always a bit thick to use it for spraying so I always use turpentine oil to thin down the paint. One suggestion maybe you already aware of that, never use paint thinner in oil-based paint. Although it completely dissolved in the paint. It reduces the drying time of the paint and made the paint a lot more soft which usually does not happen with turpentine oil.

Step 20: ​Installation of Side Covers.

Now all the side covers are ready its time to install them. Since I want a smooth transition between the frame and the sheet I decided to bend the stainless sheets to get a smooth transition. This bending will also increase the structural strength of the sheets and helped to keep them to its place. To bend the sheet I measure the distance between the legs I have and from thereafter the remaining length left onto the sheet I divided it into two equal parts and bend the sides with. Sheet metal bender and the result is in front of you.

Once the sheets are successfully installed onto the machine base I start the work onto drilling the holes. For the top sheets, I first lay out the marks at where the l brackets are located and thereafter I made them equally apart and then drill down the holes onto the sheets. To transfer the holes to the l bracket I use the previously drilled holes and then use them as a reference to do that. From thereafter I tap them with m5 thread tap and fix the top sheets to its place. For the side panel, I did the opposite because the holes are already been drilled into the L brackets and I took reference form those holes and then tap them so that they can be held to its place. Over a few points, I need to make some clearance for the angle bracket which is going to connect the z-axis to the y-axis. At this stage, I still believe that those ball screws will be going to work and that's why I made those slots to the top of the y-axis frame.

Step 21: ​Assembling the Pieces Together

Once most of the things are ready it's time to assemble all the parts and complete the rest of the work. So starting the work from the z-axis bottom plate and making them completely straight I uses a piece of linear rod and used its straight edge to get both the plates perfectly aligned to each other. From here after little by little tighten the screws to make it more rigid. From hereafter I started fixing the l brackets to make both the z-axis post completely straight. To keep the post in alignment I use a piece of square rod and clamped it to the posts and then tighten the l brackets. For the top z-axis plate, I again use that linear rod as a straight edge guild to kept them perfectly straight. And here you can also be able to see the use of those alignment screws and how they worked to kept the plate vertical with the pipe. Once the plate is perpendicular to the pipe I completely tighten them to make it secure.

Now aligning the y-axis linear rod is again more challenging. This time it's a bit more different. For this, I tied a string in the shape of a letter x and them I started checking weather both the rails are aligned or not and I found that there are slight variations. Now the process of checking that thing is that if the thread touches each other it means that they are perfectly aligned, if not then you have to use some shims to make them level until that crossing thread touches each other.

Once this job is finished I screwed the linear road holder for the z-axis and insert the linear rod from the top of the z plate along with the linear bearings. I also insert the ball screws and then attached the gantry to the linear bearings. Once this installation is done I found a slight problem in the z-axis, the problem is that it moves slightly outward. So to counter that problem I measure the bottom distance and fix a clamp to the top and start tightening it until both the top and the bottom distance come at the same distance. Then I use a stainless steel angle marked the hole location and fixed them to the top z-axis plates so that I can maintain the same distance.

Step 22: ​Installation of Router, Extruder and Laser Engraver.

So this is also one of the parts which I kept on modifying until I get the desired result. In my first attempt, I decided to put all three things completely fixed to the machine, but as soon as I start facing the problem I found some articles about step skipping, and wait is the main cause of step skipping so I discarded the design. Also along with that the 3D printed extruder is is way too far from the carriage so whenever a machine accelerates or decelerates there is a vibration goes along the extruder and transfer onto the print in the form of ghosting. But there is the work I did for mounting the extruder laser and the router together.

To Mount the router on to the carriage I need to first fix the router holder and for that, I use the square to keep the holder completely square to the bottom plate than with the help of super glue glued it to its place temporarily so that I can take the hole reference. Then I drilled the holes and mount the router holder to its place. This procedure I also repeated the second time when I decided to change the router with a Makita trim router. I found that the Chinese spindle was not powerful enough to make a good and faster cut onto the CNC and also when I found that the machine is pretty strong enough to lift the heavy load on to z-axis I decided to change the router along with that I also need to change the router holder too because both have different diameters. The Makita router is 10 mm bigger in diameter. So 3d printed that holder with PETG and it works beautifully.

Laser and extruder mounting works go side by side because both of them need to be mount onto the same said and also onto the same plate. But the problem in first Design is that extruder lying way too far from the carriage origin and because of that distance it's starting to create ghosting effect onto the prints and I found that the plate also has some flexibility at such a distance and when I went to print fast the plate starts to shake a lot. So what I did next is that I cut down that plate and fix that extruder a lot more closer to the carriage and this tweak works. For the laser mounting, I made a 3d printed holder, and whenever I need to do the laser engraving work I can use that holder by putting the laser in it and start the work. The advantage of this work is that now carriage is much lighter and able to travel faster without losing the steps. The extruder has holes so I use them to mark the location and tighten it to its place. This is the only portion that is not going to be removed while doing another work. Also the laser I am using required a working distance of 18 mm to work effectively. So that's why this upgrade is mandatory to do. By making a 3d print it's now able to keep much more closer to the workpieces.

To attach the extruder plate to the carriage I used the bottom piece from the carriage and then placed it over the extruder plate and from thereafter drilled and tap the holes so that I can connect that plate to the carriage.

Step 23: ​Motor Mounting Brackets

Once the machine has been assembled it's time to mount the motors on to the machine so that it can provide a drive. The motor holders are constructed with three quarters in stick plywood stacking together and from thereafter with the help of a core cutter I cut down the hole in the middle of that bracket. The holes saw was not long enough to reach up to the other and so that's why I approached from both the sides and completed the job. With the help of a trim router and a half-inch round-over bit, I smooth out the edge where I cut the hole. Now to drill the holes for the motor mounting is done by using a template which I printed and then stick on to the brackets center punch and drill down the holes. In the brackets, I also drill a hole so that it would be easy to tighten the coupling with the ball screw. Them I hold the bracket and the motor by drilling 4 holes from the bottom with 4 screws. So from thereafter I start the work on wiring and make this machine alive.

Step 24: Wiring and Electrical

So starting of this work is done from this pile of wire and to manage all of these wires I am going to use the vertical members of the machine. On to the top, I drill down holes so that I can feed the wire from those pillars for better cable management. The final drilled hole on to the top is around 18 mm. I also remove the y-axis carriage and the cover plate so that I can access the cabin underneath that carriage. To feed the wire from those pillars I need to drill down some holes into that bracket also so that the wire remains hidden inside the whole structure. After that taking the reference of those pre-drill hole high drill the hole into the post also. I used extra mavin cable which I'm going to used to connect the board to the extruder heater. All of the wire which are going to be inserted come from the bottom to the top and then reaches up to the bottom so that it would be easy for the head to move around. Then just from eye bowling I measure the length of the cable and cut it to the required length.

Once all the wires have been feed out in the entire frame I start the naming process of the wires so that it would be easy to recognize the wires during the final connection. Then I start the work onto the front panel.

To exhaust the hot air from the chamber I decided to use an ac fan. I made the layout on the front panel and then made a cut with the help of an angles grinder and later on complete it with a jigsaw. For protection from fan blades, I am using a fan grill. I place it onto the panel and make it square and mark the hole location. For much better control onto the machine, I made some holes to fit the buttons. I did this off camera but it's all done with drilling and filling.

For the mains on off, I am using 30 amps rocker switch. For controlling three different types of equipment I am using a round rocker switch. These are the little lugs come in handy to connect the wire with switches like this. It would be easy if you want to disassemble any component from the rig. That comes in various types so make sure to choose the right one for the right need. The last one is the toggle switch for controlling fans and some other miscellaneous items and they come handy when I have to do some upgrades in the future. To make the front panel insulated I am going to use this electrical tape and cover the panel. But before that, I made a space for the graphic display to Mount onto the panel but unfortunately, I am not going to use this display because I changed the ramp board with a duet Wi-Fi bord. But I think I can use these holes and slot for mounting the new LCD display. Then I use electrical tape to make the steel sheet insulate. Once the insulation is done I start the work on to the wiring. And as I show earlier I am using a lugs connector for or these switches so I crimped all the wires and connect them with the switches. This method is much easier as compared to soldering each wire.

once the wire connection has been completed I connected to the power supply and the mains. During this time I was planning to put a pc inside this case but in the end, I change the mind because duet wifi does not needs a pc permanently connected to it. That's why I skipped that step. After that, I assembled everything and made my first test run and this is the first time when I found that the machine is not able to run properly and during the printing time it starts to skip the steps which you can see in the video provided above.

Step 25: Problems I Faced and Methods to Fix Them

so before telling you the rest of the making process I want to tell you the problems I faced during the making of this 3 in 1 CNC and if I say problem then its a pretty big list of that. I also think that during this process I faced and counter all kinds of problems that come in front of me. It surely took time but in the end, I would say that I won that fight.

Step 26: Thermal Runaway Printer Halted

In the printer during the heating of the extruder heater if it says printer halted then there are two ways to fix this problem. Usually, the solution I got on the internet is about stoping the fan which blows air onto the print but in my case, there wasn't any fan there, so that trick really didn't work for me. The solution is that if you are using 12v supply then try to increase the voltage around 14-15 v and your problem gets solved. The process is that there is a little potentiometer situated near the end of the power supply. If you rotate it clockwise then it increases the voltage and vice versa. If that doesn't solve the problem you need to change your supply to 24v. Since Arduino can't handle 24 v but a ramp can handle so to solve that problem you can remove this little diode which sents power to the Arduino to work and also to lighten the display. Since it's only capable of holding 19v. So more than that might damage your Arduino. If you remove the diode then you need to provide a separate 12v power supply to the Arduino to lighten up the screen.

Step 27: Extruder Motor Not Rotating

So this problem I got during the installation of the extruder is that the motor instead of rotating it starts to create a humming sound. So the basic way to fix this problem is to increase the current setting through the potentiometer which is located on to the driver. But in my case the situation is different. The wire I received which connects the motor to the mainboard having the wrong placement of wire position and because of that this motor is unable to rotate. So if you have the same problem and increasing the current didn't work for you then you need to check the wire position.

The easy way to check this is to shorten any two wires of the stepper motor and if it's hard to rotate and you are feeling some resistance then those wires need to be placed side by side, that is the correct way. And those wires are coming From the same coil. If you are not feeling any resistance during the manual rotation then those belong to different coils. I don't know how these wires crimped in the wrong position but by shortening the two wires I found that the connection is wrong. I got an image from the seller in which he tells how to install the motors and most of the time the wires color sequence is the same and rarely changes. But sometimes mistakes happened and if you have that case then alternating the wire position will solve your problem. At first, I thought that I received a damaged motor and then order a new one but the connection cable I received with the second motor has a connector onto one side but not to the other. So I attached some wire and check the motor and it's rotating. And with the same wire I check the previous motor to which I am thinking is faulty also starts to rotate and the problem is all done by that wire. Since it came from the factory i never thought that there is any fault in the wire connection and bought another motor.

Step 28: Working With Mega 2560 With 24v Power Supply

Since mega 2560 is not able to hold a 24v supply so that's why you need to make a slight change in that. There is a small diode onto the ramp board and what it does is that it sends power to the Arduino and from there, it lightens the display. Arduino mega2560 can handle up to 18-19v according to the company specs and more than that really damages the circuit. But there is a way by which you can provide different voltage to your system just by removing that diode. From thereafter the top portion which is the ramp can run with 24v and the Arduino and the ramp display can run with 12v.

Step 29: Arduino Mega 2560 Stops Displaying

If you are working with a ramp board and at 12v supply and Arduino doesn't lighten up the display, then its a pretty easy fix to do that. If you look at the Arduino there is a little voltage regulator on it which actually converts the 12 v voltage into 5v, from thereafter it went into the display of the ramp through Arduino. Replacing this voltage regulator will surely solve your display related problem.

Step 30: Step Skipping, Why It Happens and What I Did From Start to End.

So if you search about this topic onto the internet than there are literally quite different methods to solve this issue but in all of them, nobody tells you about the problem generated by the back EMF. First, the few hacks which I tried to solve this issue are replacing the drivers. Since from the first I want to run my CNC with NEMA 23 motors and that is because I wanted to make my CNC powerful but within a few tries, the dream seems to be shattered.

So the first driver I was using is the 4988 stepper motor driver which is widely used in 3D printers to run NEMA 17 stepper motors. It's not a huge problem for this driver to run these NEMA 17 motors because they are not consuming too much current which maximum usually lie around 1.7 amps and these drivers are capable of providing a maximum of 2 amps of total current. But if it's come to NEMA 23 they can turn the motors but the motor loses its torque because of lack of current flowing through the motor. The basic fundamental principle is to run the motors at 80-85 % of there rated current. So during the start of this project, I didn't know much about these electronics and when I start to face the problem I read the articles about these components and from thereafter I shifted towards DRV 8825 stepper driver which is a slightly higher model than 4988 but it still lacks the power. Then I thought that my motor having some issue that's why it's skipping the steps. And that idea came in my mind because they are used motors from my first CNC. So I buy two motors for the X and Y-axis and hoping that my problem is going to be solved. But that's not the case. Again the same problem. So At this time, I was thinking that the lack of current is the issue of step skipping. So I decided to go with a bigger driver like 6560 this driver is actually capable of providing 3 amps of current to each coil. So I again switch the drivers to 6560. So like the previous two drivers, these have a different way to attach them to the ramp board and these are the little expansion sockets that will ease your work. But even then it didn't solve the problem. Besides changing the drivers I also change the ramp board from 1.4 to 1.6 but no luck and you can see the problem which occurs during all the remaining drivers and among all of them 6560 is quite noisy. in the video, you can see that I was printing a benchy boat and the machine starts to create a humming sound and skipping steps. The print area was not more than 2 inches but you can see that the machine is wandering over the entire bed and forget what to do. Sometimes I also thought that there some mechanical issues regarding the alignment of the ball screw and I realign it 4 times during this whole chaos but no luck. From thereafter I decided to go with duet wifi in the hope that the ramp is not made to handle NEMA 23 motors. So again after hooking this board with the machine I am still facing the step skipping problem and it was really hard to believe that even my investing so much amount of money into a board that still not solving my issue. Every day I made some prints and failed and then change the settings then made print and then again failed and I repeated this thing I think maybe around one and half month continuously not every single day but I think around every two to three days I repeat this process and every day I did something on to this machine but not able to succeed what I wanted to achieve.but the thing is that during all these experiments if I run the machine to a very low speed like 10 mm per second feed rate then there would be no problem and the machine works fine and this thing happens in all of the drivers. These are all the solutions which you find on the internet about step skipping issue. In my case, none of them makes sense as I am unable to solve my problem either by changing the driver or by correcting the mechanical failure.


From thereafter I kept my research on the problem. So from the duet page, I come to know about the problem which is induced by the EMF of the stepper motors and I thought that it might be the reason why my motors skipping the steps. And it's a pretty easy way to find this. First of all, you need to visit riprap firmware. org. On to the page, there is an option of an EMF calculator. When you open that page you will find some options where you need to fill out your requirements and your motor properties. So printer geometry doesn't play an important role the next part we have is the power supply we are using in my case I am using a 24-volt power supply so I put it 24. The next part is the motor current which you want to set into your firmware. Saints usually motor current needs to be set around 85 to 90% of the rated current so I put it 2400 mah. the next step is how many motors are connected into series since I am using a duet Wi-Fi board and there is an option to connect two motors simultaneously on to z Axis so I set the parameter to 2. Then we come to the motor properties of inductance and resistance. Since there are only NEMA 17 motors that have been displayed in the chart and my motor was not listed here so I choose the custom option. Then in the next step, there is a step angle in my case I have 1.8 degrees of step. From thereafter we have holding torque and my motor is capable of 189 Ncm torque, so I set it to 189. Then face resistance and phase inductance which can be found onto the motor specs page. Now down below is the main part with which you are able to find the solution. So in the drive section first option is about micro-stepping. Usually, micro-stepping is kept around 16 X but since tinamic is capable of providing 256 x the steps you can set it up to that. But one thing you need to take care of is that more the micro-stepping has been increased the steps also need to be increased. You can say that these are directly proportional to each other. If you double the micro-stepping the steps also need to be doubled up but along with that your holding torque starts to reduce because back EMF is also increasing. The next option we have is about driven options. In my machine, I am using a ball screw to rotate my x and y-axis so I choose lead screw in that option. The next option is that lead screw presets if you are using a lead screw that is listed in this list then you can select that particular ball screw but otherwise in the lead screw lead option the which is the next one you can just directly put the lead your ball screw has. Since my ball screw has a lead of 4 mm so I put 4 in the lead screw lead option. Since I'm using a direct drive so I am going to put the gear ratio 1 to 1. So now putting the value on this page it provides me with the value regarding the EMF produced by the motors. If you take a closer look into the back EMF section down below then you will find EMF induced due to rotation and due to inductance and this is the portion on to which we need to pay attention. These values come for a single motor. so it means that to counter back the EMF force you need a power supply greater than 75 volts if you want to achieve a speed of 100mm/Sec. In down below in the speed section if I kept the settings then the maximum speed I am able to get is around 11.3 mm/Sec. which is extremely slow and this is the main reason why I am losing my steps.

Since these EMF settings come for one motor and I am using 4 motors in my 3D printer that's why total EMF is around 300 volt and I need a larger supply to counter that force which is impossible because duet can't handle it. There is no way that I am able to provide that much voltage to my duet board and this law applies to all kind of motors and the overall conclusion of this is that if we increase the lead screw lead then the EMF is going to decrease so you can say that the EMF is inversely proportional to the lead of the lead screw. and here if I change is the lead from 4 mm to 20 mm then you will see that how much amount of EMF has been reduced and in the bottom section, the required speed also increases from 11 to 56 mm/sec. If I increase the lead from 22mm to 50mm then you will see that the EMF comes around 5.4 volts and 24 volts power supply can handle for motors on this EMF. On the right side, you can see that by increasing the lead the motor needs to take less rotation, and the steps will reduce to around 64 steps. Since I don't have ball screw having that much lead but I want to use ball screw for my design and to counter my problem I come to know about igus ball screw and these screws are capable of providing this much amount of lead in a single rotation but the problem is that it's way too much expensive and I don't want to invest this much amount of money into this project. If you want to know much about these screws than the link is in the description section. So I decided to go with a belt-driven method. For that, I choose a 28 teeth timing pulley with a lead of 5 mm. And when I put this data onto the page I found a huge reduction of EMF and the speed is also increased because 28 teeth X that pitch which is 5mm gives a

lead of 140 mm. Which is extremely huge. And because of that, the velocity has been increased to around 400 mm/sec. It means that every time my stepper motor takes one revolution the machine will move around 140 mm and in the earlier case when I am using ball screw having a lead of 4 mm than with every single complete revolution of the motor gives me a lead of 4 mm only.

There are surely many ways that I m able to increase the gear ratio of the previous ball screw and use them but I didn't make my design according to that and without a doubt by making a planetary gear ratio or gearbox or some kinds of other methods I can convert that 4 mm leads to 40, 100 or maybe 200 mm per revolution but again that is going to increase the cost to some extent and I was in every tight budget and already wasted a lot of time in finding this simple problem. Believe me, nobody tells you about this problem except the duet page. These problems might be known for some of you but since I wasn't able to find any video or an article about this I thought of sharing this with you so that you didn't have to suffer like me.

Step 31: Drive Mechanism of X and Y Axis

So once I figured out my problem I started the work onto the drive mechanism and now I have to discard all the work which I did earlier for the drive mechanism. So along with changing the mainboard from Arduino to Duet WiFi I also change a few other components.

so ball screw replaced with a 5m timing belt to provide a drive to my CNC. Along with that, I am using a 5m timing pulley having 28 teeth on it and because of that, it provides a lead of 140 mm in a single rotation as compared to the previous ball screw which provides only 4 mm of lead in a single. For my build, I am using two different kinds of pulley one having a bearing installed in it and the other having a through-hole of 6.5 mm which needs to be connected to the shaft of the stepper motor. Since I change the drive mechanism that's why I need to replace the mounting bracket and for that, I am using a 3 by 3 angle bracket having a 54-millimeter hole drilled inside it and having slots onto another side so that I can slide the position for better accuracy. The holes on the bracket have been threaded with the M5 thread tap.

The brackets onto the opposite and are completely different from the motor mounting bracket. For the one side, I have a slot for fine-tuning the height of the motors, and for the other side, I have a 1⁄2" square bar piece with an m8 threaded hole in it along with, mounting holes onto it. Onto the angle, there are threaded holes in which I screwed it down to its place. This is the 3rd part on to which timing Pulley has been installed. It having three holes one for the pulley mount and the remaining two are for holding the pulley to its position. The pulley has a bearing fitted inside it and an M8 Allen bolt locked in it and when grub screw screwed in it, it pushes the pulley and tightens the belt, if you unscrew it, it loses the belt.

Underneath there are two screws which help to hold that desired position to that pulley. And in the image, you can see how this assembly slides in that slot. And this small movement inside this bracket helps to tighten the belt. Now I am going to install them onto the machine. So the holes I drilled in the bracket are at the same distance as the old bracket, and now I do not need to drill additional holes for the new mounting bracket and now holes onto the new bracket can be easily matched with the holes drilled onto the frame. The height is kept in such a way that the bed easily glides over the pulley without interrupting the motion. The adjustable pulley is going to be installed onto the opposite end.

onto the opposite end of the y-axis, I need to mount a bracket so that I can join this and pulleys together with the frame. I made a marking on to the frame drill down the holes and tap them with the M5 thread tap. Along with that for easy accessibility of the grub screw, I need to make a notch so that it would be easy for me to reach the head of the grub screw for tightening the belt. I also need to grind down the top of the bolt to make clearance for the carriage.

To mount the bracket on to the x-axis, I decided not to drill any extra holes on to the gantry and instead of that I decided to use the previously drilled holes which are already been used by the linear bearings and the only thing I need to do is to replace the Allen bolt with the larger one. show the pulley bracket of the x-axis is slightly different than what I constructed for the y-axis but there was not a huge difference in the construction perspective. In this situation for the belt-tightening, the screw needs to push it to the sideways as compare to the y-axis in which the grub screw pushes the pulley to the backside. Once the pulley has been installed I start the work on to the belt it and cut down the belt to the exact length so that when the grub screw pushes the pulley it tightens the belt. It's good to cut it a tiny bit longer because later on, you can cut it to a shorter length for fine adjustment. I clamp the belt to the y-axis and for the effective joint, I use the leftover piece from the same belt and overlap this piece to the open ends so that it matches the teeth and clamped them tightly. by doing this there is no way that belt becomes loose after a couple of uses.

To make a clamp to lock the belt on Y-axis I am using a 10 mm plate piece cut it into two equal sections. In this construction, the one-piece is going to be bolted down with the carriage while the second piece is going to hold the belt against the previous piece. For mounting this onto the y-axis carriage I arrange it in such a way that I didn't need to drill down any extra holes for that and able to use the previously drilled holes for the mounting purpose. Both pieces are designed in such a way that they pressed each other very tightly. Now both the pieces have been prepared and it's time to install them onto the carriage. The assembling construction is like I use a small portion of the belt and then place it onto the open end of the belt in such a way that the teeth get locked in each other and since because of the plate pressure friction will increase and the belt is not going to come out.

A similar kind of construction has been made for the x-axis also which in the end got replaced with a small stainless steel sheet piece holding the belt to its place with a single screw and this construction is also very robust and effective because the entire system is working on the friction only.

Step 32: Heat Bed and Its Installation

For this CNC I first decided to build my own heated bed because of the unusual size but then the time I was involved during this build I ended up giving that idea. I decided to build the heated bed with multiple different beds combined together to form a large bed and the advantage of doing this is that I am able to control the heated bed individually for the smaller prints which surely going to reduced the electricity bill to some extent.

So the construction is like this, the bottom base is going to be e a piece of MDF board which is 12 mm thick and over-the-top I am going to apply Kapton tape. Thereafter I am going to connect the heat plate together with Mavin cable. I am going to build two separate rows of heat plates. So that I am able to control them separately. I cut down some strips from 6 mm thick MDF to create a recessed area for the heat plate and with this setup when I place a 4 mm glass over the top the whole setup became completely flush.

To control each row separately I am going to use these 30 ampere MOSFET and the reason for using the separate most fat is because duet it is not capable of providing this much amount of current to these heaters because when they are connected in series they are going to draw the 40 amps of current by each row. Over the top is covered by another sheet of MDF which is going to be used for CNC routing purposes. Then when I have to use the CNC portion I just screwed this board to the bed and start the machining.

To start the construction of the bed first I star the gluing process of the strips. To hold them to their place I use the clamps to hold them until the glue dries. I didn't install the strips to the remaining two sides of the board because I wanted to do the cable routing process. For the better cable management, I draw the layout onto the plate according to my setting and rout out the track for cables. Although later on, I need to make slight changes here and there It all went right. Then I made some markings onto the aluminum plate and then drilled a couple of holes and thread them with an m5 thread tap. Once the work has been finished onto the aluminum plate I transfer those holes onto the MDF bed drill down the holes onto the bed and made the screw completely flush to the surface.

Once this work is finished I insert the glass and glued the remaining stips to the MDF bed. Before applying the captain tape I remove the dust with the help of acetone. After that, I applied two layers of captain tape over the bed. I also made the connection of heat plate in series and at this time I made two groups of heat plates. So during the cable management of the heated bed, I face some problems and because of that I need to carve a new route for the cable, and this thing solves my problem completely.

Then I install the carriage on to the y-axis and over the top screw down the MDF bed to its place by matching the holes. The thermistor is going to be attached only in one plate and the temperature on to the remaining plate is going to be adjusted by this thermistor only.

Step 33: MOSFET Conncetion

The connection with the MOSFET is pretty simple and you need to do is to connect the positive of the heated bed to the positive of the MOSFET and the negative to the negative of the MOSFET. On the other end the DC negative needs to be connected with the ground of the power supply and positive connection to the positive of power supply which is either 12 or 24 volt. In my case, it's 12 volts. These two controlling wires are going to be connected to the heated bed point onto the the the mainboard so that the MOSFET can take the signal from the duet board and turn it on and off according to the requirement. To provide power to the bed I am using two separate power supply of 40 amps so I can connect them individually.

Step 34: Managing the Cables and Connecting the Supply

Being a multipurpose machine there are a lot of cables going around here and there and I was worried about what happens if anything goes wrong. So I bought marking lugs of maximum diameter cable I have and then start the marking process. Its a time-consuming process but the time is really worthy enough to spend on this.

Connecting the wires for the mainboard is an extremely easy way. At first, being a multi-purpose machine it seems to be a complicated work but believe me the connection is way too simple. There is a schematic image onto the duet website by following that you can easily able to connect the components to the mainboard. The slight problem comes in this is to attaching the bl touch sensor to the board as it has two different locations where I have to attach this. Onto the expansion slot If you take a look onto the schematic than there are some points about the heater. So the funda meant is that all those points which are used for the heater can be used to provide the signal to probe. The limit switch can be attached to any sides but In my case, the X-axis attached to the left side and the Y-axis limit attached to the backside.

Being a Multi-purpose machine the machine needs two separate sensors for the z-axis one for the CNC and second for 3d printer. The bl-touch is used for 3d printer but for the CNC router, I need to make a different setup. I used a Limit switch pressed it already, so that it continuously sends the signal to the board but the signal wire cut from the center and connected each end to individual gator clip. The process of homing the Z-axis for the Router connects the one end of the gator clip with the bit and the second to the plate which lay on the bed. During the homing cycle when these things shortened and we already kept the limit switch pressed than the board reads the signal and stops the machine to its place. The thickness of the touch plate can be eliminated in the firmware by adding the offset value. Later on, I replaced this step by hooking one wire permanently attached to the metal object and the second end remains as it is.

The router is connected to a separate power supply so I didn't face any problem in that but every time during the time of cutting things you need to turn on the spindle manually. You can also use a relay module to turn on and of the spindle with M3 and M5 command but I didn't find it necessary for my build. Also In the end I also ended up using the DC spindle and replaced it with a Makita trim router.

Step 35: Connecting the Laser Module

To attach the laser is a bit trickier and there are two ways to install that. The first is using the second vacant point of the extruder and the second method is by using the fan port on the board. I use the fan port method which is way too much easier. So onto the fan port, there are a total of 5 ports out of which two remains permanently on and 3 of them are programmable fan ports. So onto the programmable side, you can use any of the fan port to connect it to the board. One thing you need to make sure that the fan port has the same voltage as the board's main voltage. So make sure that you are using the same configuration laser. If you have a 12-volt laser and the supply is 24 v then using a 24 to 12-volt dc-dc buck converter does the job and you are able to control your laser with the fan port. If you take a look onto the laser wire structure than there are a total of 3 wires one Is for power, ground, and signal. For this setup, you only need power and ground wire to connect it to the laser and leave the signal wire as it is. In this configuration, the software regulates the voltage of the laser to increase or decrease the intensity. By doing this you are successfully able to run the laser with M106 and M107 command to turn it on and off and S represents the intensity of the laser.

Along with this I also change the design of my laser holder. Earlier I attached it permanently to the x-axis carriage but I felt like when it's not in use it only increases the weight. So I made a detachable set up with a 3d print. I also change the position of the extruder to make it more stable and this also reduces the ghosting effect in the prints and also makes the setup less bulky. Also, I fix the bltouch sensor to the 3d printed housing. In that housing, I also made an arrangement for the fans so that I am able to keep the extruder motor cool.

Step 36: Firmware Installation

Firmware installation is an extremely important step in building this machine. It's easy to set up a single machine setting on duet but setting up multiple settings is a bit different. What I found so far is that if you are using duet wifi than it would be far simple to switch between multiple settings.

You can also use my settings in your machine to see the file structure. The file size is big so that's why I am providing you google drive link.

Duet 2 setup files for 3 in 1 CNC

Things you need to do to set up.

  1. setting up duet wifi
  2. Terminal download link
  3. The second thing you need to have is an sd card and its recommend to have a class 10 card with a good read and writing speed. The folder I provide you contains all the files you need to run a 3 in 1 CNC. Open that folder and copy all the files and paste it in your sd card in the same manner.
  4. Then go to the sys folder there you find 3 folders named CNC, 3d printer, and Laser. In each folder, there is a file related to the config.g. Open that file in notepad and do the necessary changes like feeds and speed, the dimension of your machine, which port you are using to run the laser. You can visit reprap website to start from scratch.
  5. G-code list used by Duet which will help you to troubleshoot.

The firmware I am using is 2.03 - 2.05 version you can use 3.0 version but all of the g codes needs to be changed. But the good thing about duet is that there are written articles about everything onto their website. The thing which is common in both the firmware version is that you need to keep the same file structure as I have given here. Following the duet, the setup video is also a lot more helpful for you in doing the setup of 3 in 1 CNC.

Steps Calculation

Step 37: Mislaneous Items

So like every 3d printer build there are many things which you will print after its completion, like that I also did the same. There are so many things I have printed once the machine is fully alive like a hornet, Vase, duet wifi case, fan bracket, laser mount, spool holder, my own logo with different colors, Limit switch case. They all went really great, this is only the good part which comes after so many failures and in the box, you can see those failures. I am not going to share the 3d printed parts because as my first creation they have a slight flaw in the design here and but I think if you are new to this I recommend you design some of your print and then print them like what I did. I saw a lot of designs on Thingiverse which are much better than mine but I still design my own and use them.

Since my design did not have swappable heads and I mounted my cutting and printing head to the opposite of one another. If I didn't use two extension arms for homing my y-axis than for the CNC router portion my workable area is going to reduce which is equal to the distance between the tip of the extruder to the center of the router. The extension arm helps to counter that distance problem. But the only downside is that each time when I have to change the work type I need to change that extension arm also which fits onto the linear bearing installed under the carriage of the y-axis.

Step 38: Constructing the Stand

once all the major work has been finished I need something onto which I can put this whole setup and raised this machine to a workable height. Being a weighted machine my initial plan was to keep it onto the ground but from thereafter I didn't felt it right and decided to build a stand for it. The material I am using here is extracted from my old CNC stand. All the parts are rewelded again to make anew stand for the new machine. The construction of the stand is like a table with four legs having braces on each side but for the top, I used a 2 x 2-inch angle iron piece onto which my machine is going to rest. Being constrained with the material I decided to keep the bottom frame a bit smaller and the top angle frame remains overhang over it. The angle frame is kept down so that it provides a flat surface fo the machine to rest. The reason for keeping the angle frame upside down is because in this setup it would be much easy to install or remove the side cover ore the front covers. Four pieces of angle have been welded onto each corner so that the kept the machine to its place. The legs of the old CNC stand have leveling feet so I didn't need to do any work over that but to move this machine into the working area I decided to install some wheels so that I can drag it wherever I wanted. This is really a simple construction and I don't think there is really a too much-complicated thing in this for me to tell you. Once the basic framework is finished I painted the stand in the black and install the wheel and put the machine over it.

Step 39: Calibration

So once everything has been set up, it's time for the calibration. If you use that reprap website and got the steps for your setup then you are very close for the calibration. If the material you are using is very precise than the result you got in that calculation is almost close to that if not then you have to use a trial and error method. This method means that you have to make things repeatedly and measure them again and again and try to get an extremely precise result. If your end product is more than the design dimensions than you need to reduce the steps and vice versa. Also, make sure to have good and even tension onto the belts. I think that's a slight disadvantage of belts that if you disassemble the machine then you need to recalibrate it but in the case of ball screws, it's not the case. So once you completed the calibration you are ready to use your machine and all the steps settings need to be used for the remaining two identity types. Use macros to switch the machine profile. I made a couple of projects till now and you can watch them by visiting over my youtube channel.

Step 40: Final Thoughts Onto Building a 3 in 1 CNC

What I experience during building this CNC is that adapt and overcome. There are so many areas where I faced a problem and then come up with something else. What I wanted to say is that being an R&D project there are always chances that there are few things left here and there. There is a chance that few people have something different in mind about the design and some other things. But after using it for a few months and made some changes to counter those problems I would say that this is a perfectly running CNC machine for me. If I made any change in this machine in the future that might be again using those ball screws to move the x and y-axis with some gear ratio and replacing the z-axis motors and also added a second extruder. As I said if you find any problem in making one for yourself I am blessed to help you out because building a 3 in 1 CNC was my dream and when I watched it running it perfectly I felt extremely happy. The number of problems I faced in this build I don't want anyone to face the same problems. Being a pretty time-consuming build there might be a chance that something might have slept from my mind and I am not able to explain, so if it comes in your mind just let me know.

If you want to see how the router part of this machine works, click now!

If you want to see how the 3D printer part of this machine works, click now!

Step 41: Finally

The machine is running perfectly from my last router upgrade and now I am using the router parter very heavily. The machine didn't skip the step even if I take DOC of 4mm and with the previous Chinese spindle, its like .7mm Which for me is a huge time saver. 3d printer can easily print up to 90mm/sec which is not super fast but I think fast enough for a good looking print. If you have any suggestions for me let me know in the comment section.

CNC Contest 2020

Grand Prize in the
CNC Contest 2020