Do it yourself CNC projects are popping up everywhere and we decided that we wanted to contribute to the growth.
Here are a few of our design goals:
- Modular Design - We wanted to do more than just keep cost down. We wanted things to be reusable and up-gradable. (Arduino , Individual Stepper Motor Drivers and more…)
- Compact Design - Squeezing a 4 axis design into a board the same size and Arduino Uno.
- Opensource Software - 100% GRBL compatible (G-Code Interpreter)
- Opensource Hardware - Arduino has opened up the power of micro-controllers to everyone. (Easy but powerful computing)
- Evolving Development - We are keen to improve on the design and welcome all feedback.
Arduino CNC Shield V3.00
Arduino CNC Shield V2.00
- Board Layout
- Bill Of Materials
- GRBL Software/Firmware
- Gerber Files
- License and Warnings
- Extra Reading
If you are interested in updates please add your email address to the following mailing list and we will send you more details as the shield develops.
The following image displays the functionality of the Arduino pins as used by GRBL.
We have designed the Arduino CNC Shield to use all the pins that GRBL implemented. We have also added a few extra pins to make things a little easier.
- Limit switch pins have been doubled up so that each axis has a “Top/+” and “Bottom/-”. This makes it easier to install two limit switches for each axis. (For use with a normally open switch)
- EStop – These pins can be connected to an emergency stop switch. This does the same as the RESET button on the Arduino board. (We do advice that an extra emergency button also be installed that cuts power to all machinery. A REAL EMERGENCY BUTTON)
- Spindle and coolant control has their own pins.
- External GRBL Command Pins have been broken out allowing you to add buttons for Pause/Hold , Resume and Abort.
- Serial Pins (D0-1) and I2C Pins (A4-5) have their own break out pins for future extensions. I2C can later be implemented by software to control things like spindle speed or heat control.
- Version 3.00 of the board added a jumpers to configure the 4th axis(Clone the other axis’s or run from Pin D12-13), Comms Header(RX+TX , I2C) and a Stepper Control Header(All Pins needed to run 4 steppers)
- Arduino CNC Shield PCB
- 100uF 50v 8mm High Capacitors (493-3289-ND)
- Jumpers (A26228-ND)
- 8-Pin Female Headers(S7006-ND)
- Male Headers(A26514-40-ND)
- Tactile Switch (450-1650-ND)
- Screw Terminal 5mm (A97996-ND)
- Pololu Stepper Drivers . (Please note that the shield was designed to work with A4988 compatable polulu drivers)
- 10K pull-up resistors
GRBL is opensource software that runs on an Arduino Uno that takes G-Code commands via Serial and turns the commands into motor signals.
I have also written a few turorials on uploading the firmware onto an Arduino Board:
- Quick GRBL setup guide for Windows
- GRBL Arduino Library – Use the Arduino IDE to flash GRBL directly to your Arduino
- Version 3.00 (4 Axis)
- Enlarged board to add a 4th Axis that can clone the X,Y or Z axis. With a 4th option to use pin D12-13 to control it.(Setting up the 4th Axis)
- Added a breakout header for all the Axis’s.
- Added a communication header for UART(Serail) and I2C.
- Added the a connector for an optional fuse.(Fuse not supplies as it needs to be selected for the current that will be used.)
- Capacitors are mounted horizontally giving more clearance between them and the stepper drivers. Good for ventilation.
- Added a pull-up resistor on the axis enable pins. This prevents the pin from being in a floating state.
- Added 2 mounting holes
- Version 2.02 (3 Axis)
- Fixed High Voltage label
- Removed Diode D1.
- Reduced the number of Via’s.
- Version 2.01
- Added a 5V Breakout
- Filled in both sides with Ground Copper
- Moved RX/TX pins to the side so that 26-Pin header can be used. Same as the headers on a Raspberry Pi.
- Small Text Changes
- Version 2.00
- First official version of the CNC Shield.
- All pins used by GRBL has been broken out.
This is a work in progress design. All liabilities are on the users at their own risk and they take full responsibility for any harm that might happen to them or their property.
CNC Shield by Protoneer.com is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at info.protoneer.com/1
- Build Your Own CNC Machine - By James Floyd Kelly and P. Hood-Daniel
- CNC Machining Handbook: Building, Programming, and Implementation– By Alan Overby
- Pololu Stepper Motor Drivers - http://www.pololu.com/catalog/category/120
- Pololu FQA covering how to connect stepper motors - http://www.pololu.com/catalog/product/1182/faqs
- GRBL Wiki including upload, setup and running – https://github.com/grbl/grbl/wiki/_pages
- GRBL Supported G-Codes – www.shapeoko.com/wiki/index.php/Grbl