Description
CNC Shield V3 was designed by Protoneer.co.nz, to meet the demand for a low-cost controller solution for small CNC machines. It is designed to be fully compatible with Grbl and Arduino Uno. The CNC Shield can be used to control various types of CNC machines, including CNC milling machines, laser engraving/cutting machines, drafting machines, 3D printers, or any project that requires precise control of stepper motors. It is suitable for use with a stepper motor driver A4988 or DRV8825. The latter allows higher currents compared to the A4988.
CNC Shield V3 Arduino Uno and its features
- Version 3.00
- Adapted to A4988 or DRV8825 stepper motor driver
- 4 axis support (X, Y, Z, A. A axis can duplicate X, Y, Z or be used as 4th axis with custom firmware using D12 and D13 pins)
- 2 x limit switches for each axis (6 switches in total - each pair of switches on the same axis share the same IO pin)
- Enable and direction functions for the spindle
- Enable for coolant
- It uses GRBL as the control software
- Power supply: DC 12-36V (only DRV8825 drivers can handle up to 36V, it is not recommended to exceed 24V when using A4988)
- Stepper motors can be connected with 4-pin dupont/molex connectors
- We use jumpers to set the microstep of the stepper motor driver
Instructions for assembling a working CNC machine
1. First we need to load GRBL firmware on Arduino Uno. Detailed instructions are in the following video.
2. Using the usual precautions to protect against static electricity, insert the CNC Shield into the Arduino Uno, making sure that the correct pins of the CNC Shield are inserted into the correct connectors on the Uno.
3. We select the appropriate setting of the microsteps of the stepper motor and install the appropriate jumpers.
In the tables below, High indicates that a jumper is inserted, Low indicates that no jumper is inserted.
A4988 stepper motor driver configuration:
M0 | M1 | M2 | Microstep resolution |
Low | Low | Low | Full step |
High | Low | Low | 1/2 step |
Low | High | Low | 1/4 step |
High | High | Low | 1/8 step |
High | High | High | 1/16 step |
DRV8825 stepper motor driver configuration:
M0 | M1 | M2 | Microstep resolution |
Low | Low | Low | Full step |
High | Low | Low | 1/2 step |
Low | High | Low | 1/4 step |
High | High | Low | 1/8 step |
Low | Low | High | 1/16 step |
High | Low | High | 1/32 step |
Low | High | High | 1/32 step |
High | High | High | 1/32 step |
4. Insert the stepper motor drivers (A4988 or DRV8825) into the CNC Shield, paying special attention that the Enable (EN) pin on the driver matches the Enable (EN) pin on the CNC shield.
5. Connect the stepper motors to the pins of the CNC shield. Check your stepper motor to make sure the wiring sequence is correct. Different stepper motors have different colored wires, so use the stepper motor spec sheet to determine the sequence.
6. On the website https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/ you can find additional instructions for setting up Slave axis jumpers, limit switch and probe connections and much more…