grbl-HAL

I have been testing out grbl-HAL using a Teensy 4.1 board and Phil Barret’s Breakout board as a replacement for grbl-LPC MKS Sbase. link below

With this combination I have been able to stream gcode to my custom laser at roughly 3 times the speed of the grbl-lpc. My test file ran at about 15,000 mm/m on LPC and on HAL I have so far been getting 50,000 mm/m stable. The main factor was being able to increase the block buffer size to 1024 in planner.h

Laserweb initially connects to this board but shortly disconnects. What would be involved in making them compatible?

1 Like

Nice to hear.

The LaserWeb server detects the firmware on connection and closes the connection if no compatible firmware is detected. For grbl, we wait for the welcome string that is sent automatically by the firmware after connection. If grbl-HAL is not sending this string or there is no “Grbl” found in it, we will not recognize it as compatible.

If somebody can tell me what grbl-HAL is sending as welcome string, or if there is no welcome string, how to query the firmware and version, then I can implement that.

Hi @cprezzi,

Sorry to resurrect an old thread but I’m in the same boat as Jonas, attempting to upgrade my machine to GrblHAL.

I dug around and found a few links that could be of help. On GrblHAL’s site, there’s the following documentation:

It sounds like it’s not as straight forward as a simple welcome string anymore, unfortunately.

One project that has GrblHAL communication implemented is ioSender, found here:

If you’ve got the time to look into it, it would be a fantastic feature to have! I’d be happy to help with any hardware testing and debugging as well, for what it’s worth.

I appreciate all the great work you and others have done on Laserweb! Thanks!

Did you try COMPATIBILITY_LEVEL 1?

  • this disables some extensions such as manual tool change support and makes grblHAL report itself as Grbl 1.1... instead of grblHAL 1.1...
    This sould get LaserWeb working at first.
1 Like

It seems like grblHAL has a new realtime command 0x87 for requesting a full report which includes a |FW:grblHAL string. And the new $I+ command will report a line [FIRMWARE:grblHAL]. Unfortunately they only report grblHAL and not the version, but this could be at least a solution for the moment.

1 Like

Hi Claudio,

Thanks for looking at that!

COMPATIBILITY_LEVEL 1 in grblHAL seems to get it up and running, at least with the latest build of LW on my machine. I had a much older build of LW4 installed that didn’t seem to like grblHAL in any configuration.

I emailed the fellow who designed the board in the original link (which is the same board I purchased) with some other related questions, and interestingly he said he was able to get it to connect over Ethernet without compatibility mode. I didn’t opt for the Ethernet option on the board though, so I don’t have that option to test personally.

I’m going to set up a test bench with spare parts today to see if I can get back to parity with my old Arduino controller before I swap it all out. I’ll report back with my findings.

2 Likes

COMPATIBILITY_LEVEL 1 did what I needed. Auto squaring appears to work as expected on the test bench as well. There are a few newer features which compatibility mode restricts which would be nice to have, but I can certainly live without them.

I don’t have a second laser to test with, but I don’t expect any issues arising from that.

Thanks again!