Shopping Cart

FREE shipping for the E3 CNC Router in the continental US

Credit Card Badges

Installing the latest Grbl firmware to the E3 CNC router (for advanced users)

Posted by Bob Wood on

In this instruction, we will walk thru the steps we use to install grbl on the controller of the E3 CNC router.

1.Download and install the Arduino IDE.

2. Download and unzip the latest grbl source code

3. Install the “grbl” folder from the unzipped source code into the installed Arduino “library” folder.

Installing the latest Grbl firmware to the E3 CNC router

4. Open the grbl folder and edit the config.h file.

        Remove the 2 forward slashes (//) on this line as shown: 

        #define HOMING_FORCE_SET_ORIGIN // Uncomment to enable.

       Add the 2 forward slashes (//) on this line as shown: 

       //#define VARIABLE_SPINDLE // Default enabled. Comment to disable.

       Save and close the config,h file.

5. Open the grbl folder and edit the defaults.h file for the generic setting.

#ifndef defaults_h


 // Grbl generic default settings. Should work across different machines.

   #define DEFAULT_X_STEPS_PER_MM 80


  #define DEFAULT_Z_STEPS_PER_MM 2267.717

  #define DEFAULT_X_MAX_RATE 10000.0 // mm/min

  #define DEFAULT_Y_MAX_RATE 10000.0 // mm/min

  #define DEFAULT_Z_MAX_RATE 500.0 // mm/min

  #define DEFAULT_X_ACCELERATION (800.0*60*60) // 10*60*60 mm/min^2 =      10 mm/sec^2

#define DEFAULT_Y_ACCELERATION (800.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2

#define DEFAULT_Z_ACCELERATION (300.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2

  #define DEFAULT_X_MAX_TRAVEL 450.0 // mm

  #define DEFAULT_Y_MAX_TRAVEL 390.0 // mm

  #define DEFAULT_Z_MAX_TRAVEL 85.0 // mm

  #define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm

  #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm




  #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)

  #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled


  #define DEFAULT_ARC_TOLERANCE 0.002 // mm

  #define DEFAULT_REPORT_INCHES 1 // false

  #define DEFAULT_INVERT_ST_ENABLE 0 // false

  #define DEFAULT_INVERT_LIMIT_PINS 1 // false

  #define DEFAULT_SOFT_LIMIT_ENABLE 1 // false

  #define DEFAULT_HARD_LIMIT_ENABLE 0  // false

  #define DEFAULT_INVERT_PROBE_PIN 0 // false

  #define DEFAULT_LASER_MODE 0 // false

  #define DEFAULT_HOMING_ENABLE 1  // false

  #define DEFAULT_HOMING_DIR_MASK 3 // move positive dir

  #define DEFAULT_HOMING_FEED_RATE 500.0 // mm/min

  #define DEFAULT_HOMING_SEEK_RATE 8000.0 // mm/min

  #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)

  #define DEFAULT_HOMING_PULLOFF 5.0 // mm

  Save and close the defaults.h file.

6. Open the Arduino IDE and connect your controller.

7. In the tools menu, set the board type to UNO and comm port to your comm port.

8. Load the example program “EEPROM Clear.”

9. Upload the EEPROM Clear to the controller by clicking the right arrow. This will make sure that the EPPROM is clear.

10. Open the grbl.ino file. It is in the …\grbl\examples\grblUpload directory

11. Upload the grbl file by clicking the right arrow. onto the controller.

The firmware should be ready to run!


Older Post