Introduction: K40 Laser Cutter Rebuild-12x24in Cutting Area

If you are reading this, you most likely already know about the cheap 40 Watt CO2 Lasers available from China which are commonly referred to as K40s. There are several sub variants of the K40 but generally they are in a white and blue or red steel case and have a cutting area of 12 x 8 in (500 x 300mm). The stock machine is capable of basic laser operations at reasonable speeds. However, it is ham strung by the use of a proprietary controller board, called a Moshi Board. This board communicates with a computer running Corel Draw. Most of the time, when you purchase a K40, it will come with an illegal copy (Trial Copy maybe) of Corel draw. I personally don’t like this as a permanent solution, so I choose right out of the gate to replace the electronics with a more legit, and open hardware/software solution. After reworking the electronics, I quickly became tired of the “sub-par” mechanics. After some tinkering, I decided finally to just rip those out too. Since I was already gutting the cutter, I decided to see just how big of a cutting area I could get. Please take note that I have included the F3D (Fusion 360) file on Thingiverse, please use this for reference as this guide may miss a few smaller details.


There are numerous bolts, belts, wires and bearings that are going to be required. My build was done with only parts I had laying around. Where not specified, bolts are M5 of various lengths.

You can download the STL files for printing at:

I printed all of my parts on a Creality ENDER 3 3D printer but most any will do.

For my most up to date supply list for the remainder of the parts can be found at:

Step 1: The Tear Down

To start, we will need to empty the case of everything (Proceed at your own risk as we are dealing with high voltage, cutting and Lasers).

1. Start by FIRST taking a picture of your wiring. That way, you will have a reference of how things were before you broke it.

2. Make sure the Mains power is disconnected and let the power supply sit over night (Just to be safe)

3. I would recommend you unscrew all of the wires and remove all of the switches, gauges, and everything else from the right hand side of the machine first.

a. If your machine is like mine, you will have a RED wire going from the PSU (Blue power supply) through the case to the back of the laser. You can follow the instructions online for changing the laser tube to learn how to disconnect this wire, or you can be lazy like I was and just cut the wire half way between the PSU and the Laser Tube. This wire appears thick on the outside but is actually very thin on the inside. It appears to have a LOT of insulation. Keep that in mind when splicing it back together. I wrapped mine with ample electrical tape.

4. Next, the two lids (Doors) can be removed. Raise them up and you will find a spring loaded pin on one side of each lid, pull the pin back and the lids should just come right off.

5. Disassemble / remove the X-Y mechanism. The whole unit will come out as one piece.

6. The center divider as well as the front support “shelf” will need to be cut out. Use a grinder or rotary tool to cut the tac welds. I was able to cut several of the welds and those I couldn’t reach I was able to bend the metal back and forth until they snapped.

7. I used an orbital sander to knock the metal burs down and get the bottom of the case smooth.

Step 2: Preparation for the New Install

1. I masked everything off on the case that I didn’t want to be painted. Then, I gave the interior of the case a good coat of self-etching primer

2. The bottom of the case is not actually super flat, nor rigid. Not to mention the two large holes that the manufacture thought were a create idea to add to the bottom of a laser.

a. To solve this problem, I cut a piece of 1/2in MDF (Any 1/2in sheet good will do) to 29.75in x 18.5in.

b. I cut a thin piece of aluminum sheet (Purchased at local Home Improvement Store) to the same dimensions.

c. I then laminated the aluminum sheet to the piece of MDF and sanded the aluminum sheet to remove the shine

3. Taking both the primed case and the laminated board outside, I applied several layers of Rustoleum Flat White.

4. Before placing the laminated board into the case, I added the two horizontal pieces of 2020 V slot. Two pieces, both 29.75in long were attached to the board, one along the front edge and the other along the back. I attached these to the board by drilling and countersinking 4 holes along the front and 4 along the back from the bottom of the board. The V Slot was then attached using M5 screws and T nuts.

5. Place the Board inside the case, but do not secure it. We will do that later, once everything else is installed.

Step 3: Assemble the Left Y Axis

  1. Start by assembling the Left Y Axis. Cut two lengths of 2040 V slot to fit (Mine were 17.75in each). All of the screws used were M5. I used full size V bearings with eccentric bushings for the top two bearings and fixed spacers for the bottom two.

Step 4: Assemble the Right Y Axis

  1. Then assemble the right Y Axis

Step 5: Place the Y Axis Into the Case

  1. Place the Left and Right assemblies into the case, lining the brackets up with the front and rear 2020. Install the M5 bolts with T nuts into the brackets, but leave them loose in the V slot for now as you will want to be able to move the assembly in the next step.
  2. The left and right y carriages are driven by a single motor. They are connected in the back with a piece of 5/16 in threaded rod. Install the Motor to shaft coupler on the left side of the screw. Then Cut the screw to a length that is long enough to get through the bearing mount on the right carriage assembly, but not so long that you can’t get it installed with the amount of play you have available. Mine ended up just under 28in. You will want to also install the right pulley as well.
  3. Now is a good time to attach the belts on the left and right carriage. Reference the photo below for how I did it. I zip tied the belt to one of the M5 bolts on the carriage, then routed it around the pulley and then the idler before I zip tied the other end to the other bolt. (HINT: Loosen the pulley a little before routing the belt, then after the belt is secure, add tension by pulling the pulley back into position and securing.)

Step 6: Adding Lighting, Wait, Now?

  1. Okay, it is a little out of order, but I felt I needed more light while working. I picked up an RGB LED strip kit from a clearance isle but you can get them from Amazon Pretty Easily. I wrapped it along the top inner lip. It was super easy, super cheap and made a great addition. The one I got was USB powered.

Step 7:

  1. Cut a piece of 2040 V Slot to length (Mine was 29.3in)
  2. Assemble the X Carriage using 3 Large V Bearings with an eccentric spacer on the rear bearing. Slide it onto the rail.
  3. Attach the Motor Mount, with stepper motor and the pulley.
  4. Attach the mirror mount
  5. Attach the end stop (M3 screws)
  6. Attach the Mirror Holder (Stock from K40)
  7. Route and attach the belt in the same way as the y carriage assembly, loosening the pulley during routing and then tensioning the belt by pulling the pulley back into position.
  8. The astute observer may have now noticed that the X Carriage laser head is not stock. I picked this one up off amazon for cheap. It is solid aluminum with an adjustable height lenses and air assist assembly. This allows for adjustment up to 10 mm in height which will allow me to have a static cutting bed that does not need to adjust up and down. The build quality of this part is not the best, but the adjustability was worth the trouble.
  9. Take the X Axis assembly and place it into the case. Attach it to the Y carriages with M5 screws.

Step 8: The Bed Assembly

  1. I thought about how to build the cutting bed for a long time. The first iteration used a metal grate bought at the local hardware store. This worked fine, but left burn marks where ever the laser cut through and hit the grill. Professional machines use aluminum honeycomb, so I went looking for that. I found a reasonable price on Amazon and picked up a 12x24x1in piece. When I got it, I was surprised that although 1in thick, it was still a little bit flexible… I would have to support it on all sides…
  2. A little bit of time later, I came up with the configuration you see in the images above
  • Four Lengths of 1in Aluminum angle iron
    • 22.9in (QTY 2)
    • 18in (QTY 2) with one side cut to a 45 deg angle

3. I 3D printed the corner pieces, used them as a guide for drilling the mounting holes into the aluminum, then tapped the aluminum. I then used (Don’t be mad, its what I had) #4-40 x 0.25in screws to secure through the plastic and into the aluminum. You could just as well use M3 or M2.5 screws.

4. The whole assembly slides into the case and secures in the front with M5 bolts. The back is left floating, resting on the rear 2020 V slot.

Step 9: The LID

  1. I reinstalled the lids and bolted the two halves together, using an existing hole in the middle of the two halves.
  2. Then, I used some of the left over aluminum sheet from the bed and taped it in place with Aluminum Tape over the now exposed holes in the lid.

Step 10: Electronics

  1. I was putting this off. The first thing you may notice in the images above is that there is no longer any room for the electronics inside of the case. Luckily, I had a salvaged case that worked perfectly for my needs. I’m sorry I don’t have a source for this part, it literally was pulled from a trash bin. You can see it mounted to the right side of my machine immediately above.
  2. First, I made a new face plate for the case. This face plate had an Amp meter, a Main Power and a Laser Power Switch. I cut this from sheet plastic by hand:

Step 11: Electronics Cont...

  1. Then, in the upper right corner of the case I drilled a 1in hole into the Laser Tube area. This hole served to route the laser power wires. I also drilled a hole in the lower right corner to route the motor and end stop wires.
  2. I then secured the PSU (I removed the blue film from the PSU, so now it is silver) and the Arduino Uno with GRBL shield.

Step 12: Electronics Cont...

  1. I then wired it as follows (A big thank you to who has done a lot of research on these units and from which I based much of my work)
  2. In the above it is worth pointing out again the PWM signal. Using GRBL 1.1 the PWM signal was present on the End Stop -Z pin, not the Spindle Direction or Spindle Enable. I should also not that I tied the Laser Fire pin straight to ground to reduce the number of connections and complexity. I have not had an issue with this setup, but use at your own risk. I keep the laser switch off until just before I run a program. I also always turn the laser switch off before opening the lid. A recommended upgrade would be to place in series another switch to detect if the lid is open. I have opted to delay that upgrade
  3. The end stops and motors were then wired as the GRBL shield was marked.
  4. You will also need to install stepper motor drivers in the X and Y axis and tune them accordingly. I leave those details to other sources that have covered it much better than I will.

Step 13: Firmware

    1. GRBL (I don’t know what it stands for) is open source firmware for Arduinos to control a CNC via a serial port. Head over to: to download the most recent version. On there site you will also find a wealth of information on how to configure it and get it up and running. Newer versions even have a dedicated Laser mode!!!

    2. GRBL will be installed on an Arduino Uno, then the GRBL Shield will be placed on top of the Arduino to make interfacing easier.

    3. Any G Code sender Software can be used to drive GRBL, but my two favorites are:

    a. Cncjs

    b. LaserWeb

    4. Coming from using MARLIN and other 3D printer firmware, configuring GRBL was a refreshing experience. Most configuration for Marlin requires you to edit the source files. GRBL doesn’t really require this step for most 3 axis setups. I downloaded GRBL 1.1 and uploaded the firmware via the Arduino editor and the instruction on the GRBL wiki. Then, using the Arduino Serial Monitor, I entered the following settings.

    Step 14: Firmware Settings

    I entered each one by typing the Setting number “$0=” followed by the desired value. You can then verify that the values have been entered by typing “$$”, which lists all of the configuration values. For more details, head over to the GRBL wiki. For my particular settings, please see the attached spreadsheet.

    For the most current GRBL settings, please visit:

    CNC Contest

    Participated in the
    CNC Contest