grblHAL on skr pro 1.2

Hi, does anyone tryied to run grblHAL on SKR pro 1.2 yet ?

According to compatibility list(, it can work with that driver:

Thus, soft TMC2209 UART are not supported yet for that driver but support exists for other board.

I’ve created a feature request for it and i had a positive response of the developper for adding that support soon.
He will not be able to test as he doesn’t own that hardware, but maybe some of us would be please to give it a try…

I’ll let you know when any progress will be made on this.


I am using grblHAL on the Teensy 4.1 platform using Phil Barrett’s breakout board (on Tindie). This works great for auto squaring with independently driven X1, X2, Y1, and Y2 steppers.

1 Like

Yes i saw that board and your big speed up topic, its very interressing but i already own a skr pro with TMC2209 and i wish i could reuse it at no cost.
Right now i only use a Neje laser but i’m not glad with engraving on Marlin(but perfect for cutting), goings and comings engrave more deeper on borders as Marlin doesn’t reduce pwm near movement changes.
I think GRBL doesn’t suffer of that.

External TB6600 would be a huge change on my setup…but i’m curious, are they quiet ? i cannot not support anymore loudy drivers.

Also would you mind to share your my_machine.h and other .h you might adapted for your machine ?

I know nothing on grbl and if by any chance support for skr pro Tmc2209 uart would be added soon i would be quite totally lost on what config to apply before build it for testing.

Marlin does have that, maybe it needs to be enabled again. The laser stuff just got reworked by thinkyhead and gang, so now we need to do another round of testing to see if the changes still work.

1 Like

I have not noticed any loud sounds from the steppers and no sound from the TB6600 drivers themselves. These are cheap drivers, though, and I am sure there are more expensive ones that make stepping quieter.

  my_machine.h - configuration for IMXRT1062 processor (on Teensy 4.x board)

  Part of grblHAL

  Copyright (c) 2020 Terje Io

  Grbl is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  Grbl is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with Grbl.  If not, see <>.

// BOARD_T40X101 and BOARD_T41U5XBB by Phil Barrett:

// NOTE: Only one board may be enabled!
// If none is enabled pin mappings from generic_map.h will be used
//#define BOARD_T40X101
#define BOARD_T41U5XBB
//#define BOARD_T41U5XBB_SS // For a modified T41U5XBB board, allows spindle sync to be enabled.
//#define BOARD_T41BB5X_PRO
//#define BOARD_MY_MACHINE // Add my_machine_map.h before enabling this!

// Configuration
// Uncomment to enable, for some a value > 1 may be assigned, if so the default value is shown.

              Plugin: | ETHERNET� | SDCARD� | KEYPAD | EEPROM | N_AXIS |
BOARD_T40X101         | no        | no      | yes    | yes�   | max 4  |
BOARD_T41U5XBB        | yes       | yes     | yes    | yes�   | max 5  |
BOARD_T41BB5X_PRO     | yes       | yes     | yes    | yes    | max 5  |
BOARD_CNC_BOOSTERPACK | yes�      | yes     | yes    | yes    | max 3  |

� Teensy 4.1 only
� External magjack.
� EEPROM is optional and must be added to the board.

N_AXIS has a default value of 3, edit grbl\config.h to increase.


#define USB_SERIAL_CDC      2 // 1 for Arduino class library and 2 for PJRC C library. Comment out to use UART communication.
//#define USB_SERIAL_WAIT     1 // Wait for USB connection before starting grblHAL.
//#define BLUETOOTH_ENABLE   1 // Set to 1 for HC-05 module. Requires Bluetooth plugin.
//#define SPINDLE_HUANYANG    1 // Set to 1 or 2 for Huanyang VFD spindle. Requires spindle plugin.
//#define QEI_ENABLE          1 // Enable quadrature encoder interfaces. Max value is 1. Requires encoder plugin.
#define ETHERNET_ENABLE     1 // Ethernet streaming. Requires networking plugin.
#define SDCARD_ENABLE       1 // Run gcode programs from SD card, requires sdcard plugin.
#define KEYPAD_ENABLE       1 // I2C keypad for jogging etc., requires keypad plugin.
//#define PLASMA_ENABLE       1 // Plasma/THC plugin. To be completed.
//#define PPI_ENABLE          1 // Laser PPI plugin. To be completed.
//#define ODOMETER_ENABLE     1 // Odometer plugin.
//#define OPENPNP_ENABLE      1 // OpenPNP plugin. To be completed.
#define EEPROM_ENABLE       1 // I2C EEPROM support. Set to 1 for 24LC16(2K), 2 for larger sizes. Requires eeprom plugin.
//#define EEPROM_IS_FRAM      1 // Uncomment when EEPROM is enabled and chip is FRAM, this to remove write delay.
//#define SPINDLE_SYNC_ENABLE 1 // Enable spindle sync support (G33, G76). !! NOTE: Alpha quality - enable only for test or verification.
                                // Currently only available for BOARD_T41BB5X_PRO and BOARD_T41U5XBB_SS.
//#define ESTOP_ENABLE        0 // When enabled only real-time report requests will be executed when the reset pin is asserted.
                                // Note: if left commented out the default setting is determined from COMPATIBILITY_LEVEL.

// If the selected board map supports more than three motors ganging and/or auto-squaring
// of axes can be enabled here.
#define X_GANGED            1
#define X_AUTO_SQUARE       1
#define Y_GANGED            1
#define Y_AUTO_SQUARE       1
//#define Z_GANGED            1
//#define Z_AUTO_SQUARE       1
// For ganged axes the limit switch input (if available) can be configured to act as a max travel limit switch.
// NOTE: If board map already has max limit inputs defined this configuration will be ignored.
//#define X_GANGED_LIM_MAX    1
//#define Y_GANGED_LIM_MAX    1
//#define Z_GANGED_LIM_MAX    1

#define TELNET_ENABLE           1 // Telnet daemon - requires Ethernet streaming enabled.
#define FTP_ENABLE              1 // Ftp daemon - requires SD card enabled.
#define WEBSOCKET_ENABLE        1 // Websocket daemon - requires Ethernet streaming enabled.
#define NETWORK_HOSTNAME        "GRBL"
#define NETWORK_IPMODE          0 // 0 = static, 1 = DHCP, 2 = AutoIP
#define NETWORK_IP              ""
#define NETWORK_GATEWAY         ""
#define NETWORK_MASK            ""
#define NETWORK_TELNET_PORT     23
#define NETWORK_HTTP_PORT       80

Good news thanks

Thank you @stevempotter.

Terjeio of GrblHAL has just added support for TMC2209 uart, that was quick !!

I will try to test it this week. In the meantime if other people, more skilled than me, also want to give it a try do not hesitate :wink: fedeback can be shared here :

An update as grblHAL finally loads well on my board, TMC2209 uart are not working yet but grblHAL on SKR Pro is already a great news !

GrblHAL 1.1f ['
``` or '$HELP' for help]
[MSG:'$H'|'$X' to unlock]
G-code locked out during alarm or jog state.
Target buffer size found

I share a new link related to that board / tmc 2209 drivers :

EDIT: TMC2209 are recognized(M122) and i’m able to move a test motor on X !

I did “my best” last 15 days in testing/reporting grblHAL terjeio’s live modifications for that board but now it’s here i feel like an idiot.
I am a real newbe on grbl, so much to learn to get start(current, step/mm settings…), so any more skilled tester would be more than welcome …

1 Like