GRBL SHIELD
FOR ARDUINO UNO
USER MANUAL
YRCNC 2017
2
Introduction
Thanks for supporting us! Hope you will have many hours of fun using this shield and that plenty
hours of issueless cutting!
The main features of the GRBL shield for Arduino UNO are:
• Opto isolated inputs for XYZ limits, probe, Start, Feed and EStop switches connected to the
Arduino for improved noise suppression
• Buffered outputs for stepper drivers, coolant and spindle control
• LED indicators for XYZ limits as well as the probe input
• Proper regulated power for the Arduino and reverse connection protection
• Convenient terminals for simple and easy use of external and bigger stepper drivers
• The combination “this shield + Arduino UNO” yields a professional CNC controller which is
worth much more
Package Contents
• CNC Shield …………..………………………………………………… 1 piece
• 3mm LED’s …………………………………………………………… 4 pieces
• 2-way Header Pin connectors and associated HW ….. 4 pieces
• 11mm Plastic spacers …………………………………………….. 4 pieces
• 16mm M3 Cap screws ……………………………………………. 4 prices
3
Setting compatibility with GRBL version prior to 0.9j
There are two jumpers at the bottom of the board JMP1 and JMP3 which are used to swap Z limit
and PWM signals for GRBL versions prior to 0.9j
If you are running a GRBL version later than 0.9i, the connections of JMP1 and JMP3 are already
made. You can plug in and go!
If for some reason running an earlier version prior to 0.9j and don’t want to upgrade - cut the small
connection on the PCB with a sharp knife, making sure you don’t cut anything else. Then bridge the
other pad with the centre pad by using solder or 0603 zero Ohm resistor. This needs to be done on
both JMP1 and JMP3 – see the images below:
For GRBL prior to 0.9j cut the following tracks:
and solder the following pads (or add zero Ohm 0603 resistor)
4
Setting Spindle Enable initial levels
After power up there is a short period of time during which the Arduino UNO I/O pins are floating, at
this moment the stepper drivers could be powered and some glitches may occur. To prevent this
initial misbehaviour the board uses JMP2 to set the Spindle Enable (SP_EN) to high or low initial
state. Ideally the initial Spindle Enable state should be non-active:
• For SP_EN active high the initial state of the line should be low
• For SP_EN active low the initial state of the line should be high
By default, the jumper was pre-set for SP_EN with active state high.
In case SP_EN active state on your machine is low cut the bridge on JMP2 and then bridge the other
pad with the centre pad by using solder or 0603 zero Ohm resistor. See images below
For SP_EN with active low state cut the following track:
and solder the following pad (or add zero Ohm 0603 resistor)
5
Mounting the XYZ limits and Probe LEDs
The kit comes with four 3mm LED – it’s up to the user to decide how to mount them:
• The LED can be mounted directly on the board – solder them by keeping in mind that the
longer pin on the LED is anode (+) and the shorter is cathode (-) and ensure that the LED
anode (+) is placed in the hole on PCB marked with (+) – see image below:
• Alternatively the LED can be mounted on the panel of the machine – in this case solder in
the supplied header pins and then connecting the LED’s via wire to the pins
Mounting the shield over Arduino UNO board
Please use the supplied spacers between the shield and the Arduino. This will ensure the PCB is not
stressed when the screws are tightened. Also, one of the spacers have a flat part. This is for the holes
that is close to pin SCL, close to the USB connector.
Other than that, simply do as per any other electronic board installation!
Connecting the XYZ limit switches
There are two types of XYZ limit switches used in CNC machines – normal opened (NO) and normal
closed (NC). Normal opened switches are preferred because of the easier wiring but for more
professional and robust designs is preferred the normal closed (NC) wiring. On the images below are
shown how to connect the XYZ limit switches for NO and NC configurations.
6
7
Connecting the stepper drivers
The following pictures show how to connect two types of different stepper drivers to the GRBL
shield:
8
9
Connecting other signals
• Probe, can either be NO or NC (Normally open or Normally closed)
• Spindle connection is made as indicated. SP_PWM is 0-5v, because of the Arduino voltage.
Most PWN controller boards will only use GND and SP_PWM connections. The SP_EN is not
used on these spindle PWM boards. Use if available, and refer to the JMP settings.
Recommendations:
Stepper drivers: TB6600 Stepper Driver (4A max)
Controlling software (G Code Sender): bCNC
Thanks to
The GRBL developers – They have given the community a wonderful product
Luben Hristov – Designer of the CNC Shield
Ruben vd Merwe – YRCNC and board manufacturer
PS: Please review this shield on www.yrcnc.com. Thanks!