CNC Machines are Computerized Numerical Control Machines which are used to draw anything like alphabets, sketches or design any mechanical part according to the design program fed into their controller unit. Controller unit can be either computer or microcontroller the hardware part CNC machines consist of different joints movables parts which were able to move to draw the design as per the fed program using stepper and servo motors.

We have done lot of research on CNC machine and we conclude to  build our own CNC machine using locally available materials. There are so a many CNC machines in the world, some of which are much technical and complex to make or even operate them properly. For this reason we have decided to make a simple CNC Plotter Machine based on Arduino which is by far the simplest to make.

Working and Building

 To operate CNC plotting machine we required three axies (x-axis, y-axis and z-axis). The x-axis and y-axis work in unison to create a 2D image on a plain paper. These x and y axis are placed 90 degrees to each other such that any point on the plain surface is defined by a given value of x and y. The z-axis is used lift and lower the pen onto the plain paper.

Depending on the image to be drawn, the computer will generate the appropriate coordinates and send them to the microcontroller through the USB port. The microcontroller interprets these coordinates and then controls the positions of the motors to create the image. Here we have used Arduino as the Microcontroller to build this CNC Machine. The three-axis movements are provided by stepper motors, which will be controlled by the Arduino board.

Hardware Required

  1. Aluminum sheet (710mm x 710mm)
  2. Bolts and nuts
  3. Arduino UNO
  4. Stepper motors
  5. L293D motor driver shield or an Arduino CNC shield 
  6. Mini servo motor
  7. A pen

Wiring of CNC potter

Insert the L293D motor driver shield onto the Arduino UNO board. This shield can drive two stepper motors at the same time and two servo motors. Connect the two stepper motors as shown below. The ground connection should be left unconnected since the motors are bipolar type. This will act as our Arduino CNC controller for our Plotter machine. 

Sketch It (CNC Plotter) -


Success testing of CNC