cnc router with arduino. Autonomy or USB control on Arduino for budget machines

It is necessary to decide which motors and which control electronics for the CNC we will use. The main parameter that determines the size of the machine is the size of the motor that moves the lower platform.

The frame of the cheapest CNC machine

Knowing the dimensions of the engines, you can make a frame. describes how to make a frame for a CNC machine that will fit most engines. The frame can be made using aluminum profile and sheet. This will facilitate the movable platforms of the machine. However, it will increase the cost of the Arduino CNC machine platform. In addition, it should be taken into account that for the machine from an aluminum profile, you will need to make a weighted base so that it does not "jump" when the platforms move quickly, if you want to install more "fast" stepper motors in the future.

Gear Type of Cheap CNC Machine

This frame is universal, because it can be attached to both a screw drive and a belt drive. The screw drive is cheaper and makes sense from the very beginning. If you are not satisfied with the speed, then you can easily install a belt drive. How to install a belt drive on a CNC machine on Arduino is described. For the manufacture of a screw gear, 2 bearings are sufficient, a threaded pin, the length of which is equal to the length of the platform. I used an M6 stud. In addition, you will need 6 nuts and 4 washers of the appropriate sizes. After we have decided and made a frame, we can decide which gear we will use. For a screw drive, everything is more or less obvious. For a belt we read.

CNC Desktop Machine Electronics

Electronics simple machine CNC includes stepper motors, stepper motor drivers, Arduino board, wires.

The article will discuss how you can make a CNC machine from wood with your own hands. As electronics, the author decided to use Arduino UNO R3, GCode Sender and GRBL. The uniqueness of the idea is that the machine is made of wood, which makes it easier and more affordable to assemble it. The mechanical part is the most difficult to assemble, it will not be difficult to connect the electronics.


Materials and tools for manufacturing:

- threaded shafts;
- plywood;
- bolts and nuts;
- ball bearings;
- stepper motors type Nema 23;
- stepper motors require TB6560 drivers;
- the unit is powered by voltage 24 V 15 A;
- Arduino UNO R3;
- metal bushings, as well as nylon bushings (can be made of caprolon or fluoroplast);
- wires.





















Manufacturing process:

Step one. We make the base of the machine (X axis)
To make the base, you will need several bars in which you will need to drill several deaf and through holes. Then metal shafts are installed, they serve as a drive for the X axis.

The threaded shaft is installed in the center, and two steel shafts are installed on the sides as guides. When the threaded shaft rotates, the carriage moves the threading table along the X axis.

The bar should be as thick as possible, since the heavier the base, the more reliable the machine will stand during operation. And this, in turn, improves the quality of workmanship during work.















Step two. Create the Y axis
The portal structure for the Y axis is created in the same way as the X base. The portal is fixed on a movable table that moves along the X axis. How this happens can be seen in the photo.










Step three. Creating the Z Axis
The Z axis is created in exactly the same way as the previous two. Thanks to this axis, the working body moves vertically, which feeds the tool.




















Step four. Construction assembly
Further, after all the elements have already been manufactured, the machine can be assembled and this process is not difficult. Bolts and nuts are used to connect the elements. The dimensions of the machine can be varied, it all depends on personal needs. If some elements break during the assembly process, you do not need to use glue to repair them, it is best to make the element again. In this case, the necessary rigidity of the elements will be ensured.










Step five. Electronic part of the device

When the mechanical part is assembled, you can proceed to the process of connecting the electronics. You need to connect Arduino with drivers and stepper motors. Every driver needs a power source to work. The author used a 24 V 15 A power supply. As for the driver, here it is already selected individually depending on the engine power. Motor coils and their poles are designated by the letters A+, A-, B+, B-.
























The CLK+ output must be connected to the step pin on the Arduino. The CW+ contact must be connected to the direction pin. Well, CLK- and CW need to be connected to the GND pin. Contacts EN+ EN- are not used.

Step six. Software part of the device
The next step is to download software that will control the machine. The process is not difficult, you need to upload the code using the XLoader program to the Arduino board. After that, you need to open GCodeSender in order to connect the Arduino board to a personal computer. After that, the board will be ready to control the CNC machine.

CNC machines are an integral part of the metalworking industry. They are used for the production of various parts from bolts to elements different kind machines and structures. This technology can also be applied at home by developing a CNC machine on Arduino with your own hands.

What is CNC

Especially for those who are not in the subject, I will briefly tell you what this three-letter abbreviation means.

CNC is numerical control

CNC machine is a machine with a computer that controls its drives. The drives, in turn, rotate the tooling (the thing that cuts the workpiece) and move the frame (the workpiece is located on it).

For example, for the manufacture of a complex steel part, the machine, like an artist, cutting out a chisel from a log, Lenin's stencil, will similarly move the tooling along the workpiece until it completes all the instructions of the computer program code.

Is it possible to assemble a CNC machine on Arduino with your own hands

In order to assemble an arduino machine on your own, you will need a lot of time and patience. The element base and the complexity of the design depend only on the tasks that will be assigned to the machine.

For example, to create a mini plotter at home (also a CNC machine), you will need the following parts:

  • Arduino UNO - 1 pc.
  • Motor driver L298 – 2 pcs.
  • Small servo - 1 pc.
  • DVD/CD drive - 2 pcs.

The microcontroller will act as a computer. L298 are needed to control the power part of the drives. Drives with a perpendicular arrangement will perform two axes of movement: X, Y. The servo is designed for the Z axis, a marker will be attached to it, which will act as a printing tool. Like this simple idea, its implementation can be done by anyone who has received basic skills in working with Arduino.

Examples of Arduino CNC projects

  1. engraving machine with powerful laser burns patterns on wood.
  2. An example of creating an Arduino CNC milling machine. A drill is used as a tool.
  3. Another interesting implementation of an engraving machine based on a laser and arduino uno

In this article, I only consider the possibility of creating a cnc machine on arduino. The process of creating a mini plotter on Arduino is a matter of a separate, large topic.


In this project, I will show you how easy and simple it is to build your own cheap mini CNC plotter on ardino. Of course, you can just take and buy a plotter, but firstly it is very expensive, and secondly I don’t need it πŸ™‚

For the X and Y axes we use stepper motors and rails pulled from two old dvd/cd drives. Work zone our CNC plotter will be 4 by 4 centimeters.

Since the project is based on using a serial port, you can also use a Bluetooth module (eg HC-06) to connect the plotter to your computer wirelessly!

Step 9 G-code program.

We are now ready to print our first image with our mini CNC plotter! To do this, we need an intermediary program between us and the plotter. It converts the G-code into servo movements.

What is a G-code? G-code is a file with X, Y and Z coordinates. It looks like this:

M300 S30.00 (Lowered printer)
G1 X10.00 Y10.00 F2500.00

G1 X20.00 Y10.00 F2500.00

M300 S50.00 (Raised printer)

Then you will need to install an addon to it, which allows you to export images to G-code. You can download it from this link.

Let's set up Inkscape for the first time. Open the program, go to the "File" menu and click "Document Properties". See the first illustration above and change as shown in the picture. Then close this window. We will use a print area of ​​4 by 8 centimeters. See the second picture below.

How to type text: Enter your text, change the font to Times New Roma and set the size to 22. Then click on the cursor icon and align the text as shown in the third image above. Choose a path from the "Object to Path" menu.

How to print images: This is more difficult than text. Images must have a transparent background. Drag and drop the image into Inkscape. Click "OK" in the next window. Then you have to resize the image so that it fits in our printable area (see picture 4). Click "Path" from the menu and select "Trace Bitmap". Do then as shown in the 5th image. Click OK and close the window. Then move the gray image and delete the color behind it. Move the black and white image to the right place again and click again on the "Path" menu, the "Object to path" button. The sixth picture shows how to delete an image.

Exporting as G-code: Finally, go to the File menu, click "Save as" and select ".gcode". Click OK on the next window. That's all! Our G-code is ready to print on our brand new mini CNC plotter!

In contact with

What else to read