Upgrade Your CNC

29,891

241

36

About: I am an electronics engineer, doing a PhD at the VUB in Belgium. I have a passion for making things, both useful and cool.

CNC machines are more accessible than ever, with the large range of cheap CNC machine kits from China. The most common type are the 1610, 2416 or 3018 types, referring to the dimension of their machine bed. While they are great machines for their price, their performance is not that terrific. With a few upgrades however, the quality and safety can greatly be improved to turn it into a very potent CNC machine!

In this instructable, I will walk you through the upgrades I made to my machine, including:

  • Adding safety features
  • Upgrading the spindle to cut aluminium
  • Adding bluetooth control
  • Adding an enclosure
  • Adding manual control

We will start this guide with an assembled CNC kit. There is enough documentation already for the assembly of these kits, so I will focus on the upgrades only.

Most upgrades will be 3D printed. The necessary files are included in each step, as well as a wiring diagram. Besides a 3D printer, we'll also need a soldering iron and some basic tools.

Let's get started!

Supplies:

Step 1: Cable Management

As a first step, we will put the electronics in an enclosure and nicely route the cables to the main board. This protects the PCB from dust, and shorts in the case of milling aluminium.
Furthermore, we will add a drag chain for the wires.

Parts in this step

  • Drag chain 15 mm x 25 cm
  • 40 mm fan 12V
  • Zip ties

Electronics box
Start by printing Electronics_box.stl and Electronics_lid.stl and install it on the CNC. Add a fan to the inside and connect it to the 12V powersupply. Neatly route all stepper motor cables to the box and secure with zip ties.
Cableguide.stl is a part which fits in the channel of the extruded aluminium and allows for even nicer cable management.

Drag chain
Print DragchainCoupler.stl and place it on the Z stepper motor. The drag chain can be bolted to this part and also secured to the aluminium rails. When routing the wires through the dragchain, it is a good time to add 2 extra pairs of red and black wires for the next steps.

Step 2: Add Homing Switches and Soft Limits

Now that the wiring is neat, we can start with the real upgrades. Homing switches will allow us to home the machine and soft limits will prevent from crashes.

Parts in this step

  • 3 micro switches + M2 bolts
  • Cables + dupont connectors

Homing switches

The X and Y limit switches are mounted on the brackets which hold the M8 rods by means of LimitSwitchHolder.stl. Print this piece twice and mount it on the locations indicated in the pictures.

The Z axis switch is simply screwed into the Z axis mount. Use one of the extra wires we ran through the dragchain in the previous step to connect this limit switch to the main board.

Solder a red and black wire to the limit switch and add dupont connectors to the other end. Plug them into the PCB according to the wiring diagram.

Updating GRBL

The homing switches and soft limits must now be enabled in the GRBL settings (GRBL is the software which runs on the microcontroller on the PCB). Soft limits prevent the CNC to crash into its own frame by halting moves which would cause a crash.

To do this, connect your CNC to a PC with a USB cable. Use the Arduino IDE (or any other terminal) to connect to the CNC by opening a new serial monitor (make sure you select the correct baud rate).

Type $$ to view the current settings
Type $22=1 to enable homing
Type $27=5 to adjust the homing pull off
Type $20=1 to enable soft limits
Type $130=300 to set the maximal x dimension (for CNC3018)
Type $131=180 to set the maximal y dimension (for CNC3018)
Type $132=40 to set the maximal z dimension
Type $$ again to verify the changes.

Step 3: 48V Spindle and Speed Controller

The spindle is one of the weakest points of this CNC machine. Upgrading it will allow us to cut aluminium quite easily! We will also add a speed controller, which is necessary for softer materials such as acrylic.

Parts in this step

  • 300W 48V 52mm spindle motor
  • 48 V power supply
  • DC spindle speed controller
  • Thick red and black wire
  • Line laser modules

New Z axis spindle mount

To accommodate the large spindle, we will have to make a new spindle mount. Start by taking apart the original carriage: remove the stepper motor, leadscrew, M8 rods and spindle mount. Print Spindlemount.stl, SpindlemountLaser.stl and Z_leadscrew_stop.stl and reassemble the carriage according to the pictures. Finally, mount the carriage back on the CNC and insert the new spindle motor.

At this point, we can also add 2 line lasers to indicate the position of the router bit. Install them in holders and connect the cables to the remaining wires we routed through the drag chain.

Add the powersupply and speed controller

We can now install the 48V powersupply on the back of the CNC with some screws. To mount the speed controller, I removed the 2 outer fins of the heatsink, such that it fits perfectly in between the aluminium frame. Print MotorControllerBox.stl to cover the speed controller. Wire the speed controller according to the diagram.

Some versions of the woodpecker PCB might not have the PWM motor speed control signal brought out to the header pins. In that case, you can solder the wires directly to the original motor control MOSFET, as shown in the last diagram.

By changing the motor controller, the motor might not turn when the speed setting from candle is too high. This has to do with the PWM signal that is generated. To get around this, decrease the speed setting in candle. Another option would be to change the GRBL max speed value via the $30 command.

Step 4: Emergency Button and Z Probe

Two more features are essential for a full-fledged CNC machine: an emergency stop button and Z probe.

Parts in this step

  • Emergency button
  • Cables + dupont connectors
  • Crocodile clips
  • DC barrel jack and receptacle

Emergency Stop Button

Emergency stop buttons can cheaply be bought online and provide a very useful upgrade. Sooner or later your router bit will crash into your material or CNC in a way you didn't intend. Stopping your machine is essential for the safety of you and your machine.

Solder wires to the Normally Open side of the button and the other side to dupont headers. Then, connect it to pin A0 of the main board.

Z probe

Z probing allows you to probe the height of your workpiece. This makes it more easy to set the height of your router bit and allows for making so-called height maps, which are essential when milling PCBs. Since we don't need this all the time, we will connect the Z probe via a DC jack.

The first cable goes from a female DC jack to dupont wires and is connected to pin A5. A male DC jack can then be soldered to two crocodile clips. One is attached to the bit, while the other one is clipped to a (metal) workpiece, like a PCB.

Step 5: Manual Control

CNC stands for Computer Numerical Control, but in some cases manual control is beneficial. Therefore, we'll add knobs to the X and Y axis.

Parts in this step

  • M3 screws
  • M3 nut or threaded insert

Making the knobs

First, print the handles. If you plan on using threaded inserts, print CNChandleInsert.stl; otherwise print CNChanleNut.stl. Both options are shown in the picture. Also print CNChandlehandle.stl and assemble the pieces. Install them on the X and Y lead screws of the CNC machine.

Step 6: Bluetooth Control

As a final modification, I added bluetooth control to the CNC. This allows me to control it through my phone, but is a more advanced step and completely optional. I use the G-code2GRBL android app.

Parts in this step

  • HC-05 bluetooth module
  • 1k Ohm and 2k Ohm resistors
  • Switch

Hooking up the bluetooth module

The HC05 bluetooth module should be connected to the TX and RX pins of the microcontoller. Since the module is 3V3 rated and the microcontroller runs at 5V, a voltage divider is added between the TX pin of the microcontroller and RX pin of the bluetooth module. Furthermore, a switch is added to disable the module, as it otherwise intervenes with the USB communication. Hook up everything according to the diagram.

Step 7: Case

We now have a CNC machine with a lot more capabilities. As a final touch, we will give it a nice case to keep dust and sound under control. It will also make it look neat and professional!
The case is designed to be laser cut; I used 3 mm MDF for all sides and the top, and acrylic for the lid.

The files are specifically for the CNC3018 and will not fit the smaller variants! However, the fusion 360 file is included such that you can adjust it to your needs.

Parts in this step

  • IEC socket with switch
  • M3 bolts and nuts
  • LED strip
  • Carbon filter

Assemble the front and sides

First, add the sides and front to the CNC and bolt them together. The manual control knobs and emergency switch can also be added at this point. An IEC inlet and switch are installed for the 48V spindle powersupply.

Assemble the lid

Next, connect the top to the lid with bolts and nuts. Add an LED strip to the underside of the lid and plug it into the 12V supply on the main board.

Assemble the back

The back of the case has cutouts for the air inlets, to which a piece of carbon filter is added. To prevent dust from leaving though the Y axis stepper motor cutout, print StepperCover.stl and snap it in place.

Lastly, connect all the wires to the main board and close the enclosure for the electronics. The back can now be bolted in place to finish the case.

Step 8: Enjoy

Our basic CNC kit has now been upgraded to a very capable machine, capable of milling aluminium, PCBs or anything in between. Furthermore, the case provides sound and dust isolation, which makes it perfectly usable in my office. If you have gotten inspiration to make your own, please vote for me in the Epilog contest!

I hope you liked the project! Feel free to check out my other Instructables: https://www.instructables.com/member/ThomasVDD/

Share

    Recommendations

    • IoT Challenge

      IoT Challenge
    • Arduino Contest 2019

      Arduino Contest 2019
    • Fandom Contest

      Fandom Contest

    36 Discussions

    0
    None
    Gerardo GMR

    22 days ago

    hi!!!!, exellent post
    can you help me with the spindle file, but for 55mm??? pleaseeee, i cant find it like yours,
    thanks a lot

    0
    None
    zapro

    22 days ago

    I have a 1610 CNC and bought a 200W spindle for it, and since it didn't fit the original holder, i found your helpful article and decided to print a new one. Unfortunately after pressing in the bearings it showed that the spacing between the bearings are 38mm on my 1610 and not 38.5mm like it is on the model .... so i'm thinking about re-designing one myself in Fusion and re-printing, or to re-print the corresponding piece and replace that, too. A bit annoying that they changed this.

    0
    None
    vince999

    4 weeks ago

    Hello again Thomas. In searching for the 300watt spindle online, now a 500 watt spindle keeps popping up and it appears to use the same 3D printed clamp from what I could see at first glance. Now I am wondering if I should upgrade my 3018 to a 500 watt spindle or is this overkill? The first goal of my machine was to make my own pcbs but the second goal was to machine small, thin, aluminum front panels for RF boxes, aluminum being the choice material because of its emi shielding properties. My experience with manually making rectangular or odd shaped holes in aluminum that look professional, was a difficult process for me. if I could make it happen with this small machine that would be great. Any comments appreciated!...Vince

    1 reply
    0
    None
    ThomasVDDvince999

    Reply 4 weeks ago

    If the spindle can really deliver the 500 watt they promise I would go for it!
    The extra torque will be a bonus for milling aluminium :)

    0
    None
    vince999

    5 weeks ago

    Nice project I will try to implement most or all of the mods on my CNC3018. I am starting with the 300 watt spindle upgrade. I already printed the new clamp and I am awaiting the spindle itself. Right now I am gathering parts and I have one question: I believe you recommend we transfer the Z-axis bearings to the new clamp and note they are press fit. But what about the lead screw? What exact part does that ride on? Is that press fit too? Please advise because I like to have extra parts on hand in case I drop it in the floor cracks, or misplace, etc. Thanks Vince

    1 reply
    0
    None
    ThomasVDDvince999

    Reply 5 weeks ago

    Awesome! It rides in two brass bushings.
    Everything is a press fit, no need to order any extra parts :)

    0
    None
    GaryG8

    2 months ago

    Hi Thomas, I printed the spindle motor housing with lasers. I have a few questions.
    1) did you reuse the linear bearings and thread insert from the old motor housing or purchase new ones?
    2) if you reused the old ones, any tips for the transfer?
    3) I printed the new spindle housing using standard 3d printer settings in PLA. Did you print with other parameters such as increasing infill from 20% to 100% ?

    Thanks, Gary.

    2 replies
    0
    None
    ThomasVDDGaryG8

    Reply 2 months ago

    Hi Gary
    I reused the hardware from the stock one. They are a press-fit, so you can get them out with a vice (I used an M10 bolt or something to press out the bearings).
    For the print, I used standard settings (20% infill probably), nothing special

    0
    None
    gjansen

    Question 2 months ago

    Hello Thomas
    I have one question, i have motor supply with mach 3 connections on it, Can i put yenc and zenc on it to steer the motor? By the way exellent job you did!

    1 answer
    0
    None
    ThomasVDDgjansen

    Answer 2 months ago

    I don't have experience with mach 3, but it's worth trying :)

    0
    None
    Nestordane

    4 months ago

    If you are going all in with your CNC, you also could consider this brushless 400 W spindle motor with driver and PSU.
    https://www.ebay.com/itm/CNC-ER11-400W-Brushless-S...
    It has closed loop regulation, meaning that when you set a certain target RPM, it stays on that target regardless of the load. Only wearing parts are the bearings of the motor, it can run for many hours (years?) of service. The RPM regulation takes the PWM output from the GRBL board, and if you use F360, the RPM of the spindle is specified when you choose the tool to do the routing. It works beuatifully, and it runs very quietly. Pricey? Yes, but it is money well spent if you are serious with your CNC'ing.
    Only worry is the thickness of the guiding bars, i think they are 8 mm. I have built my own CNC with 10 mm bars. For routing tree and plastic, it is OK, but when routing metals i would choose 12 mm bars, or something even more sturdy.
    Your instructable has many good ideas that i will take into closer consideration.

    3 replies
    0
    None
    ThomasVDDNestordane

    Reply 3 months ago

    Good idea, I'm going to keep this in mind!
    It just seems a bit silly to use a motor which is as expensive as the whole machine :p

    0
    None
    NestordaneThomasVDD

    Reply 3 months ago

    I think it depends a bit on, what you want to make with your CNC.
    I like to route human faces. For instance, I have downloaded the face of the more than 3300 year old queen Egyptian Nefertiti. It was quite fun to see her face emerge from a wooden block, but it took about 90 hours of routing - because i needed a high resolution. A spindle motor with brushes would wear out long before a brushless motor, if you do this kind of routing.
    If you do not do something like this, you are probably right - it would be overkill.
    I forgot to mention that the RPM feature can only be used with the GRBL version v1.1 and later, so your GRBL would have to be upgraded from GRBL 0.9j, if you want that feature.

    Another upgrade could be to replace the A4988 stepper motor drives with DRV8825 drives. They are more quiet, yet more powerful than the A4988 - at more or less the same price.

    0
    None
    ThomasVDDNestordane

    Reply 3 months ago

    Cool project!
    Using quiet stepper drivers is a bit useless since the spindle overwhelms everything :D
    Could be usefull ir more power is needed though.

    0
    None
    Antzy Carmasaic

    3 months ago

    Awesome instructable! I have the same 3018 and had planned a lot of these upgrades. Thanks for figuring them out and helping show the way. I'm quite excited working with CNC and have a lot of queries and suggestions:

    1. I wanted to put limit switches to keep it from crashing but don't get the benefit of enabling homing. In Fusion360, I keep the origin on top surface with respect to stock. So I'm not sure of the benefit of setting you cnc origin with respect to machine instead of stock?
    2. What is the use of lasers you placed next to the spindle? They look too weak for engraving.
    3. What cutting feed rate were you able to achieve before and after replacing the spindle? While cutting plywood at 1mm depth pass, I can only go till 50-60 mm per min feed rate or the machine starts making a lot of unpleasant noise.
    4. I loved your enclosure. I had something similar in mind to keep noise, shavings and dust enclosed and keep the 5.5W laser inside an opaque box. But I also plan on installing a dust collector shoe. MDF dust gets everywhere including the linear bearings and may decrease their life. Also less cleanup later on.
    5. Another mod I wanted to implement is a jog controller. The newer 3018 on AliExpress have boards with external jog controller and SD card support for running it without a PC.
    6. I liked your Bluetooth control mod. To free up my PC, I have connected a Raspberry Pi with bCNC to the machine. That way, I can wirelessly upload gcode files and even control it from my mobile.
    7. I have also glued a MDF spoilboard to the base and cut grooves into it for clamps. That has been very beneficial. I like the PCB holder base you used. Do you have files for it as well?

    3 replies
    0
    None
    ThomasVDDAntzy Carmasaic

    Reply 3 months ago

    Thanks, I'll gladly answer them :P
    1. Homing is especially useful to recover your position when making emergency stops or when steps are lost. With homing enabled, you re-home the machine and move back to the coordinates set before. They are also needed for soft limits, which prevents crashes.
    2. The lasers are only for aligning the bit to the work.
    3. My feed rates for milling PCB material increased by a factor of 10, so it makes a huge difference for cutting board outlines etc.
    4. Nice idea. I didn't want a dust shoe since it requires an extra vacuum system; making noise :s
    5 + 6. I have seen those! I'm thinking of upgrading my controller board for this. Unfortunately they were not available when I bought mine. So I try to replicate this with the bluetooth control
    7. If you are interested in milling PCB's with this machine, you might want to check uit my other Instructable: https://www.instructables.com/id/DIY-Professional-Double-Sided-PCB/ It includes the links for the PCB holders in step 2 :)

    0
    None
    Antzy CarmasaicThomasVDD

    Reply 3 months ago

    1. How do you define stock origin in the gcode and where do you place the stock once it is homed?
    3. Can you provide any reference feed rates you are able to achieve? I'm curious how much I can push the machine.
    7. That's a nice instructable. I was following a similar method for making PCBs. I really liked the PTH and silkscreen method. Though my solder mask will come off if I sanded it I believe.

    0
    None
    ThomasVDDAntzy Carmasaic

    Reply 3 months ago

    1. You can set the origin in any CNC control program. The idea is to know where you set this origin with respect to your machine origin (defined by your homing switches), which allows you to restore your origin when it is lost due to skipped steps or whatever.
    3. I can achieve about 200 mm/min in aluminium or PCBs (don't underestimate glass fiber) with 0.2 mm depth of cut.
    7. Thanks! The UV curable solder mask is quite resilient if you start with a clean, oil free, PCB.

    0
    None
    Jigsawman

    4 months ago on Step 8

    Very nice. I have been considering picking up one of these 3018s but you know... Chinese manufacturing and all? It scares me. But your upgrades are smart, inexpensive and turn this machine into a real tool. Thanks.