

GRBL board
This is a PCB designed to run GRBL, an open source CNC control software that is designed and optimised for Arduino.
- Size
- 138.4 × 138.3 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 287
- Nets
- 310
- Pads
- 1,069
- Tracks, vias
- 2,489, 175
- Pours
- 7
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 25 Oct 2021
- Updated
- 23 Jan 2022
Overview
GRBL board is an open-source printed circuit board by ephemeridis, from the ephemeridis/GRBL_board repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 138.4 × 138.3 mm with 287 parts on 310 nets, routed with 2,489 tracks and 175 vias.
It is built around the ATMEGA2560-16AU, ATMEGA328P-AU and TMC5160SILENTSTEPSTICK, with the LMV358, OPA2192ID and FT231XS-R among its other parts. Its parts include 89 resistors, 59 capacitors, 53 diodes, 32 ICs and 21 connectors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
12ATMEGA2560-16AU
TQFP-100(14x14)-40℃~+85℃ 10bit 16MHz 256KB 4.5V~5.5V 4KB 8 Bit 86 8KB AVR Built-in FLASH TQFP-100(14x14) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)ATMEGA328P-AU
TQFP-32(7x7)-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 23 2KB 32KB 8 Bit AVR Built-in FLASH TQFP-32(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)TMC5160SILENTSTEPSTICK
-Power Management - Modules ROHSTRINAMIC Motion Control GmbHModulesLMV358
SOP-8-40℃~+125℃ 10pA 10pA 1MHz 2 2.5V~5.5V 20mA 20nV/√Hz@10kHz 2uV/℃ 40uA 5mV 600V/ms 65dB EMI filtering/RF suppression Rail-to-Rail Input, Rail-to-Rail Output SOP-8 Operational Amplifier ROHSTECH PUBLICOperational AmplifierOPA2192ID
SOIC-8-18V~-2.25V、2.25V~18V -40℃~+125℃ 10MHz 140dB 1mA 2 200nV/℃ 20V/us 2pA 4.5V~36V 5.5nV/√Hz@1kHz 5pA 5uV 65mA EMI filtering/RF suppression、Zero drift / auto-zero Rail-to-Rail Input, Rail-to-Rail Output SOIC-8 Precision Op Amps ROHSTexas InstrumentsPrecision Op AmpsFT231XS-R
SSOP-20-150mil-40℃~+85℃ 125uA 5V 8.4mA USB 2.0 USB to UART SSOP-20-150mil USB Converters ROHSFTDIUSB Converters74LS153DC
PDIP-160℃~+70℃ 14ns 4.75V~5.25V 400uA 400uA 6.2mA 74LS Single Supply Tri-state output PDIP-16 Signal Switches, Multiplexers, Decoders ROHSTexas InstrumentsSignal Switches, Multiplexers, DecodersL7805
TO-220ST0℃~+125℃@(Tj) 1 1.2A 20V 2V@(1A) 42uV 500uA 5V 73dB@(120Hz) Fixed Positive Short Circuit Protection TO-220ST Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSOSENVoltage Regulators - Linear, Low Drop Out (LDO) Regulators74LS155PC
PDIP-160℃~+70℃ 35ns@5V,50pF 4.75V~5.25V 400uA 6.1mA 74LS 8mA Decoder Reverse function Single Supply PDIP-16 Signal Switches, Multiplexers, Decoders ROHSTexas InstrumentsSignal Switches, Multiplexers, DecodersB360
SMC(DO-214AB)-55℃~+150℃ 1 Independent 100A 3A 500uA@60V 60V 700mV@3A SMC(DO-214AB) Schottky Diodes ROHSDiodes IncorporatedSchottky DiodesBZX84C5V6
SOT-231 Independent 1uA 300mW 400Ω 40Ω 5.2V~6V 5.6V SOT-23 Zener Diodes ROHSJiangsu Changjing Electronics Technology (CJ)Zener DiodesBSS127S
SOT-23-55℃~+150℃ 1 N-channel 1.08nC@10V 1.25W 160Ω@10V 21.8pF 4.5V 600V 70mA N-Channel SOT-23 MOSFETs ROHSDiodes IncorporatedMOSFETs
README
README.mdGRBL_board
Introduction
This is a PCB designed to run GRBL, an open source CNC control software that is designed and optimised for Arduino. This board uses GRBL-Mega, which is a version of GRBL that can run on the ATMEGA-2560, used in the Arduino Mega. This implementation allows GRBL to have a larger buffer size, since the ATMEGA-328P that GRBL was originally designed for has severe memory limitations.
This board design incorporates several additional features, such as:
- Designed for SPI configured Trinamic stepper drivers such as the TMC5160, TMC2130, etc.
- Ability to change the mirrored axis (X, Y or Z) via software (supports software configurable gantry levelling)
- All inputs and limit switch inputs wired with optocouplers, designed for normally open switches
- Onboard 12V 2A regulator, accepting 20-32VDC input
- Speed control for industrial VFDs, with a standard 4-20mA current loop for spindle speed control
- Sink logic for spindle control
- Possible sensorless homing using Trinamic drivers (not ideal since it only emulates a limit switch)
The goal is to accomplish this with minimal editing of the GRBL code, thus to do so an additional ATMEGA-328P is added on the board to enable the additional features.
Connections
This board is designed with the aim of being as compatible as possible with the default GRBL, and as such, the pins are wired to follow the default GRBL-Mega pinout, as shown.

Trinamic Drivers
Trinamic stepper motor drivers are exceptional in terms of performance and efficiency, incorporating advanced features that enable steppers to run cooler and with near silent operation.
However, the tricky bit is that they are not a plug an play solution unlike other stepper drivers like the DRV8825 or the A4988 drivers. The drivers haveto be configured whenever they are powered up. To accomplish this, the separate ATMEGA-328P is used to communicate with the drivers via SPI in order to configure them.
Mirrored Axis
Most CNC configurations include one axis which has dual stepper drive. GRBL has limited support for axis mirroring, and usually sacrifices some pins, such as spindle speed control. Thus, via the use of multiplexer ICs and the separate ATMEGA-328P, code can be uploaded to the ATMEGA-328P in order to specify which axis to mirror and whether to do gantry levelling for that axis.
To accomplish gantry levelling, the ATMEGA-328P will check the two limit switches on the mirrored axis, and if only one switch is triggered, the corresponding stepper's STEP pin will be held low, preventing it from moving until both switches are triggered. Once both limit switches are triggered, the limit switch signal will be sent to the GRBL controller running on the ATMEGA-2560.
Inputs
Previously, I had an extremely bad experience with EMI on the limit switch lines when building a CNC, thus I decided to include an optocoupler on each input of the CNC controller. Although the switches are still normally open, the optocoupler requires current to drive the LED and thus it is nearly impossible for EMI to trigger the optocoupler. This should make the CNC much more robust against EMI, and it is possible to change the switches to normally closed by modifying GRBL.
Parts
287| Qty | Value | Footprint | References |
|---|---|---|---|
| 33 | B360 | Diode_SMD:D_SMA_Handsoldering | D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25 +17 |
| 25 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C3, C10, C11, C12, C13, C14, C20, C21, C27, C38, C40, C41, C42, C46, C47, C48 +9 |
| 15 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R11, R13, R15, R19, R21, R49, R56, R74, R81, R82, R85, R86, R87, R90, R91 |
| 15 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R33, R34, R35, R36, R37, R42, R43, R44, R45, R51, R52, R53, R54, R57, R60 |
| 14 | 270 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R4, R7, R8, R9, R10, R22, R24, R27, R46, R47, R48, R61, R75, R78 |
| 12 | 1k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R28, R29, R30, R31, R32, R38, R39, R40, R41, R83, R84, R89 |
| 12 | 6N137 | Package_DIP:DIP-8_W7.62mm_Socket | U10, U11, U12, U13, U14, U15, U16, U17, U18, U19, U20, U21 |
| 9 | 100 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R5, R6, R69, R70, R76, R77, R79, R80, R88 |
| 9 | LED | LED_SMD:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolder | D1, D2, D3, D4, D5, D7, D46, D49, D50 |
| 6 | 4.7u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C29, C30, C31, C32, C49 |
| 6 | BZX84C5V6 | Diode_SMD:D_SOT-23_ANK | D9, D43, D44, D51, D52, D53 |
| 5 | BSS127S | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q5, Q6, Q7 |
| 4 | 100u | Capacitor_SMD:CP_Elec_8x10 | C33, C34, C35, C36 |
| 4 | 10u | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C15, C18, C25, C37 |
| 4 | 20p | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C6, C7, C50, C51 |
| 4 | 27 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2, R72, R73 |
| 4 | 47p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C2, C4, C53, C55 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 4 | TMC5160_SILENTSTEPSTICK | grbl_board:TMC5160_SILENTSTEPSTICK | U6, U7, U8, U9 |
| 3 | 2.2k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R16, R25, R58 |
| 3 | 33u | Inductor_SMD:L_Vishay_IHLP-4040 | L3, L4, L5 |
| 3 | 47k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R14, R20, R55 |
| 3 | 6.8n | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C19, C26, C39 |
| 3 | BD9G341EFJ | Package_SO:HTSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.4x3.2mm_ThermalVias | U3, U5, U22 |
| 3 | SS2150-LTP | Diode_SMD:D_SMA_Handsoldering | D6, D8, D45 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12, R18 |
| 2 | 100u | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C23, C43 |
| 2 | 10u | Inductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolder | L1, L6 |
| 2 | 12k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R23, R62 |
| 2 | 16M | Crystal:Crystal_SMD_SeikoEpson_TSX3225-4Pin_3.2x2.5mm_HandSoldering | Y1, Y2 |
| 2 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D47, D48 |
| 2 | 1u | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C22, C28 |
| 2 | 200 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R17, R59 |
| 2 | 220p | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C44, C45 |
| 2 | 24k | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R66, R67 |
| 2 | 2A | Fuse:Fuse_Bourns_MF-RHT200 | F1, F3 |
| 2 | 30k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R64, R65 |
| 2 | 470u | Capacitor_THT:CP_Radial_D12.5mm_P5.00mm | C16, C17 |
| 2 | 74LS153 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U31, U32 |
| 2 | FT231XS | Package_SO:SSOP-20_3.9x8.7mm_P0.635mm | U1, U27 |
| 2 | Ferrite_Bead | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | FB1, FB2 |
| 2 | ICSP | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J4, J21 |
| 2 | L7805 | Package_TO_SOT_SMD:TO-263-2 | U4, U26 |
| 2 | LMV358 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U23, U24 |
| 2 | SW_Push | Button_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mm | SW1, SW2 |
| 2 | SolderJumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2 |
| 2 | USB_B | grbl_board:USB_B_OST_USB-B1HSxx_Horizontal | J3, J20 |
| 1 | 10n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C24 |
| 1 | 12VDC | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J2 |
| 1 | 13u | Inductor_SMD:L_Wuerth_HCI-1365 | L2 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R3 |
| 1 | 22 | Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder | R71 |
| 1 | 24VDC | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J22 |
| 1 | 24V_VFD | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J17 |
| 1 | 250 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R68 |
| 1 | 300mA | Fuse:Fuse_1812_4532Metric_Castellated | F2 |
| 1 | 3k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R63 |
| 1 | 40106 | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U28 |
| 1 | 74LS155 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U29 |
| 1 | ATmega2560-16AU | Package_QFP:TQFP-100_14x14mm_P0.5mm | U2 |
| 1 | ATmega328P-AU | Package_QFP:TQFP-32_7x7mm_P0.8mm | U30 |
| 1 | BRAKE | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J23 |
| 1 | COOL | Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.81_1x03_P3.81mm_Horizontal | J1 |
| 1 | DOOR | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J10 |
| 1 | E_STEPPER | Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_Horizontal | J9 |
| 1 | INP | Connector_Phoenix_MC:PhoenixContact_MC_1,5_6-G-3.81_1x06_P3.81mm_Horizontal | J12 |
| 1 | IRF9Z24SPBF | Package_TO_SOT_SMD:TO-263-3_TabPin2 | Q4 |
| 1 | LIM_E | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J16 |
| 1 | LIM_X | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J13 |
| 1 | LIM_Y | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J14 |
| 1 | LIM_Z | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J15 |
| 1 | LT5400_10k | Package_SO:TSSOP-8_3x3mm_P0.65mm | RN1 |
| 1 | OPA2192 | Package_SO:TSSOP-8_3x3mm_P0.65mm | U25 |
| 1 | PROBE | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J11 |
| 1 | SSM3K361R,LF | Package_TO_SOT_SMD:SOT-23 | Q8 |
| 1 | Screw_Terminal_01x04 | Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_Horizontal | J5 |
| 1 | Spindle | Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.81_1x02_P3.81mm_Horizontal | J18 |
| 1 | X_STEPPER | Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_Horizontal | J6 |
| 1 | Y_STEPPER | Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_Horizontal | J7 |
| 1 | ZVN4306GTA | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | Q3 |
The 284 most common of 287 parts.
Similar boards
- 4 layers

- 2 layers319 × 232 mm

- 4 layers182.5 × 62 mm

- 2 layers104 × 62 mm

- 4 layers100 × 176.5 mm

Elevation Pivot Daughter Board
mauro-starspec/Elevation_Pivot_Daughter-Board
KiCad 9 daughter board for the Starspec elevation/pivot controller.
263 parts - 2 layers37 × 29 mm

B115 4x PoE PSE 13W TPS23861
skunkforce/b115_4x_PoE_PSE_13W_TPS23861
to pull the submodules before opening the project with kicad.
39 partsMIT - 4 layers250 × 150 mm

- 2 layers65 × 56.5 mm

DigitSynth
RTES-Group/DigitSynth
A real-time audio effects processor built on Raspberry Pi — apply filters and effects to live audio using MIDI control messages.
56 parts8MIT
Questions
How big is the GRBL board PCB?
It measures 138.4 × 138.3 mm and has 4 copper layers, 1.6 mm thick.
What parts does the GRBL board use?
287 parts, built around the ATMEGA2560-16AU, ATMEGA328P-AU, TMC5160SILENTSTEPSTICK and LMV358. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the GRBL board KiCad files?
From the ephemeridis/GRBL_board repository on GitHub, at the commit this page was made from: the board is grbl_board/grbl_board.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the GRBL board design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).