Search the Knowledge Base
Maker Shield CNC Controller
Safety Statement
The author of this document is not liable or responsible for any accidents, injuries, equipment damage, property damage, loss of money or loss of time resulting from improper use of electrical or mechanical or software products.
Assembling electrical and mechanical CNC machine components like power supplies, motors, drivers or other electrical and mechanical components involves dealing with high voltage AC (alternating current) or DC (direct current) and other hazardous items which can be extremely dangerous and needs high attention to detail, experience, knowledge of software, electricity, electro-mechanics and mechanics.
BEFORE MAKING ANY CONNECTIONS OR DISCONNECTIONS POWER MUST BE REMOVED FROM THE DEVICE AND THE CONTROLLER. FAILURE TO DO SO WILL VOID ANY AND ALL WARRANTIES.
Before starting please read through all the instructions.Note: : Any Mains power connections must be installed by a Licensed electrician or suitability qualified person.
Errors and omissions excepted1.0 Introduction
The Maker Shield is an all in one GRBL 1.1 compatible stepper motor shield designed for the Arduino Uno and Uno compatible microcontroller boards. It has been designed to be easy and intuitive to use with no requirement for additional driver modules.
Click on the image(s) to expand
1.1 Application
The Maker Shield CNC Controller is suitable for a variety of small and medium sized automation equipment and instruments including but not limited to: CNC machines, laser engraver / cutter, plotters and drawbots. The integrated drivers are capable of driving standard 4 wire stepper motors with up to 2.5 Amp drive capability per motor coil.
2.0 Key Features
- Reverse polarity protection for the main motor power input (VMOT)
- Onboard Texas Instruments DRV8825PWPR stepper motor driver IC’s
- Dupont motor header pins (A1, A2, B2, B1) for each drive channel
- Onboard Micro Step (up to 1/32) and drive channel enable dip switches
- LED error indicators for each drive channel (including the CLONE channel)
- LED driver Enable indicator
- Voltage Reference pad for easy current adjustment of each drive channel
- Two VMOT header pins (dependant on input voltage used and a Maximum of +24V)
- VMOT Header pins can be used for a cooling fan
- X-Axis, Y-Axis, and Z-Axis header pins for the Clone Axis drive channel
- X, Y and Z channel Limit switch inputs with Loop header pin
The loop header pins allows for a connection of up to two limit switches per drive channel directly to the board. (when used as a Normally Closed loop)
- Additional GRBL header pins include,
- Probe Pin – Allowing you to set the correct height of your milling tool
- Cool Pin – Coolant control
- Resume – Continue GRBL job after a Hold command or door open (if configured within grbl)
- Hold – Pause the current GRBL job
- Abort – GRBL reset function
- Reset – Full Arduino Uno board reset
- PWM – GRBL PWM output for milling or laser cutters that support variable speed / power
- Spin Dir – GRBL Spindle Enable pin when configured as a milling machine
- Handy micro step table on the back of the Maker Shield
3.0 Detailed Pin Descriptions
This section will describe the connection and adjustment settings to get the best out of your Maker Shield. It is recommended to read through this section to become familiar with this board.
3.1 Stepper Motor Output Header Pins
The stepper motor header pins are a 4- way Dupont style header pin that describes which drive channel it is used for and the relevant pin assignments. To ensure you get correct motor functionality and rotational direction, refer to your stepper motor wiring guide.
Note: The Maker Shield pin assignments are a guide only and while the current assignments are marked as B1 B2 A2 A1 these can also be transcribed as B+ B- A- A+.
Click on the image(s) to expand
3.2 Microstep and Enable DIP Switch
Each motor drive channel comes with its own Microstep and channel Enable DIP switch (Z Axis channel shown in picture). To set the required microstep resolution refer to the table below or the table on the back of the Maker Shield.
Note: Ensure you refer to the numbers marked on the board (Circled in RED in the image to the right below) for correct micro step settings and not the numbers marked on the switch itself.
Click on the image(s) to expand
Note : It is important to note that if a drive channel is not being used (not connected to a motor) that the relevant EN switch is in the ‘Off’ position.
3.3 Drive Enable Indicator
The Maker Shield incorporates a green GRBL Enable indicator as a visual reminder that the driver IC’s are energised and supplying power to the connected stepper motors.

3.4 Drive Channel Error Indicator
Each drive channel incorporates its own error indicator (Y drive channel shown in image) that will illuminate if there is a problem with the driver IC. Some error conditions are overheating or over current detection. If an error condition is detected and is persistent check all wiring is correct and connectors are firmly seated.

3.5 Voltage Reference Adjustment
The voltage reference adjustment allows for setting the current output (up to approximately 2.4 Amps) of the driver channel IC. It is important to ensure that the output current matches the motor current rating to ensure smooth and correct operation of your stepper motor. If the values are incorrect, you may end up overheating your motors if the current is set too high or under-powering your motors if the current is set too low. This board also incorporates a handy voltage reference pad for each drive channel.
3.6 Limit Switch Connector
The limit switch connector allows up to two limit switches per channel to be directly connected to the Maker Shield. This is achieved by the Loop connector for the respective channel input.
3.7 Clone Axis Header Pins
The Clone axis header pins allow you to clone either the X, Y or Z driver channel. When you are cloning an axis, select the step and direction pins for that particular axis that you would like to clone. For more information on how to clone an axis, refer to the Component Assembly section of this manual on how to clone an axis.
3.8 Driver IC Cooling
It is highly recommended to provide adequate cooling (heatsinks and fan) for the driver IC’s during normal operation. These drivers can get hot enough to burn before they will shut down due to overheating and will not resume normal operation until the appropriate temperature threshold has been reached. Allowing the motor drivers to overheat may result in missed steps or poor performance. It is recommended to use the provided adhesive heatsinks to aid in heat dissipation.
3.9 VMOT Header Pins
The VMOT header pins provide an additional power output that is tied to the VIN voltage used to drive the stepper motors (Max 24V). These pins can be used to run a cooling fan to ensure better cooling and more efficient operation of your Maker Shield.
3.10 GRBL Input and Output Header Pins
This board utilises the standard 2.54mm Dupont style header pins (as described in Section 2) for easy and convenient connection of external accessories. Ensure that the polarity of the header pins is correct before connecting peripherals.
3.11 Arduino Uno Reset
The onboard reset button will perform a reset of the Arduino Uno compatible controller. Pressing this button during operation will cause you to lose the current workload that is running on your Arduino Uno compatible controller and halt the current operations. This reset button performs the same function as the Arduino Uno compatible controller’s onboard reset button.

3.12 Motor Power Input Connector
The motor power input connector (Blue) is located on the left-hand side of the board. This is where the main power from your power supply is fed into the Maker Shield. Note the polarity marked on the board. NOTE: Max input voltage is 24V.

Note : The Maker Shield supply voltage MUST not exceed +24V.
4.0 Assembly
There are two assembly guides in this Manual; the bundled kit and the standalone controller.
If you have purchased the Maker Shield controller in a bundle, click here
If you have just purchased the Maker Shield controller by itself, click here
4.1 Maker Shield Bundle Assembly
The Maker Shield CNC controller bundle contains all the electronic hardware that you require to wire and run your CNC machine/Laser or plasma build.
PART 1: Base Assembly
PARTS REQUIRED
Description | Quantity |
Laser cut base panel | 1 |
10mm Male to Male Spacer | 8 |
Arduino Compatible Controller | 1 |
Maker Shield CNC controller | 1 |
6mm M3 Nylon screws | 8 |
Click on the image(s) to expand
The correct orientation of the base board is with the engraved writing facing you. It is recommended to peel off the protective backing at this stage. In this build tutorial, the protective cover has been left on to ensure that all components are easy to see.
- The mounting points for the Arduino compatible controller will be the first to be mounted. Use the nylon screws to fasten the 10mm nylon spacers to the base plate as shown below.
- Sit your Arduino compatible controller on the 10mm spacers, making sure that everything is aligned use the remaining 6mm Nylon screws to fasten the controller onto the spacers. The end result will be as shown below.
Click on the image(s) to expand
- Sit the Maker Shield CNC controller onto the Arduino, making sure that the pins all align and are perfectly seated to ensure connections.
Click on the image(s) to expand
PART 2: Top Assembly
PARTS REQUIRED
Description | Quantity |
Laser cut top panel | 1 |
M3 Nut | 8 |
30mm 24V Fans | 2 |
M3 x 16mm Button Head screws | 8 |
Click on the image(s) to expand
The Correct orientation of the top panel is with the engraved writing facing you and in the bottom left corner.
- Mount the fan with the fan blades pointing upwards. For ease of wiring, orient the fans so that the side with the wires is closest to the small square cut out on the top panel. This square cut out is highlighted in green and is shown in step 2 below.
- Secure the fan onto the top panel by inserting the screws from the bottom. Loosely tighten the nut by hand and complete the other 4. After all 4 screws and nuts have been inserted, you may tighten them. Repeat this step for the other cooling fan.

Click on the image(s) to expand
PART 3: Top and Base Assembly
PARTS REQUIRED
Description | Quantity |
40mm Threaded Hex Spacer | 4 |
M3 x 6mm Button Head Screws | 8 |
Use the 40mm threaded hex spacers and button head screws to attach the top and bottom assemblies as shown below:
Click on the image(s) to expand
PART 4: Wiring
Wiring the Maker shield is discussed in the Component Assembly section. The wiring in this section is for the additional hardware that comes with the bundle.
Stepper Motor Wiring
In the Maker Shield bundle are a quantity of 4, 4 pin dupont connectors used in the wiring kit. These are to be used with either Nema17 or Nema23 motors. See the tables below for the correct wiring sequence:
NEMA 17

Click on the image(s) to expand
Motor Side | 4 Pin Dupont Connector Side |
Red | Yellow |
Blue | White |
Green | Red |
Black | Black |
NEMA 32

Click on the image(s) to expand
Motor Side | 4 Pin Dupont Connector Side |
Red | Yellow |
Green | White |
Blue | Red |
Yellow | Black |
TERMINAL BLOCK WIRING
The terminal block is used to join the cooling fans and the touch probe to the 2 pin dupont connectors which will then be connected to the respective male dupont pins on the Maker Shield.
The 2 fans come with an JST-XH connector attached, cut this off and strip the wires to feed into the terminal block.
The touch probe comes with bare leads and must be stripped to fit into the terminal block as well.
PREPARING THE WIRES
Our recommended way to strip the wires is with a wire stripper. Strip about 5mm of shielding off the cable to expose the copper. Twist the exposed copper to prevent fraying as shown below.

Click on the image(s) to expand
After twisting the cable, insert into the provided terminal block. Follow the wiring schematic shown below. The touch probe and fans will occupy 6 terminations on the terminal block. You may use the remaining 6 to your discretion.
Click on the image(s) to expand
Terminations
It is recommended to feed the wires in through the case using the pre-cut slots. This is to create strain relief and neaten the cables. The fans will cool the drivers more efficiently this way. In this instance, the cover is taken off to make it easier to show the correct terminations.
Stepper Motors
4 Pin Dupont Connector Side | Maker Shield Controller |
Yellow | A1 |
White | A2 |
Red | B2 |
Black | B1 |
Click on the image(s) to expand
Repeat this for the other 3 motors connections
Thread the cables through the slot and you may further neaten the cables by use of cable ties as shown.

Click on the image(s) to expand
Limit Switches
The correct orientation is as follows
- ‘+’ = Red Wire. This is to be wired to the NO/NC terminal of the limit switch
- ‘-’ = Black Wire. This is to be wired to the Common terminal of the limit switch.

Click on the image(s) to expand
You may further neaten this by using cable ties.

Click on the image(s) to expand
In this controller bundle are EDG-2P connectors. Use these to connect to the provided 2 core shielded cable for the limit switches. Connect the Red wire to the White wire and Black wire to the Blue wire.

Cooling Fans
The correct connections for the cooling fans are as shown. The VMOT terminal is used for these connections.
- ‘+’ = Red
- ‘-’ = Black
Click on the image(s) to expand
You may use cable ties to loop the cable around to the terminal block.
Click on the image(s) to expand
5.0 Component Assembly
Below is the guide on how to assemble the Maker Shield controller
5.1 Arduino and Maker Shield Connection
While taking normal static electricity precautions, insert the Maker Shield onto the Arduino Uno, making sure that the Maker Shield pins are correctly aligned with the Arduino’s pins. Take care not to bend the pins.
5.2 Limit Switch Wiring
Limit switches are necessary if you intend to home your machine and prevent your machine from running into the end of the gantry. We recommend using our 2 Core Shielded Cable to eliminate any potential noise.
There are 2 methods of wiring your limit switches; Normally Closed and Normally Open. The standard configuration in GRBL is the Normally Open configuration. If you wish to use the Normally Closed configuration, you will need to invert the settings in the GRBL settings by changing the $5 setting from 0 to 1.
Click on the image(s) to expand
As shown above our limit switches have 3 pins;
- Pin 1: Common
- Pin 2: Normally Closed
- Pin 3: Normally Open
Normally Open Configuration: If you are using our 2 core shielded cable, connect the blue wire to the “Common” (Pin 1) and the white wire to “Normally Open” (Pin 3).
Normally Closed Configuration: If you wish to use the Normally Closed configuration in your build, connect the blue wire to the “Common” (Pin 1) and the white wire to “Normally Open” (Pin 2).
Method 1: Standard Normally open Limit switch Configuration.
Note that the images below are for illustrative purposes. The signal wire colour in this manual is yellow, use white colour instead as included in your kit.
See the wiring for the Normally Open configuration in the diagram below. This example is for the X axis limit switch. Repeat this step for the Y and Z axis limit switches.
Click on the image(s) to expand
Method 2: Loop configuration with 6 limit switches.
This method shows the connection for wiring two limit switches, this configuration requires the normally closed configuration. Repeat this step for the Y and Z axis limit switches.
Click on the image(s) to expand
5.3 Emergency Stop Switch Wiring
Emergency stop switches are recommended for stopping your machine in case of an emergency. There are 2 methods that you can use to wire up your emergency stop switch; A power cut (Method 1) or a Pause/Hold function (Method 2). If you wish to use a power cut, you will need to put your limit switch in line with your V+ lead. When activated, this will cut power to the controller and all work/machine position will be lost. A Pause/Hold will put the controller in a hold state and the work process can be resumed after releasing the Emergency stop.
Method 1: Power Cut (Recommended)
The emergency stop switch is to be put in line with the +24V lead going from your power supply to the Maker Shield. This method cuts all power to the stepper motors and work will be lost.
Click on the image(s) to expand
Method 2: Pause/Hold
This method pauses the job. It is recommended if you intend to resume the job. Use a Normally Open Emergency Stop Switch.
Click on the image(s) to expand
5.4 Cloning the Y-Axis
If your machine has a mirrored axis, also known as a slave axis, the axis will need to be cloned. In most cases the machines have a dual Y-Axis. See below on how to clone the Y-Axis. Insert a shunt in the YD and YS headers as indicated below:

5.5 Stepper Motor Wiring
It is important to ensure that your motors are wired correctly. Bipolar stepper motors have 2 coil pairs within them and therefore the wiring has to match these coils The coils typically have a labelling system that labels these coils, A+, A-, B+, B-. A+ and A- correspond to the first coil and B+ and B- correspond to the second coil. In the example shown below, green and black make up coil A and blue and red make up coil B. If these coils are mixed, the motors will vibrate instead of turn or turn in one direction only. For our Nema23 stepper motors, the wiring sequence is Red, Green, Blue , Yellow, for A+, A-, B+ and B- respectively.
Click on the image(s) to expand
5.6 XYZ Probe Wiring
Use 2 male to female dupont cables to connect the black wire to ‘+’ and red wire to ‘-’ on the probe headers on the maker shield (highlighted by the red square).


Click on the image(s) to expand
Insert the male portion of the dupont cables into the 2 female end of the EDG connector and the touch probe is to be connected to the male end of the EDG connector, matching red from be probe to red on the dupont lead and black from the probe to black on the dupont lead.

Click on the image(s) to expand
5.7 Power Supply Wiring
For the best performance, it is recommended to use the MeanWell 350W 24V power supply. Do not exceed the recommended supply voltage of 24V as damage to the components may occur. Ensure that V+ from the Power Supply is connected to V+ on the Maker Shield (red wire) and V- from the power supply to V- of the Maker Shield (Black wire. Our cable has white wire. The Black has been used for illustrative purposes.).

Click on the image(s) to expand
6.0 Stepper Motor Driver Settings
To get the best performance from your motor, it is recommended to tune your current and micro-step settings. See below for the settings.
6.1 Enabling Motors
As mentioned earlier, the SW1 on your control board corresponds to the enable pin for that particular axis. If you wish to use that axis, enable the axis by moving the dip switch to the UP position. The motor enable interface is shown below:

6.2 Current Settings
As stepper motors are current driven devices, you will need to finetune your current settings. Refer to the table below for tuning the current. Refer to the datasheet of your stepper motor to get the correct current rating.
Reference Voltage (V) | Driver current Output (A) |
0.1 | 0.2 |
0.2 | 0.4 |
0.3 | 0.6 |
0.4 | 0.8 |
0.5 | 1 |
0.6 | 1.2 |
0.7 | 1.4 |
0.8 | 1.6 |
0.9 | 1.8 |
1 | 2 |
1.1 | 2.2 |
1.2 | 2.4 |
To set the current for the driver, you will need the following:
- A multimeter set to measure DC voltage
- A small Phillips head screwdriver
- 2 ended alligator clip.
Procedure:
Refer to the diagram below while you are following the steps.
Click on the image(s) to expand
- Enable the motor drivers that will have their current adjusted.
- Turn on your Maker Shield
- Turn on your multimeter to read DC Voltage
- Attach one end of the alligator clip to the screwdriver and the other end to the positive probe of your multimeter.
- Attach the negative probe to the V- terminal on the blue power connector highlighted with the Red Square and insert the screwdriver in the adjustment potentiometer.
- Adjust the Vref to suit your motor. The Vref is 50% the current value. For example, if your motor is 1.0A, adjust the Vref to be 0.5V
- Repeat this for each axis that you intend to use in your build.
6.3 Micro-Step Settings
Apart from current settings, stepper motors can be further fine tuned by means of setting the micro steps. Increasing the micro-steps increases your accuracy. The recommended micro step setting is 1/8th step. The table below will show you how to set the micro-step rate.
IMPORTANT NOTE: Follow the micro step numbering on the silkscreen on the board highlighted in the Green square not the dip switch itself as SW1 corresponds to the Enable pin for the relevant motor.
Micro Stepping Rates
Micro-Step | SW1 | SW2 | SW3 |
FULL | OFF | OFF | OFF |
1/2 | ON | OFF | OFF |
1/4 | OFF | ON | OFF |
1/8 | ON | ON | OFF |
1/16 | OFF | OFF | ON |
1/32 | ON | ON | ON |
To set the micro step, peel off the orange protective film on the dip switches and set the dip switch to the desired setting. Flipping the dip switch upwards puts it in the ON position. Note that you may need to adjust the micro-stepping rate in the software as well, depending on the gcode sender that you are using. This guide uses 1/8th step so no further calculations are required as to the steps per revolution settings in GRBL.
7.0 Software Programming
Your Arduino compatible microcontroller comes with the boot loader pre-flashed and is ready to be flashed with GRBL. Flashing GRBL on the Arduino is pretty straight forward. Adhere to the following steps: Download and install the Arduino IDE
- Download the Arduino IDE here
- Locate the downloaded file. By default it should be in your Downloads folder.
- Double click to run the installation process. Follow the prompts to install.
Download and install the GRBL libraries.
- Download GRBL V1.1 here
- Note where the file has been downloaded and extract the .zip file titled grbl.
- After the extracting, copy the extracted folder to your Arduino Libraries folder. (By Default, your libraries folder should be in: (C:\Program Files (x86)\Arduino\libraries)
Configuring your Arduino
- Before uploading any code, you must configure your board by selecting a board and selecting the port that the board is connected to.
Open the Arduino IDE and you will see a blank sketch such as below:
Open in new tab to zoom. To select the board and port, click on “Select Board” and choose that port that your board is connected to. It will also list the port number. In this case the Arduino Uno is selected and connected to COM 7.
Open in new tab to zoom.
Flashing GRBL
To flash GRBL click on File- Examples – grbl – grblUpload and a grbl sketch will be shown. Upload the sketch to the arduino by clicking on the arrow button highlighted by the yellow square.
Open in new tab to zoom. - Upon a successful upload, the IDE will report “Done Uploading”.
Open in new tab to zoom.
7.1 Configuring GRBL Settings in ioSender
To control a CNC machine, you will need gcode sending software. There are many types of gcode senders out there and we recommend ioSender. ioSender is a powerful gcode sender used for CNC control. Its feature rich and easy to use interface makes it an ideal CNC gcode sender.
Please see the installation steps below:
- You can download ioSender here.
- Locate the downloaded file. By default, it should be in your Downloads folder.
- Unzip the downloaded file and copy the folder to your desktop.
- Open the folder and locate ‘ioSender.exe’. Double click the file to open it. It will initially launch with the following screen. Select the port and click on toggle DTR.
- The following ioSender Screen will show. The main aspects of the program have been highlighted for you.
Open in new tab to zoom. - It is recommended to configure your ioSender’s jog panel settings before you begin. Click on the Settings: App and adjust the the feed rate and jog distances in the UI Jogging highlighted by the green rectangle. You may adjust to your discretion. The recommended list is below. Restart ioSender for the changes to take effect.
Open in new tab to zoom.
Machine Profiles:
ioSender can be used to load these machine profiles. Please see below:
Firstly, download the machine profiles here. Follow the installation guide below:
- Locate the downloaded file in your Downloads folder. Right click the file and unzip the file.
- Opening the file will show a list of folders each for a different machine.
Navigate to the folder containing the brand of the machine series you own. The image below shows the list of machines in our inventory. For example, if you own a WorkBee 1000 x 1000mm kit, navigate to the WorkBee folder.
Open in new tab to zoom. - Locate the configuration file of the machine that you have. Take note of the motors attached to your machines. We offer High Torque and Standard Torque motors.
Open in new tab to zoom. - Copy the profile and naviogate to the ioSender folder and paste it.
Open in new tab to zoom. - In ioSender, navigate to the Settings: Grbl menu. The following menu will show.
Open in new tab to zoom. - Select the Restore button highlighted by the Green Square.
Open in new tab to zoom. - You will be taken to the main directory where you pasted the mchine profile. Select the machine profile to load it.
Open in new tab to zoom. - After it has loaded, you can see the settings list change. The settings will then be saved.
Open in new tab to zoom.
8.0 Maker Shield Laser Control
Safety Statement
Safety Statement Before starting please read through all the instructions. Note : Any Mains power connections must be installed by a Licensed electrician or suitability qualified person. The laser safety goggles MUST be worn whenever the laser unit’s power supply is turned on.
To connect the laser to the Maker Shield, you will only need to connect the signal wires from the laser control board to the Maker Shield controller. All other connections are already pre-done.
Locate the TTL signal port circled in orange as shown below:
Click on the image(s) to expand
Connect the 2 pin JST connector to the TTL port and the other half to the maker shield. You can use the 2 pin Dupont connector and a 2 pin EDG connector (Not supplied in the kit). to accomplish this. TTL+ connects to the PWM+ and TTL- connects to PWM- as illustrated below. The lime green wire corresponds to TTL- (Black wire) and the red wire corresponds to TTL+.
Click on the image(s) to expand
In your grbl settings. You can type in $31=1 to enable laser mode.
Useful Guides
Support
For any questions or concerns, please contact us at [email protected]
Australian customers: For more project ideas and solutions, please visit makerstore.com.au
North American customers: For more project ideas and solutions, please visit makerstore.com.cc
UK Customers: For more project ideas and solutions, please visit makerstore.co.uk
Credits
The Maker Community.
Our fantastic customers, whose feedback constantly helps improve our processes and guides.