# CNC Shield V3: specs and pinout

> An Arduino Uno-format shield that carries four stepper driver sockets (X, Y, Z and a fourth axis A) wired to the pin layout used by the GRBL g-code…

[HTML version](https://soldr.ai/docs/components/cnc-shield-v3)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

An Arduino Uno-format shield that carries four stepper driver sockets (X, Y, Z and a fourth axis A) wired to the pin layout used by the GRBL g-code firmware. The stepper drivers are separate plug-in modules that you add; the shield takes the motor supply on its own screw terminals.

Every value cites its sourceOfficial pinout

[Buy on Compoden](https://compoden.com/products/cnc-shield-v3-for-arduino-4-axis-stepper-motor-driver-board)

## Specs

| Spec | Value | Source |
|---|---|---|
| Motor supply (shield) | Supports power supplies up to 36 V; that does not mean every driver can run that high | source Assembly Steps, WARNING |
| Driver compatibility | Designed for A4988-compatible StepStick-style stepper drivers; the guide gives microstep jumper tables for A4988 and DRV8825 | source Bill Of Materials; P1 &#x27;Configuring Micro Stepping for Each Axis&#x27; |
| A4988 driver at high supply | A4988 drivers are not designed to run at 36 V and will blow up at that voltage; 36 V suits drivers such as the DRV8825 | source Assembly Steps, WARNING |
| A4988 chip limits (driver chip, not the shield) | Load supply 8 V to 35 V; output up to 2 A | source Features, p.1; Electrical Characteristics, load supply voltage range |
| DRV8825 chip limits (driver chip, not the shield) | Motor supply 8.2 V to 45 V; up to 2.5 A per output with proper heat sinking, at 24 V and 25 C | source Features, p.1; 7.3 Recommended Operating Conditions |
| Axes | Three GRBL axes X, Y, Z plus a fourth driver socket A that can clone X, Y or Z, or run from D12 (step) and D13 (direction) | source 4th Axis Configuration |
| Microstepping | Three jumpers per axis set the microstep mode: A4988 full to 1/16 step; DRV8825 full to 1/32 step | source Configuring Micro Stepping for Each Axis |
| Limit-switch inputs | D9 (X), D10 (Y), D11 (Z), held high with internal pull-ups; GRBL default expects normally-open switches that connect the pin to ground | source End Stop Configuration; comments |
| Heat | Drivers get warm and need cooling for long runs; small heat sinks and extractor fans are advised; some drivers cut out on thermal protection | source First Run, Tips and info |
| Optional fuse | A connector for an optional fuse in the motor supply; no fuse is supplied because it must be chosen for the current used | source Versions, Version 3.00 |

## Power

| | Value | Source |
|---|---|---|
| Supply | Motor supply to the shield&#x27;s screw terminals: up to 36 V for the shield, but limited by the driver you fit (A4988 chip 8 V to 35 V, and the maker warns against 36 V; DRV8825 chip 8.2 V to 45 V). Logic power comes from the Arduino. | source Assembly Steps, WARNING |
| Current | null (depends on motors and driver current setting) | source Assembly Steps, WARNING |

## Pinout

Pin rows are the Arduino pins of the GRBL pin layout figure on Protoneer&#x27;s CNC shield page, which the V3.XX shield uses (see also its V3.XX schematic). Your board may be a clone of the V3 design; differences from the Protoneer board are not verified, and the driver modules (not included in this part) are separate. Driver current is set on each driver module, not on the shield; your driver modules&#x27; sense resistors are not documented here.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| D2 | Step pulse, X axis | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D3 | Step pulse, Y axis | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D4 | Step pulse, Z axis | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D5 | Direction, X axis | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D6 | Direction, Y axis | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D7 | Direction, Z axis | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D8 | Stepper enable/disable | | The shield adds a 10K pull-up on the axis enable pins. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D9 | Limit, X axis | | Input, held high with an internal pull-up; the switch connects the pin to ground. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D10 | Limit, Y axis | | Input, held high with an internal pull-up. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D11 | Limit, Z axis | | Input, held high with an internal pull-up. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D12 | Spindle enable | | Can instead step the fourth axis, with D13 as its direction, using the 4th-axis jumpers. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| D13 | Spindle direction | | Can instead be the fourth axis direction. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| A0 | Reset / Abort | | Input, held high with an internal pull-up. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| A1 | Feed Hold | | Input, held high with an internal pull-up. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| A2 | Cycle Start / Resume | | Input, held high with an internal pull-up. | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| A3 | Coolant Enable | | | source Grbl Pin Layout figure (Arduino pins used by GRBL) |
| A4, A5 | Not used / reserved | | Broken out with the serial pins D0-D1 on a communications header (UART and I2C). | source Grbl Pin Layout figure (Arduino pins used by GRBL) |

## Build with it
Project ideas for the CNC Shield V3. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [Single-axis stepper test rig](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20single-axis%20stepper%20test%20rig%20that%20moves%20a%20NEMA%2017%20motor%20back%20and%20forth%20using%20an%20Arduino%20Uno%2C%20a%20CNC%20shield%20V3%20and%20a%20DRV8825%20driver): The DRV8825 chip allows 2.5 A per output with proper heat sinking; the maker also advises a heat sink and airflow. Read the motor&#x27;s rated current on its label, set the driver&#x27;s current limit at or below it and below the driver limit, and use an adapter rated above the motor current. 12 V is inside the shield&#x27;s 36 V limit and both driver chips&#x27; ranges. Connect the motor before applying power. The adapter ends in a barrel plug and no barrel-to-terminal lead is sold here: connect it to the shield&#x27;s power screw terminal with a barrel-jack-to-terminal adapter you already own, or with the supply&#x27;s bare-wire output if it has one, wired + and - as the supply&#x27;s label shows. The heat sink is not sold with the module here; use one you already own.
- [A small linear slider that homes against a limit switch and then moves to set positions using an Arduino Uno, a CNC shield V3, an A4988 driver and a NEMA 17 motor](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20small%20linear%20slider%20that%20homes%20against%20a%20limit%20switch%20and%20then%20moves%20to%20set%20positions%20using%20an%20Arduino%20Uno%2C%20a%20CNC%20shield%20V3%2C%20an%20A4988%20driver%20and%20a%20NEMA%2017%20motor): The X limit input is D9, held high with a pull-up, so a normally-open switch wired to ground triggers it, as GRBL expects. A4988 chip limits: 8 V to 35 V and 2 A, so use 12 V and set the current limit to the motor label current or below, with a heat sink. Learning project. The adapter ends in a barrel plug and no barrel-to-terminal lead is sold here: connect it to the shield&#x27;s power screw terminal with a barrel-jack-to-terminal adapter you already own, or with the supply&#x27;s bare-wire output if it has one, wired + and - as the supply&#x27;s label shows. The heat sink is not sold with the module here; use one you already own.
- [A jog wheel that moves a stepper motor one step per click using a rotary encoder, an Arduino Uno, a CNC shield V3 and a DRV8825 driver](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20jog%20wheel%20that%20moves%20a%20stepper%20motor%20one%20step%20per%20click%20using%20a%20rotary%20encoder%2C%20an%20Arduino%20Uno%2C%20a%20CNC%20shield%20V3%20and%20a%20DRV8825%20driver): The encoder uses spare Arduino pins; D2 to D8 are taken by the shield&#x27;s step, direction and enable signals, and D9 to D11 are the limit inputs. Keep the motor current at or below the label value and below the driver limit, and do not unplug the motor while the supply is on. The adapter ends in a barrel plug and no barrel-to-terminal lead is sold here: connect it to the shield&#x27;s power screw terminal with a barrel-jack-to-terminal adapter you already own, or with the supply&#x27;s bare-wire output if it has one, wired + and - as the supply&#x27;s label shows. The heat sink is not sold with the module here; use one you already own.

## Common mistakes

- Putting an A4988 on a high supply: the maker states A4988 drivers will blow up at 36 V; keep an A4988 well inside its 8 V to 35 V chip rating, or fit a DRV8825 (source: [link](https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/), WARNING; [link](https://www.allegromicro.com/-/media/files/datasheets/a4988-datasheet.pdf), p.1).
- Powering up with the motor unplugged or the supply polarity reversed: the maker says to test each socket with a stepper motor connected, because the driver ramps current until it reaches the needed level and can be damaged with nothing to draw it, and wrong polarity can damage the shield, drivers and Arduino (source: [link](https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/), First Run).
- No cooling: stepper drivers get warm, and the maker advises small heat sinks and extractor fans for long use; the DRV8825&#x27;s 2.5 A per output is stated only with proper heat sinking (source: [link](https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/), Tips and info; [link](https://www.ti.com/lit/ds/symlink/drv8825.pdf), p.1).

## Not covered by the official source

- The Protoneer pages are no longer reachable directly; the content used is an archived copy of the maker&#x27;s own pages. The V3.XX guide and pin figure are used for a V3-style shield; whether it matches Protoneer&#x27;s exact board revision is not verified.
- No current rating for the shield&#x27;s power terminals or connectors is given in the maker&#x27;s pages.

## Sources

- [link](https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/) (Protoneer, Arduino CNC Shield V3.XX Assembly Guide, 2013; the maker&#x27;s own page, read from an archive.org copy dated 23 Dec 2023)
- [link](https://blog.protoneer.co.nz/arduino-cnc-shield/) (Protoneer, Arduino CNC Shield - 100% GRBL Compatible, including the Grbl Pin Layout figure and versions list; archive.org copy dated 23 Dec 2023)
- [link](https://www.allegromicro.com/-/media/files/datasheets/a4988-datasheet.pdf) (Allegro A4988 datasheet; maker host)
- [link](https://www.ti.com/lit/ds/symlink/drv8825.pdf) (TI DRV8825 datasheet; maker host)
