Ks0096 keyestudio CNC Kit / CNC Shield V4.0 + Nano 3.0+3pcs a4988 Driver / GRBL Compatible

From Keyestudio Wiki
Jump to: navigation, search
KS0096---v4 雕刻机套件(4988 有散热片) (3).jpg


keyestudio CNC Shield V4
Keyestudio CNC shield v4.0 needs to work with Keyestudio nano ch340 . It can be used as driver expansion board for engraving machines. It has in total 3 channel slots for A4988 stepper motor driver modules (not included) for driving 3 channel of stepper motors. Each channel of stepper motor only needs 2 IO ports, which means 6 IO ports is sufficient to manage 3 stepper motors. This shield can make quick work for managing stepper motors in your project.

keyestudio nano ch340
keyestudio nano ch340 controller is a small, complete board based on the ATmega328. It’s a open source Simple I/O platform with 12 Digital I/O Pins (of which 6 provide PWM output), 8 Analog Input Pins, pin 0 (RX) and 1 (TX) used to receive (RX) and transmit (TX) TTL serial data, a Mini-B USB connection, an ICSP header and a reset button.


1.3 axis stepper motor driver
2.Compatible with micro-drive laser engraving machine, three-axis CNC engraving machine.
3.2A can be controlled within the two-phase four-wire stepper motor.
4.Released the digital IO interface, easy to connect to other modules, such as ENDSTOP.
5.Released the I2C interface, you can connect to the LCD I2C or other I2C module.
6.power DC5v interface, 7.5-12V voltage input.
7.GRBL compatible
8.worked with arduino nano.

Kit list

  • 1x CNC Shield V4.0
  • 1x nano board
  • 3x A4988 driver
  • 1x USB cable

Connection Diagram


5. Install Driver Software and Development Environment Software IDE

Install Diver Software

A. Connect the main board with computer, and then right click “Computer” to enter “Device Manage”.
B. Double click “Other devices”, appearing “USB Serial Port”.
Then, right click “USB Serial Port” and select “Update Driver Software” to install driver software.
After that, select “Browse my computer for driver software” to find the file.
Browse to search for driver software.
After your driver software updated, click “Close” to finish.

C. Finally, installation is done, and double click “Ports”in “Device Manager”, you can see “USB Serial Port”.

Install development environment software IDE

Double click arduino-1.5.6-r2-windows to start.
Select “I Agree”to accept license agreement.
Select components to install and click “Next”.
Click “Browse” and select another folder. Click “Install” to start the installation.
Finally, wait for a few minutes to finish.

Using Method

Test Main Board

First, write below code in IDE to test whether main board, shield and three motors work normally.

1. If you properly reduce the value 800 in delayMicroseconds(800) to increase the frequency of input PWM signal, you can increase the rotation speed of stepper motor. The change of value cannot be too much or the motor will stop moving.
2. Rotate the knob on A4988, you can adjust the output current of the motors to change the torque.


#define EN        8       // stepper motor enable, low level effective
#define X_DIR     5       //X axis, stepper motor direction control 
#define Y_DIR     6       //y axis, stepper motor direction control
#define Z_DIR     7       //z axis, stepper motor direction control
#define X_STP     2       //x axis, stepper motor control
#define Y_STP     3       //y axis, stepper motor control
#define Z_STP     4       //z axis, stepper motor control
// Function: step   -control the direction and number of steps of the stepper motor
// Parameter: dir  -direction control, dirPin corresponds to DIR pin, stepperPin correspomds to 

step pin, steps is the number of steps.
// no return value
void step(boolean dir, byte dirPin, byte stepperPin, int steps)
  digitalWrite(dirPin, dir);
  for (int i = 0; i < steps; i++) {
    digitalWrite(stepperPin, HIGH);
    digitalWrite(stepperPin, LOW);
void setup(){// set the IO pins for the stepper motors as output 
  pinMode(X_DIR, OUTPUT); pinMode(X_STP, OUTPUT);
  pinMode(Y_DIR, OUTPUT); pinMode(Y_STP, OUTPUT);
  pinMode(Z_DIR, OUTPUT); pinMode(Z_STP, OUTPUT);
  pinMode(EN, OUTPUT);
  digitalWrite(EN, LOW);
void loop(){
  step(false, X_DIR, X_STP, 3200); // x axis motor rotates CCW for 1 circle, as in 200 steps
  step(false, Y_DIR, Y_STP, 3200); // y axis motor rotates CCW for 1 circle, as in 200 steps
  step(false, Z_DIR, Z_STP, 3200); // z axis motor rotates CCW for 1 circle, as in 200 steps
  step(true, X_DIR, X_STP, 3200); // X axis motor rotates CW for 1 circle, as in 200 steps
  step(true, Y_DIR, Y_STP, 3200); // y axis motor rotates CW for 1 circle, as in 200 steps
  step(true, Z_DIR, Z_STP, 3200); // z axis motor rotates CW for 1 circle, as in 200 steps

Install Firmware and Grbl Controller

a. Write test program to keyestudio UNO R3
copy the folder GRBL_ Arduino_Library_keyes in the data packet and paste it into to the folder libraries, in your Arduino IDE document installation.


#include <grblmain.h>
void setup(){
void loop(){}
//Burn the code above to keyestudio UNO R3

b. Install GrblController361 Software
Grbl Controller is a piece of software which is used to send GCode to CNC Machines. Run Grbl Controller361 Setup in your installation packet, the interface below will come out:
Click Next to continue.

For a license agreement, please check I accept the agreement and click Next.

When you are ready to continue with Setup, click Next.

To continue, click Next. If you would like to select a different folder to install, click Browse.

To continue, click Next. If you would like to select a different folder to place program’s shortcuts, click Browse.

Select the additional tasks you would like Setup to perform while installing Grbl Controller, then click Next.

Click Install to continue with the installation.

Click Next.

At last, click ”Finish” to finish the installation.

c. Test G-Code on Grbl Controller
Power the main board using a USB cable and connect correctly all your external devices, then run Grbl Controller.
Choose Port name the same as IDE COM port and click “Open” to open the series port, connecting CNC Machines with computer.


After opening the series port, the “Open” button change into “Close/Reset” and get red!
At this time you can click the X axis、Y axis、Z axis as shown in below diagram to adjust the motion direction of motors.


Notes: after adjusting the axies, before beginning G-Code file, you must close and open again .
Now, it is time to have a try! Click ”Choose file” to choose one G-Code file named cn. to test in the data packet for a beginner, and the interface will come out:

Click “Begin” , and you can see how the motors move on coordinates.


Arduino IDE Download
GRBL_Arduino_Library_keyes (Firmware) Download
Driver usb_ch341_3.1.2009.06 Download
G-Code for Testing Download
Grbl Controller361 Setup Download



Buy from