Ks0286 keyestudio CNC Kit / CNC Shield V3.0 +keyestudio Uno R3+4pcs DRV8825 Driver / GRBL Compatible

From Keyestudio Wiki
Jump to navigation Jump to search

Keyestudio CNC Kit/CNC Shield V3.0 + keyestudio REV4 + 4pcs DRV8825 Driver/GRBL Compatible



Keyestudio CNC Shield V3.0 can be used as driver expansion board for engraving machines.
It has total 4 channel slots for DRV8825 stepper motor driver modules (not included) for driving 4 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.


  • Latest Keyestudio CNC Shield Version 3.0
  • GRBL 0.8c compatible. (Open source firmware that runs on an Arduino UNO that turns G-code commands into stepper signals)
  • 4-Axis support (X, Y, Z , A-Can duplicate X,Y,Z or do a full 4th axis with custom firmware using pins D12 and D13)
  • 2 x End stops for each axis (6 in total)
  • Spindle enable and direction
  • Coolant enable
  • Uses removable Pololu DRV8825 compatible stepper drivers. (A4988, DRV8825 and others)
  • Jumpers to set the Micro-Stepping for the stepper drivers. (Some drivers like the DRV8825 can do up to 1/32 micro-stepping )
  • Compact design.
  • Stepper Motors can be connected with 4 pin molex connectors or soldered in place.
  • Runs on 12-36V DC. (At the moment only the Pololu DRV8825 drivers can handle up to 36V so please consider the operation voltage when powering the board.)

Kit List

  • Keyestudio CNC Shield V3.0 *1
  • Keyestudio REV4 Board *1
  • DRV8825 Driver *4
  • USB Cable *1


Connection Diagram


Adjusting the drive current

In the kit, we have applied the A4988 drive module to drive stepper motor. When using, you can turn the potentiometer on the drive module to adjust the drive current.
The specific method please refer to the website link below:


  • Arduino IDE Download:


  • Driver, G-Code, Grbl Controller361 and GRBL_Arduino_Library_keyes (Firmware):


Install Driver Software and Development Environment Software IDE

Install Driver Software

  • For different operating system, there may be slight difference in installation method. Below is an example in WIN 7.
  • When you connect Arduino Uno to your computer at the first time, right click “Computer” —>“Properties”—> “Device manager”, you can see “Unknown devices”.

  • Click “Unknown devices”, select “Update Driver software”.

  • In this page, click “Browse my computer for driver software”.

  • Find the “drivers” file.

  • Click “Next”; select “Install this driver software anyway” to begin the installation.

  • Installation completed; click “Close”.

  • After driver is installed, go to “Device manager” again. right click “Computer” —> “Properties”—> “Device manager”, you can see UNO device as below figure shown, also the correct Com port.


Install Development Environment Software IDE

Install Arduino with the exe. Installation package downloaded well.

Click“I Agree”to see the following interface.

Click “Next”. Pop up the interface below.

You can press Browse… to choose an installation path or directly type in the directory you want.
Then click “Install” to initiate installation.

Wait for the installing process, if appear the interface of Window Security, just continue to click Install to finish the installation.

Using Method

Test Main Board

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

  • Explanation
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.
  • Code as below:
#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       //zaxis, 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 corresponds 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, 200); // x axis motor rotates CCW for 1 circle, as in 200 steps
  step(false, Y_DIR, Y_STP, 200); // y axis motor rotates CCW for 1 circle, as in 200 steps
  step(false, Z_DIR, Z_STP, 200); // z axis motor rotates CCW for 1 circle, as in 200 steps
  step(true, X_DIR, X_STP, 200); // X axis motor rotates CW for 1 circle, as in 200 steps
  step(true, Y_DIR, Y_STP, 200); // y axis motor rotates CW for 1 circle, as in 200 steps
  step(true, Z_DIR, Z_STP, 200); // z axis motor rotates CW for 1 circle, as in 200 steps

Install Firmware and Grbl Controller

a. Write test program to keyestudio REV4

  • Copy the folder GRBL_ Arduino_Library_keyes in the data packet and paste it into the folder libraries in your Arduino IDE document installation.

Code as below:

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

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 serial port, connecting CNC Machines with computer.

  • After opening the serial 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.



Get One Now