High Current GRBL CNC Controller (2023)

Table of Contents

Safety Statement

The author of this document is not liable or responsible for any accidents, injuries, equipment damage, loss of money or loss of time resulting from improper use of electrical or mechanical or software products.

Assembling electrical CNC machine components like power supplied, motors, drivers or other electrical components involves dealing with High voltage AC (alternating current) or DC (direct current) which can be extremely dangerous and needs high attention to detail, experience, knowledge of software, electricity and electro-mechanics or mechanics.


1.0 Introduction

This High Current GRBL CNC Controller kit is a modified version of the original GRBL controller. It allows you to use the GRBL system with the High Torque motors to their full potential.

2.0 Bundled Parts List

The table below shows the types and quantity of components in the controller bundle.

Arduino Nano + Terminal Shield1
TB6600 Stepper Motor Driver4
4 Core Shielded Xtension Cable4
2 Core Shielded Xtension Cable3
DC Cable 16 AWG5 (m)
DC ground wire1 (m)
Estop Switch + E-Stop Cable1
Limit Switch Kits with Spade Connectors3
Terminal Block1
MEAN WELL Power Supply 24V 350W1

3.0 Specifications

The specification for the controller and drivers are shown below:

Arduino UNO Compatible Micro Processor

  • 14 digital I/O pins
  • 6 analogue inputs
  • 16 MHz crystal oscillator
  • 5V Logic
  • Flash Memory: 32 KB (0.5KB used by bootloader)
  • SRAM: 2KB
  • Input voltage range: 6-20V

TB6600 Stepper Drivers

  • Overheat, over current and short circuit protection
  • Input anti-reverse protection
  • Supports 8 levels of current control
  • Supports 6 levels of micro step adjustment
  • High-speed optocoupler isolation
  • Large heat sink for effective cooling

4.0 Wiring Guide

Below is the wiring guide for this controller. Please make sure to take care when wiring your components as there is risk of damaging the components when wired in incorrectly.

4.1 Arduino Nano

Insert your Arduino Nano into the terminal shield in the manner depicted below. Take care to insert it in the correct orientation.

Click Image to Expand


4.2 TB6600 Stepper Motor Driver Wiring

4.2.1 TB6600 Stepper Motor Driver to Power Supply Wiring

The wiring of the stepper motor drivers is shown below. The polarity of the input power to the driver must be correct as you risk damaging the drivers and the power supply. Please note that ENA+(+5V) and ENA-(ENA). Must be left blank.

(Video) CNC3D Commander build 292 - Overview - Powerful GRBL CNC control software

The Red wire connects the (V+) terminal of the power supply to (VCC) on the TB6600 stepper motor driver and the black wire connects the (V-) terminal of the power supply to (GND) on the stepper motor driver

Click Image to Expand

4.2.2 TB6600 Looping PUL- and DIR-

The PUL- and DIR- must be looped otherwise the motors will spin in a single direction when running gcode or jogging the machine
This is easily done with the supplied pre-cut lengths of single core wire. Please use the lengths of cable to loop from GND to PUL- and DIR-.

Click Image to Expand

5.2 BM-TB6600-LOOP_bb

4.3 TB6600 Stepper Motor Driver to Arduino Connection

The Step and Direction Pins for the drivers need to be wired in correctly otherwise there will be undesirable results from the motor. Please also have a look at the pinout table below the Schematic

Click Image to Expand


4.4 Pinout Table

For your convenience, the pinouts for the step and direction pins are listed in the table below:

Arduino PinTB6600 PinAxis and Function
GNDGNDCommon Ground
D2PUL+X-axis Step/Pulse
D3PUL+Y-axis Step/Pulse
D4PUL+Z-axis Step/Pulse
D5DIR+X-axis Direction
D6DIR+Y-axis Direction
D7DIR+Z-axis Direction

5.0 Stepper Motor Wiring

5.1 For Lead Screw Transmission Machines:

Your motors must follow a wiring pattern to match the coils. Please note that the below wiring pattern suits our motors. If you are using your own motors, make sure that you adjust the wiring to suit your motors. Our sequence is: Red – Green – Blue – Yellow in coils A+, A-, B+ and B- respectively.

(Video) A New Universal CNC Controller for Grbl_ESP32

Click Image to Expand


5.2 Belt and Pulley Transmission Machines:

Please repeat this step for each axis of the motor. If you are using this controller bundle with a dual Y axis machine that uses motors that move along the Y gantry like the Ox CNC machine, The A axis wiring sequence must be reversed as shown below:

Click Image to Expand


6.0 Limit Switch Kit Wiring

6.1 Limit switch wiring guide

Limit switches are used to home your machine and stop your machine from bumping in the end of the gantry systems. The limit switches can be wired in the normally open or normally closed configuration.

Click Image to Expand


6.2 Limit Switch Pinout Table

AxisArduino Nano PinLimit Switch Pin

7.0 Emergency Stop Switch and Mains Power Supply Wiring

7.1 Wiring

This section of the manual required a licenced electrician or similarly qualified individual due to risk of component damage and electrocution. The Live wire must be put through the emergency stop to stop power when the emergency stop is activated. In this case the Live wire is Brown. Please take care to use the proper wiring specific to your country. The color code shown below is the EU colour code.

Click Image to Expand


(Video) GRBLtoVFD

8.0 Software Installation

8.1 Arduino IDE

Before using the CNC, you will need to install the firmware into the controller. To do this, please follow the steps below in order.

9.1.1. Download the Arduino IDE linked Here. Please take note of the download location. In most cases the default download folder is “Downloads”

9.1.2. Install the IDE by double clicking the file and following the installation process.

9.1.3. You may be required to install CH340 drivers if you are unable to detect the port in the Arduino IDE. Please install the drivers by following this great tutorial here.

8.2 GRBL Firmware

After the arduino IDE installation process has been completed, we can install the GRBL firmware. To do this, please follow the steps below in order:

9.2.1. Download the GRBL firmware from the Github archive Here.

9.2.2 To install the GRBL firmware, please extract the downloaded grbl file named grbl-master. Please locate the file named grbl and copy this file to the Arduino libraries folder. This Arduino IDE folder can be found in Documents\Arduino\libraries.

9.2.3. Before uploading the grbl firmware, we will need to set the firmware up in the software. The correct Microcontroller type and Port must be selected. To choose the microcontroller, please select Tools in the menu select Arduino Nano.

9.2.4. To choose the bootloader type, please select Tools in the menu and select Atmega328P (Old Bootloader).

9.2.5. To choose the port, please select Tools in the menu and select the port that the arduino is connected too. In this example, the port is COM8. Yours may be different.

Click Image to Expand

9.2.5 IDE1

9.2.6. After installing, please open the Arduino IDE program and locate the installed library. Please go to File/Examples/grbl/grblUpload

(Video) CNC3D Commander Updates - Build 261 - Powerful GRBL control software

Click Image to Expand

9.2.6 IDE2

9.2.7. The grbl program will then be shown:

Click Image to Expand

9.2.7 IDE3

9.2.8. Please click the upload button, circled in Red to upload the firmware to the controller. The firmware will then start uploading to the controller. This can take up to a minute. Upon finishing the upload, a message will display that it has uploaded successfully.

Click Image to Expand

9.2.8 IDE4

8.3 Recommended List of Gcode sender

You can use a range of Gcode senders to run your machine and execute the Gcode. Our recommendations are:

  • Universal Gcode Sender
  • SourceRabbit
  • GRBL Panel
  • Candle
  • CNCjs

8.4 GRBL Settings For Lead Screw Machines – Lead CNC, WorkBee, C-Beam Machines

Please edit $130, $131 and $132 to suit your lead screw machine.

SettingParameterParameter Function
$010step pulse, usec
$1255step idle delay, msec
$20step port invert mask:00000000
$30dir port invert mask:00000000
$40step enable invert, bool
$50limit pins invert, bool
$60probe pin invert, bool
$103status report mask:00000011
$110.02junction deviation, mm
$120arc tolerance, mm
$130report inches, bool
$200soft limits, bool
$210hard limits, bool
$220homing cycle, bool
$230homing dir invert mask:00000000
$24180homing feed, mm/min
$251800homing seek, mm/min
$26250homing debounce, msec
$275homing pull-off, mm
$1002000x, step/mm
$1012000y, step/mm
$1022000z, step/mm
$1102000x max rate, mm/min
$1112000y max rate, mm/min
$1122000z max rate, mm/min
$120150x accel, mm/sec
$121150y accel, mm/sec
$122150z accel, mm/sec
$130Machine Specificx max travel, mm
$131Machine Specificy max travel, mm
$132Machine Specificz max travel, mm

8.5 GRBL Settings For Belt Driven Machines – Ox CNC

SettingParameterParameter Function
$010step pulse, usec
$1255step idle delay, msec
$20step port invert mask:00000000
$30dir port invert mask:00000000
$40step enable invert, bool
$50limit pins invert, bool
$60probe pin invert, bool
$103status report mask:00000011
$110.02junction deviation, mm
$120arc tolerance, mm
$130report inches, bool
$200soft limits, bool
$210hard limits, bool
$220homing cycle, bool
$230homing dir invert mask:00000000
$24180homing feed, mm/min
$251800homing seek, mm/min
$26250homing debounce, msec
$275homing pull-off, mm
$10026.67x, step/mm
$10126.67y, step/mm
$102200z, step/mm
$1105500x max rate, mm/min
$1115500y max rate, mm/min
$1122000z max rate, mm/min
$120150x accel, mm/sec
$121150y accel, mm/sec
$122150z accel, mm/sec
$130820x max travel, mm
$131775y max travel, mm
$13270z max travel, mm


High Current GRBL CNC Controller? ›

v1. 1h (2019-08-25) Release.

What is the latest version of GRBL? ›

v1. 1h (2019-08-25) Release.

How many axis can GRBL handle? ›

The controller board itself has a huge number of inputs and outputs to take full advantage of the features found the 6-axis GRBL firmware and the Mach3 interface.

What is the maximum voltage for CNC shield? ›

While the voltages on and around the CNC Shield are low (5V for the Arduino and up to 36V for the CNC Shield and steppers) it is still possible to hurt both yourself and the components if handled incorrectly or without care.

What is the maximum step rate of GRBL? ›

That would be 3000 Steps/mm and 6000 mm/min. 295.9 kHz.

Is GRBL the same as G-code? ›

GRBL supports all standard G-codes but not macros; they have left the macros for the G-code sender on your computer. UGS is one of the best free G-code senders available and works great with GRBL.

What are the versions of GRBL? ›

Major versions of Grbl are 1.1h , 1.1g , etc. Minor versions are designated by the date of the release ( 20190825 was released on August 25th, 2019).

Can GRBL run 4 axis? ›

The 4-Axis CNC Motherboard is compatible with most free GRBL GCode Senders on the internet.

Which CNC controller is best? ›

#1. The BlackBox X32 from Openbuilds (best CNC GRBL controllers) Built by OpenBuilds, the X32 series is the latest avatar of BlackBox CNC control boards, one of the best-performing and top-selling boards in the GRBL category.

What is the tolerance of a 5 axis CNC machine? ›

For CNC machining, the standard tolerance limit is set around +/-. 005” (0.127 mm).

Can I use CNC Shield without GRBL? ›

If we are talking about the CNC shield that attaches on top of an Uno, you can certainly use the CNC shield without grbl. Pin 8 is the stepper enable pin. On the CNC shield, pin 8 is held HIGH so the steppers are disabled by default. So set the pinMode for pin 8 to OUTPUT and set it to LOW to enable the steppers.

How much voltage does an driver shield required? ›

Motor Power Connections

The shield supports a motor voltage range of 4.5 to 25 volts. This power can be shared with the Arduino or used separately. In order to choose between the two, a special jumper labeled PWR is provided near the two-terminal power connector.

How many limit switches does a CNC machine have? ›

A CNC can have one or two limit switches per axis.

How do I increase my GRBL speed? ›

Y Axis Max Speed
  1. Adjust the max speed in the Y direction by starting with the value you found for the X axis. ...
  2. Jog the machine to the forward most position of the allowable travel using the keyboard or jog buttons under the ”Machine Control” tab.

What is the default acceleration for GRBL? ›

The default Value should be 30 mm/sec/sec often expressed as mm/sec2, they both mean the same. If you imagine cutting a straight line starting from rest Grbl uses the acceleration values to control the increase in speed of the spindle up to the desired feed rate and to slow down towards the end of the line.

What is soft limit in GRBL? ›

Soft limits are with respect to the Machine Coordinates. When GRBL starts it thinks it's at Machine Coordinates 0,0,0, so if you manually move your router to where you want 0,0,0 to be and then restart GRBL you're kinda faking homing.

What is the $3 setting on GRBL? ›

Grbl Settings
$1Step idle delay, milliseconds
$2Step port invert, XYZmask
$3Direction port invert, XYZmask
The direction each axis moves.
32 more rows
Jan 5, 2022

Is GRBL still being developed? ›

GRBL is still one of the most popular movement controller firmware available. Many hobbyists use it in combination with a CNC controller to create their CNC machines. To this day, GRBL remains open-source and free.

What is the G10 command in GRBL? ›

The G10 command is used to tell the machine the distance to the work datum position from the machine datum.

What does GRBL stand for? ›

GRBL stands for Garble

Suggest new definition. This definition appears frequently and is found in the following Acronym Finder categories: Science, medicine, engineering, etc.

Can GRBL be used for 3D printer? ›

Most MakerBots and open source 3D printers have Grbl in their hearts. It has been adapted for use in hundreds of projects including laser cutters, automatic hand writers, hole drillers, graffiti painters and oddball drawing machines.

What is G54 GRBL? ›

The G54 command tells the CNC machine where your part is located. To put it differently, the G54 code sets the work offset zero location currently used in the CNC program.

Is there a 7 axis CNC machine? ›

Due to the ability of a 7-axis CNC machine to mill while turning the part within the frame, you can produce extraordinarily complex shapes and features. A 7-axis CNC machine is especially useful in the aerospace and military industries.

What voltage should a grbl stepper be? ›

These drivers, are suitable for 8.2V~45V stepper motors.

What are the limitations of 3-axis CNC? ›

3-axis mills are commonly used to drill and tap holes, but only along the Z-axis. That's because the spindle moves up and down and cannot enter the workpiece from the side. This is a limitation for many parts that need holes or pockets machined on multiple faces, which the 3-axis machine cannot normally access.

What software do CNC programmers use? ›

Among the best CNC software packages for CNC machines are Aspire, Fusion 360®, and TurboCNC.

What is the most common CNC controller? ›

Probably the most common CNC Control is Fanuc. Like it or love it, it's the one we all know.

Is CNC faster than manual? ›

Computer operation makes CNC machining a more reliable and fast method than manual machining. In short, CNC machining is more accurate, and it takes less time for manufacturing.

Is there a 6-axis CNC machine? ›

6-Axis CNC Machine

The extra axis allows the tool to have more movement and transitions at higher speeds without sacrificing accuracy. A 6-axis machine is ideal for volume machining steel, aluminum, and cast iron. It is powerful enough to convert the raw metal into the final product without additional equipment.

What is the highest CNC tolerance? ›

A standard tolerance for a CNC machining service is typically ± 0.005”. The tightest machining tolerances possible are in the range of ±0.001”, roughly the width of a human hair.

What is the advantage of a 5-axis CNC machine? ›

The major (and most well-known) advantage of five-axis machining is ability to machine complex shapes. The additional movement creates machining angles and arcs that were only previously possible with a multitude of special fixtures or additional setups.

Is GRBL a post processor? ›

The Grbl post processor can be downloaded from the Fusion 360 post processor library (accessible at this link).

Does GRBL support G81? ›

Gcode G81 works great with grbl/bCNC #290.

How do I enable laser mode in GRBL? ›

Enabling or disabling Grbl's laser mode is easy. Just alter the $32 Grbl setting. To Enable: Send Grbl a $32=1 command. To Disable: Send Grbl a $32=0 command.

What is the volt danger range? ›

In industry, 30 volts is generally considered to be a conservative threshold value for dangerous voltage. The cautious person should regard any voltage above 30 volts as threatening, not relying on normal body resistance for protection against shock.

What is the maximum current of L293D shield? ›

The L293D is quadruple high-current half-H drivers.It is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36 V.

What is maximum voltage safe for work? ›

However, OSHA considers all voltages of 50 volts or above to be hazardous. Electric current, not voltage, passing through the human body causes injury, and the amount of current passing through an object depends on the resistance of the object.

What is the difference between limit switch and homing switch? ›

The limit switch indicates the physical end of an axis of the machine and a position that should not normally be reached of course. The position of the home switch can actually be anywhere, however, normally this is positioned at almost the end of an axis.

What are the 4 different types of limit switches? ›

– There are 4 general types of limit switches: whisker, roller, lever, and plunger.

What is a homing switch on CNC? ›

The home position on a CNC machine is a static, repeatable position. For true homing to work, the machine needs to have a set of switches on each axis that can be triggered by an object that does not move (such as an end plate or side plate of the frame).

What is the homing setting for GRBL? ›

To set up the homing cycle for Grbl, you need to have limit switches in a fixed position that won't get bumped or moved, or else your reference point gets messed up. Usually they are setup in the farthest point in +x, +y, +z of each axes.

What is the baud rate for GRBL? ›

Grbl Firmware communicates with host interface or gui with a fixed (115200 v1. 1) baud rate. Any Bluetooth module you are using must use the same baud rate as the Grbl Firmware. Most of the Bluetooth modules ships with a default baud rate of 9600.

What is the M4 command in GRBL? ›

The second is a feature called variable power mode, or the M4 command. In this mode, Grbl adjusts the laser power as the machine speeds up and slows down, making for very consistent cutting and marking.

What is the Grbl Gcode for homing? ›

The G28 G-code command brings your machine's axes to their true zero position or home.

How do I calibrate my Grbl? ›

  1. Record the current GRBL settings.
  2. Tune one axis at a time.
  3. Set the dial indicator parallel to the axis you are tuning.
  4. Zero the dial test indicator.
  5. Zero the axis on the machine controller.
  6. Jog the machine 1 inch. ...
  7. Read the dial indicator to determine the actual travel of the machine.

What are the system requirements for Grbl software? ›

PC based 4-Axis CNC control system for CNC Mills, Routers, Lasers and Plasma Cutters running with GRBL control boards
  • Hardware Requirements. CPU. 1GHz (32bit or 64bit) RAM. 1024Mb. ...
  • Operating System Requirements. Windows. 7,8,10,11. MacOS. High Sierra or newer. ...
  • Firmware Compatibility. GRBL v1.1 for Arduino. Yes. GRBL_ESP32. Yes.

What is the difference between hard limit and soft limit? ›

Hard and soft ulimit settings

The hard limit is the maximum value that is allowed for the soft limit. Any changes to the hard limit require root access. The soft limit is the value that Linux uses to limit the system resources for running processes. The soft limit cannot be greater than the hard limit.

What are your hard limits? ›

A hard limit is something you absolutely will not do, under any circumstance. A soft limit is something you are not usually interested in but would be willing to try in the right circumstance.

How do I check my GRBL version? ›

You can check if your firmware has been correctly installed by going to Tools > Serial Monitor. This will open a window to show the console output of the Arduino. If your output looks garbled, make sure to set your baud rate to 115200. As you can see, the output shows the firmware version and build date.

How do I update GRBL firmware on CNC 3018 Pro? ›

Just go to Flash section, change to Write, set Format to Auto (writing only). Download the latest GRBL precompiled HEX file (1.1h at the time of writing this). Select it in AVRDUDESS at Flash section and click Go. The new firmware will be flashed to board, and it will reset.

What is $3 setting in GRBL? ›

$3 – Direction port invert, mask

This setting inverts the direction signal for each axis. By default, Grbl assumes that the axes move in a positive direction when the direction pin signal is low, and a negative direction when the pin is high. Often, axes don't move this way with some machines.

What is GRBL firmware? ›

What is GRBL? GRBL is an open source software or firmware which enables motion control for CNC machines. We can easily install the GRBL firmware to an Arduino and so we instantly get a low cost, high performance CNC controller. The GRBL uses G-code as input, and outputs motion control via the Arduino .

Can I use Fusion 360 with GRBL? ›

Fusion 360 to Grbl

The Arduino receives these instructions line by line via USB from a g-code sender. The g-code sender also serves as the human machine interface (HMI) and runs on a laptop, computer, or Raspberry Pi. Fusion 360 generates the g-code, which you can then load into the g-code sender.

Can I use GRBL for 3D printing? ›

Most MakerBots and open source 3D printers have Grbl in their hearts. It has been adapted for use in hundreds of projects including laser cutters, automatic hand writers, hole drillers, graffiti painters and oddball drawing machines.

What is G54 G55 G56? ›

G54, G55, G56, and G57 each establish a new active coordinate system that subsequent g-code uses to determine current position (or current extruder position if working with a 3D printer).

What does g53 mean in G-code? ›

This code temporarily cancels work coordinate offsets and uses the machine coordinate system. This code will also ignore tool offsets.

What does G56 mean in G-code? ›

work coordinate system 3 select

How to install GRBL mega? ›

The simplest way is by using the USB port and the Arduino IDE.
  1. Install the Arduino IDE. ...
  2. Remove any existing Grbl installation. ...
  3. Download Grbl 1.1. ...
  4. Unzip Grbl. ...
  5. Add the grbl folder as a zip library. ...
  6. Open the grblUpload sketch. ...
  7. Connect the Arduino to your PC. ...
  8. Back up older Grbl settings.
May 9, 2022

How do you calibrate a GRBL controller? ›

  1. Record the current GRBL settings.
  2. Tune one axis at a time.
  3. Set the dial indicator parallel to the axis you are tuning.
  4. Zero the dial test indicator.
  5. Zero the axis on the machine controller.
  6. Jog the machine 1 inch. ...
  7. Read the dial indicator to determine the actual travel of the machine.

What does GRBL reset do? ›

If reset while in motion, Grbl will throw an alarm to indicate position may be lost from the motion halt. If reset while in not motion, position is retained and re-homing is not required.


1. 3018 PRO - Control Boards
(James Dean Designs)
2. CNC3D Commander Updates - Build 283 - Powerful yet simple GRBL and xPROV5 control software
3. GRBL Spindle Speed Control (C-Beam DIY CNC w/ GRBL MEGA)
(ChrisViral Vlogs)
4. Testing the FoxAlien Offline GRBL Controller for my Masuter Pro CNC Machine!
5. FluidNC // Beginner tutorial // ESP32 GRBL
(NEWTech Creative)
6. Arduino GRBL setup with High Power Stepper Motor Drivers
Top Articles
Latest Posts
Article information

Author: Moshe Kshlerin

Last Updated: 21/06/2023

Views: 6578

Rating: 4.7 / 5 (77 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Moshe Kshlerin

Birthday: 1994-01-25

Address: Suite 609 315 Lupita Unions, Ronnieburgh, MI 62697

Phone: +2424755286529

Job: District Education Designer

Hobby: Yoga, Gunsmithing, Singing, 3D printing, Nordic skating, Soapmaking, Juggling

Introduction: My name is Moshe Kshlerin, I am a gleaming, attractive, outstanding, pleasant, delightful, outstanding, famous person who loves writing and wants to share my knowledge and understanding with you.