Let\'s convert a cheap Chinese CNC machine tool from parallel to Arduino and GRBL. OK guys, this is the culmination of weeks of reading, research and determination. This is my first note, so hopefully it will help you get to where you need to be. There is a little background before we start: 3020, 3040 and 6040 ( And the more obscure 2015, 2016 and 2020) CNC router milling machine from China is very popular among amateurs and professionals. If you are a DIY type person, these machines provide a great way to repeat the process and basically do something that you are not allowed to do with manual tools. For professionals, these machines have relatively precise screw/ball screw assemblies that allow another machine to take away manufacturing parts if the machine is occupied by work. All in all, these cheap machines ( From $600- 2500 shipped DHL) Is a good way to get into CNC. They can be found on both eBay and AliExpress, and in my experience you can find a slightly cheaper option on the AliExpress, and their buyer protection is much better than eBay. The model number represents the size of the feasible area, I . E. 3040 is 30 cm x 40 cm, 6040 is 60 cm x 40 cm etc. The range of these models makes it very easy to choose the right one for your store, more expensive and larger ( 3040 and 6040) Will have a more precise linear motion of the ball screw type rather than the usual ladder screw. 2015, 2016 and 3020 machines ( About 3020 of people will have ballscrews) There will be a nylon or Delrin type nut for linear travel. You can judge which model has a screw or ball screw by the letter after the model. There will be \"ladder screws\" at 3040 T and ballscrews at 3040Z (ballscrewz? ) : DI has experience in ball screw and ball screw type movement, for the money you pay, it is better to buy a machine with ball screw because they wear better, and if there is no rebound ( Play side to side)is present. These machines will be equipped with stepping motors, usually with cable tracks already built in, and will also be equipped with a control box. The control box on almost all of these machines will have a very old Mach 3 style parallel port interface. The Mach 3 software will send a signal pulse to the port to drive the motor and make the CNC machine active. This type of system is old, outdated, just Windows. I \'ve been a Mac man since 2003 so I\'m not going to switch back to PC soon so when I hear you can convert it to Arduino power, I go from \"CNC is a neat tool\" to \"CNC will be mine \". So, after a lengthy introduction, here\'s how I can make changes on the 3020 machine with the lower bit and bobs: 1) 3020 CNC machine tool Uno ( Cloning can also be)3) Protoneer CNC shield V3. XXX ( There are new motherboards and clones at any time now) 3 x A4899 stepping motor driver ( These are attached to the CNC shield and make sure they are connected in the right direction! )5) 3x4-pin DuPont mother connector ( One for each axis, the board will tell you where to connect them)6) Shield USB cable ( For Arduino, it should be long enough from the control box to the laptop/PC)7)GRBL firmwareG- Selected code generator ( Inkscape plugin, makercam, JSCUT)9)G- The sender of the selected code (Universal G- Code sender, GRBL controller, Chilipeppr, etc) You will see in the video that the conversion is done, but when you open the box you will basically see three main components. 1. Power supply, this is either a coil or a perforated metal box. It will have the main power lead from the inside. A set of DC wires will be connected on the drive board. . . 2. Drive board, you will recognize this because the lead from the connection cable to the XYZ port will be connected to this. If you have boards like my 3020, it is very easy to undo because they are screw terminals. Just untie them and you can pull them out. The power lead of the power supply should also exist, which also needs to be revoked)3. Spindle VFD ( Inverter driver) This could be a closed box or an open circuit board. You will be aware of this as it will have a control board and dial to control the spindle speed. -- If you forget the labels for XYZ cables, don\'t worry, just follow them to the ports behind and you can see which one is which. Arduino needs to flash with the latest version of GRBL. What does GRBL mean? Don\'t know the jury also not out GRBL is an open source G- Marlin firmware is a code interpreter for CNC machines for 3D printers. You can find it here: you have GRBL on your Arduino and you can install it into the box. But before you do, you need to remove the old parallel port driver board. Don\'t throw it out, you may be able to salvage some awesome electronic elements from it. You have untied the wire so it should not be too hard. I have to install the Arduino board with a few screws first ( Enter the screw boss from the old board) Before connecting the CNC shield. The CNC shield has the position of 4 drive chips. It accepts the A4988 or the DRV8825, which is more powerful and capable of accepting microsteps up to 36 volts and 1/32. I only have A4988 so I went with it. Before installing the driver chip, you have to decide how many microsteps you want your machine to run. The rule of thumb is that the more tiny steps, the smoother the movement, but the lower the torque. Vice versa, the less micro-step, the greater the torque of the stepping motor. How many microsteps do you have to set up using jumpers, I want 1/8 microsteps, which I believe is a good compromise between smooth motion and torque. To learn how to set up: Shield note: I have a clone of CNC shield V3, so my jumper settings are different from the one advertised on the Protoneer blog. This could be an anomaly or a broad board error. Note: Please make sure the installation direction is correct when installing the driver chip. You can see the pins of the stepping motor on the board, and on the drive chip you will see which sets of pins need to be oriented towards the pins. Also, you can look at many pictures of CNC Shield online. Ok. . . So you \'ve removed the XYZ cable from the old drive board and installed the Arduino and something else. . . Now you need to put the old one with the new one. The XYZ cable requires a DuPont mother connector to be connected to a CNC shield. There are several ways you can do this, and the easiest way is to make up a female connector with leads that you can weld the old cable. The cables have been coded into the right color, so please try to keep them in the same direction. It will be red/red and black/black instead of black/red, black/red. That\'s what traditional electronic technology says, but this time it\'s not. The Stepping Motor Works 2 pairs of leads, which determines the direction in which they push when the current passes, and if you find the opposite direction when you start the machine and jog, this is a simple problem, put the shaft lead on the board and rotate it 180 degrees. For my conversion I have a dedicated USB Cable put into the Arduino and it comes out of the control box is simple and I didn\'t bother with the positioning board so I can unplug it. Not only can this USB plug connect your computer to the Arduino, it can also power it. The CNC Shield also requires power supply, which is power supply for the stepping motor. The power does not enter the Arduino, so don\'t worry about frying it. There should be a screw terminal that connects the lead on the power supply to the CNC shield to do so. Once you have it installed, you can start your favorite GRBL controller software. That\'s it. . . This may seem like a long process, but to be honest, if you have read the whole thing, it will take longer to read it than to convert it. It took me about 45 minutes for the whole process. So. . . If you don\'t watch the video Here again. Have fun! Here is a quick mini tutorial on how to find the values that are put into the GRBL settings in order to accurately translate the design into the correct number of steps in the real world. The typical stepping motor is 200 steps per turn. These are called complete steps or 1. 8° per step. This setting has the largest torque, the fastest speed, but not the most stable. Most of these machines will list the type and size of lead/ball screw it has. On my 3020, the screw is 1404. 14: thread diameter 14mm (OD)04: 4mm pitch ( Or the distance between threads) What we are most concerned about is the 04, because it describes the amount of linear travel connected to the screw, something will travel in a single rotation. Therefore, the thread diameter of 1205 is 12mm and the thread size is 5mm, so on. This is also suitable for ball screws, 1603mm is 16mm cm diameter and 3mm cm thread size. -- Now we can connect these two numbers together. Step: 200/revLeadscrew: the 4mm/revThe setting in GRBL requires a number per mm, so this is a simple math. 200/4 = 50 steps to make something Travel 1mm ( If we had a 3mm thread it would be 200/3 and so on) 50 is the number I entered in GRBL- We can see here, moving forward in a small step. I set my CNC machine to 1/8 microsteps, which means that each step is divided into 8 microsteps. 200 steps x 8 micro steps = 1600 total steps/revsame math app 1600/4 = 400 steps to move something 1mm ( Again, the denominator number will be different if your thread is different) 400 is the number I entered GRBL- The more steps, the smoother the movement, but the slower the speed, the smaller the power of the torque. Fortunately, the CNC machines in China are measured, which makes math very simple. If these are ACME threads, there will be some metric/imperial conversions which will result in some very strange numbers. -- OK, now cut yourself something interesting!